Как сбросить ПЗУ контроллера Intel SATA?

Я недавно пытался установить Windows Vista в режиме AHCI. Я подозреваю, что это приключение каким-то образом привело к неработоспособности встроенного контроллера Intel SATA в режиме AHCI. Я начал с чистого (заполненного нулями) жесткого диска SATA и включил AHCI для контроллера Intel в настройках системы BIOS. Я разделил жесткий диск в настройках Windows Vista, используя Diskpart.

Я пытался установить его на логический раздел (т. Е. Логический диск, логический том) следующим образом.

  • 500 МБ Основной, активный
  • 40000 МБ, расширенный
  • 40000 МБ логический

Но Windows отказалась принять этот раздел. Это запустится, а затем остановится и вернет сообщение об ошибке.

Windows не может определить, содержит ли этот компьютер допустимый системный том.

Это было достаточно, чтобы я мог нажать Далее, чтобы начать установку. Но это было недостаточно хорошо, очевидно. После некоторых поисков в Интернете я узнал, что это связано с порядком загрузки загрузочного устройства BIOS и неспособностью программы установки Windows Vista правильно выполнить установку с флэш-накопителя USB. Для установки я использовал USB-флешку, созданную с помощью Windows 7 USB/DVD Download Tool.

Поэтому я изменил порядок загрузки в BIOS следующим образом.

Device boot order from...

Floppy
Hard disk
CD-ROM

To...

Hard disk
Disabled
USB-HDD

And hard disk boot priority from...

Seagate disk
Seagate disk
Kingston USB
WD disk
WD disk
Bootable add-in card

To...

Seagate disk
Seagate disk
WD disk
WD disk
Bootable add-in card
Kingston USB

Вернувшись в настройки Windows Vista, я использовал Diskpart для очистки жесткого диска. Тогда я решил дать первичному разделу больше места, просто для хорошей меры. Итак, у меня были следующие разделы.

  • 1000 МБ Основной, активный
  • 40000 МБ, расширенный
  • 40000 МБ логический

Установка началась в логическом разделе. Поэтому я ушла от компьютера, думая, что теперь все в порядке. Но когда я вернулся, он остановился с еще одной ошибкой.

Windows не может скопировать файлы, необходимые для установки. Убедитесь, что все файлы, необходимые для установки, доступны, и перезапустите установку. Код ошибки: 0x80070070

Я дал ему еще одну попытку. Я снова использовал Diskpart для очистки диска. Затем я увеличил размер основного раздела следующим образом.

  • 4000 МБ Основной, активный
  • 40000 МБ, расширенный
  • 40000 МБ логический

Затем я снова начал установку. На этот раз я не обнаружил никаких ошибок. Он прошел все этапы: копирование файлов, расширение файлов, установка функций, установка обновлений, завершение установки. Затем компьютер перезагрузился, а затем остановился сразу после следующей строки.

Serial ATA AHCI BIOS, Version iSrc 1.20E
Copyright (c) 2003-2008 Intel Corporation
** This version supports only Hard Disk and CDROM drives **
Please wait. This will take few seconds.

Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
_

Я подозреваю, что при установке Windows Vista возникла первая ошибка во время установки, потому что она не смогла установить на жесткий диск в режиме AHCI, после чего он каким-то образом сбросил настройку AHCI, а затем я смог установить его второй раз без ошибок. потому что мой BIOS был восстановлен в режиме IDE.

Нажатие кнопки сброса на компьютере сделал его мгновенно выключенным! Затем я снова включаю питание, прошёл мимо экрана POST и снова остановился на той же строке. Нажатие Ctrl+Alt+Del для перезагрузки, а затем клавиша DEL для входа в настройки BIOS не выводят меня на экран настройки. Он застрял на одной линии, и я не могу пройти мимо.

