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

Как сбросить ПЗУ контроллера 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.

Поэтому я изменил порядок загрузки в 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 был установлен на Disabled (IDE), я смог обойти экран AHCI BIOS и вернуться к установке Windows Vista. Установка даже была завершена. Но если я вернусь в настройки BIOS и снова включу AHCI, она снова остановится на той же строке.

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

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

С жестким диском на порту 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

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

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

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

Такое же сообщение (AHCI BIOS не установлен) появляется, если я подключаю HDD к контроллеру Gigabyte SATA. Но я обхожу этот экран. Но это только потому, что контроллер 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), я протестировал подключение к контроллеру Gigabyte SATA с включенным AHCI в настройках BIOS. Windows Vista начала загружаться, и появился индикатор выполнения, но вскоре после этого она столкнулась с BSOD и перезагрузилась. Это просто продолжало повторяться.

ф

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

г

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

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

Обновление 3


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

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

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

Судя по всему, он основан на чипе JMicron.

час

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

Итак, я перезагрузил и включил режим AHCI для контроллера Gigabyte, и Windows Vista загрузилась нормально. Никаких проблем. Я могу с уверенностью сказать, что контроллер Gigabyte работает в режимах IDE и AHCI (RAID не тестировался, но, конечно, ожидается, что он будет работать) либо с универсальным драйвером AHCI от Microsoft (msahci.sys), либо с драйвером контроллера Gigabyte (jraid.sys), который на самом деле является драйвером JMicron.

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

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

А что насчет этого чертового контроллера Intel? Будет ли он 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» в диспетчере устройств.

я дж к

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

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

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

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

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

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

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

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

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

решение1

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

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

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

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

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

Связанный контент