Теперь я сделал все обычные шаги по очистке CMOS. Единственный способ обойти этот экран - очистить CMOS, используя перемычки на материнской плате. Это потому, что я не могу войти в настройки BIOS для загрузки настроек по умолчанию. Кроме того, когда режим SATA был отключен (IDE), я смог пройти через экран BIOS AHCI и фактически вернуться к установке Windows Vista. Установка даже завершена. Но если я вернусь к настройке BIOS и снова включу AHCI, он снова остановится на той же строке.

Еще один способ обойти экран AHCI BIOS и установить линию, в которой он застревает, - отключить жесткий диск от порта SATA. Но тогда, конечно, я не могу ничего загрузить. Я имею в виду, что если я оставлю режим SATA отключенным (IDE), я смогу по крайней мере загрузить Windows Vista.

Я попытался подключить жесткий диск к другому порту, а также отключил все другие жесткие диски. Я тестировал каждый порт, один за другим, от 0 до 5. На самом деле возникает интересный паттерн, где появляется строка "устройства не найдены" для каждого из ранее отсканированных портов SATA (начиная с текущего подключенного порта).

С HDD на порте SATA 0...

Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
_

С жесткого диска на порт SATA 1...

Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
  Port-00: No device detected

С жесткого диска на порт SATA 2...

Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
  Port-00: No device detected
  Port-01: No device detected

С жесткого диска на порт SATA 3...

Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
  Port-00: No device detected
  Port-01: No device detected
  Port-02: No device detected

С жесткого диска на порт SATA 4...

Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
  Port-00: No device detected
  Port-01: No device detected
  Port-02: No device detected
  Port-03: No device detected

С жесткого диска на порт SATA 5...

Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices
  Port-00: No device detected
  Port-01: No device detected
  Port-02: No device detected
  Port-03: No device detected
  Port-04: No device detected

Как вы можете сказать, он останавливается на сканируемом в данный момент порту. Тогда, если я отсоединяю HDD, я получаю эту забавную ошибку.

Controller Bus#00, Device#1F, Function#02: 06 Ports
  No device found
  AHCI BIOS not installed

BIOS AHCI не установлен

Я говорю смешно, потому что в первой строке четко указано, что я использую "Serial ATA AHCI BIOS, версия iSrc 1.20E". Но сканирование устройства по какой-то причине не удается. Возможно, именно поэтому я вижу ошибку "BIOS AHCI не установлен"? Я прочитал дюжину веб-страниц об этом типе ошибки и не нашел ничего убедительного в этом. Некоторые говорят, что это нормально. Но, во-первых, я знаю, что на одной из моих других материнских плат написано "BIOS AHCI установлен", и она тоже использует Award BIOS.

Я уверен, что есть причина для распечатки "BIOS AHCI не установлен". Вероятно, это не то, что программист BIOS считал забавной практической шуткой, заставляющей пользователя думать, что с системой что-то не так, пока она работает нормально (т.е. сообщение "нормальное"). Это, вероятно, нечто большее, чем большинство из нас заботится знать, потому что это требует много времени для изучения и уровня знаний, которыми не обладают обычные пользователи. С другой стороны, производители BIOS и разработчики плат не заботятся о том, чтобы поддерживать старую прошивку BIOS более 2 или 3 лет (иногда это меньше, чем срок гарантии самых дорогих плат). Вместо этого они переходят к "следующей большой вещи" и ожидают, что вы будете покупать новое оборудование каждый новый год.

Это же сообщение (BIOS AHCI не установлен) появляется, если я подключаю жесткий диск к контроллеру SATA Gigabyte. Я прошел этот экран, хотя. Но это только потому, что контроллер Gigabyte SATA установлен в режим IDE и загружается Windows Vista.

Есть ли способ сбросить или заново прошить только ПЗУ контроллера SATA? Помимо основной системы BIOS? Что такое "AHCI BIOS"? Это как расширение BIOS? И входит ли это в основной системный код BIOS? Он хранится в той же флеш-микросхеме?

Кроме того, что вы думаете об этом и каков ваш опыт с такими проблемами?

Скриншоты


Обновление 1


Я проверил драйверы и pciide.sys был включен, как и msahci.sys. Но iastorv.sys не было. Я проверил его включение и включение Intel AHCI в настройках BIOS. Это не помогло. Это все еще застревает при обнаружении устройства AHCI BIOS.

Обновление 2


При включенных драйверах (pciide.sys, msahci.sys, iastorv.sys) я протестировал подключение к контроллеру SATA Gigabyte с включенным AHCI в настройках BIOS. Windows Vista начала загружаться, и появилась индикатор выполнения, но вскоре она натолкнулась на BSOD и перезагрузилась. Это продолжало повторяться.

е

Я протестировал отключение iastorv.sys и сохранение только msahci.sys (и pciide.sys) включенным. Это действительно сработало!

г

Некоторые веб-форумы сообщат вам, чтобы в Windows были включены все драйверы, связанные с AHCI (iastor.sys, iastorv.sys, msahci.sys), для простого переключения между AHCI и IDE (pciide.sys обычно включен по умолчанию в большинстве установок, для совместимости наверное). Но, как вы видите, иногда разумнее отключить один из них или все драйверы, которые вы не используете, и не планируете их использовать.

Хотя это другой контроллер SATA (не Intel), но я начинаю думать, что это может быть связано с драйверами.

Обновление 3


Гигабайтный контроллер...

Сейчас я установил официальный драйвер для контроллера SATA Gigabyte. Это версия 1.17.50.2. Диспетчер устройств теперь показывает следующие два описания устройств.

  • JMB36X Стандартный двухканальный контроллер PCIE IDE
  • Контроллер GIGABYTE GBB36X

Похоже, что он основан на чипе JMicron.

час

Контроллер Intel SATA указан в качестве стандартного контроллера AHCI 1.0 Serial ATA. Не обращайте внимания на восклицательный знак рядом с ним. Это только потому, что я отключил драйвер msahci.sys, который он использовал, поэтому он жалуется. Но я работал под управлением Windows Vista с контроллера Gigabyte в режиме IDE, поэтому это не имело значения. Я включил его снова перед перезагрузкой.

So I rebooted and enabled the AHCI mode for the Gigabyte controller and Windows Vista loaded normally. No problems what so ever. I can confidently say that the Gigabyte controller works in both IDE and AHCI (RAID not tested, but expected to work of course) mode, with either Microsoft generic AHCI driver (msahci.sys) or the Gigabyte controller specific driver (jraid.sys), which is really a JMicron driver.

Обратите внимание, что драйвер iastorv.sys ранее конфликтовал с драйвером msahci.sys, когда я тестировал включение их обоих и использование контроллера Gigabyte в AHCI для загрузки в Windows, и я получал пощечину BSOD. Я не проверял и не хочу проверять это с новым драйвером. Может быть, это было решено сейчас, а может и нет. Дело в том, что лучше всего отключить iastorv.sys, если и когда используется контроллер Gigabyte в AHCI (или даже RAID).

Контроллер Intel...

А что насчет этого чертового контроллера Intel? Будет ли это Xor или не XOR? Вот в чем вопрос!

После успешного тестирования контроллера Gigabyte пришло время для контроллера Intel. Я начал с включенного pciide.sys, msahci.sys и iastorv.sys отключен. Я использовал f6flpy6489.zip пакет для установки драйвера вручную. Версия драйвера была 8.9.0.1023. Новый драйвер называется iastor.sys без V в названии.

Описание "Стандартный контроллер AHCI 1.0 Serial ATA" заменено на "Intel(R) ICH9R/DO/DH SATA AHCI контроллер" в диспетчере устройств.

яJК

Я действительно надеялся, что это сработает. Но это не так. Я выключил компьютер и подключил жесткий диск к порту SATA 1 на контроллере Intel, включил питание и снова изменил режим SATA на AHCI в BIOS. Но я вернулся на тот же проклятый экран "устройство не обнаружено" и не смог пройти мимо.

Так что моя проблема остается. Означает ли это, что ПЗУ, отвечающее за функцию AHCI на контроллере Intel, было повреждено или иным образом повреждено? Хотя создается впечатление, что только функция AHCI отключена, контроллер все еще работает. Хотя и в режиме IDE, но, тем не менее, он работает, и это лучше, чем быть полностью поджаренным.

Может ли кто-нибудь знающий, пожалуйста, опубликовать ответ, содержащий информацию о том, где находится фактическое ПЗУ для контроллера Intel? Intel Matrix Storage имеет собственное дополнительное ПЗУ, не так ли? Кроме того, возможно ли вообще справиться с этой проблемой, используя низкоуровневую системную утилиту, без необходимости удалять один или несколько чипов и перепрограммировать их или даже заменять их новыми?

Пища для размышлений...

Мое лучшее предположение относительно того, что произошло, заключается в том, что резервный BIOS включился и частично скопировал себя в основной BIOS, и каким-то образом отключил или даже повредил дополнительное ПЗУ Intel AHCI/RAID.

Я полагаю, что это могло произойти, когда система была включена, и сразу после первой или второй ошибки, возникшей в Windows Vista, после того, как я изменил порядок загрузки устройства, чтобы обманным путем заставить Vista установить USB-флешку на SATA. HDD (см. 0x80070070).

Это произошло либо в тот момент, либо в тот момент, когда система мгновенно отключалась после нажатия кнопки "Сброс", когда я впервые столкнулся с проблемой экрана сканирования устройства "Шина контроллера...". Обычно, и с тех пор (как я наблюдал) он обычно просто перезагружается, он не выключается на этом этапе, даже если я нажимаю кнопку "Сброс" или приветствую его тремя пальцами (Ctrl+Alt+Del).

Тем не мение! Теперь, когда я думаю об этом, было бы лучше в этом случае сначала включить режим IDE и установить Windows Vista в этом режиме. Может быть, даже использовать DVD-носитель для установки, а не USB-накопитель. Затем, когда установка будет завершена, войдите в Windows и включите драйвер AHCI, перезагрузите компьютер и включите режим AHCI в BIOS. Это могло бы просто сработать. В этом случае, возможно, подход был бы намного лучше, было бы желательно сделать это таким образом. Это противоречит общепринятому подходу, при котором большинство людей рекомендуют сначала включить AHCI в BIOS, если вы еще не установили Windows. Я не должен был делать это таким образом.

Я надеюсь, что это послужит уроком для других. Я сделаю еще несколько расследований, но я не хочу уделять этому слишком много времени. Если я не смогу каким-то образом восстановить все до нормального, я думаю, что можно с уверенностью сказать, что режим AHCI на контроллере Intel теперь не работает.

0 ответов

У меня были точные симптомы, описанные. Я столкнулся бы с зависанием SATA AHCI iSrc, и если бы я удалил диски, он не зависал.

Исправление состояло в том, чтобы стереть подписи с дисков. Я сделал это через следующие шаги.

Примечание. Стирание подписей приведет к удалению всех разделов и всех данных на дисках. Ваши данные исчезнут после этого. Действовать с осторожностью.

  1. Отключите диски
  2. Вставьте USB-накопитель с загрузочным Linux "живым" ISO
  3. Загрузиться с Linux ISO
  4. В начале процесса загрузки подключите диски
  5. Выполните следующую команду, чтобы увидеть, какие диски нужно стереть: lsblk
  6. Выполните следующую команду, чтобы стереть диск (заменив X на букву диска, указанную выше): wipefs -a /dev/sdX
  7. Повторите шаг 6 для всех дисков, которые необходимо стереть.
  8. перезагрузка

После перезагрузки у меня больше не возникало зависаний, и я смог успешно установить и загрузить эти диски. Так что, похоже, на диске есть какая-то подпись, которая вызывала зависание.

Другие вопросы по тегам