Почему происходит сбой загрузки с BIOS SATA Mode как AHCI?

8

Короче говоря, я пытаюсь выяснить для некоторых инженеров Jetway и меня самого, почему сделанные мной специальные BIOS не позволяют устройствам SATA загружаться в режиме AHCI.

Очевидно, что это трудно спросить, учитывая, что это * пользовательская биография, но, надеюсь, я смогу предоставить достаточно подробностей, чтобы кто-то мог предоставить некоторые идеи, потому что у меня кончается.

Плата Jetway NF98. Оригинальный биос говорит, что американские мегатенденции наверху. Я узнал, что они просто предоставляют исходный код для компиляции (или, может быть, просто логотип), но Jetway - это тот, кто настраивает и создает настоящий BIOS. Так что я обратился к Jetway, и они были невероятно полезны. Я рассказал им о своей цели, и они получили право на это и отправили заказной биос.

Цель была проста, позвольте мне настроить bios для отказа от любого другого носителя, кроме диска, подключенного через порт SATA 0, с которого нужно загружаться. То, что они предоставили, сделало почти то же самое, за исключением того, что оно не было настраиваемым, оно просто было настроено так, чтобы ничего не загружалось, кроме порта SATA 0.

Поэтому я подключаю свой диск SATA к запуску пользовательской версии дистрибутива Crux Linux, и в отчетах bios, пожалуйста, подключите диск, как будто он его не видит (хотя при взгляде на настройки bios видно, что диск подключен к порту 0).

После некоторой отладки я меняю SATA-режим с AHCI на IDE. Это позволяет увидеть диск, но загрузка все равно не удалась. На этот раз он делает это немного дальше и не работает при поиске root /.

Для начала у меня есть приличный опыт отладки загрузки Linux. Кроме того, у меня есть точная копия (с точки зрения аппаратного и программного обеспечения) этой системы с использованием стандартного BIOS, поставляемого с NF98. Так что я могу взять диск, загрузить его в стандартный BIOS, и все будет успешно. Когда я ставлю его в кастомный биос, не получается.

После дальнейшей отладки я думаю, что знаю следующее:

-С режимом sata как IDE

- Linux (Crux) загружается, пока не ищет рут

- Виста успешно загружается

С режимом sata как AHCI

- Linux (Crux) не загружается успешно (более того, процесс загрузки не запускается)

- Виста не загружается успешно (более того, процесс загрузки не запускается)

ОС Crux имеет немного устаревшее собственное ядро ​​и использует initramfs (также кастомное). Инженеры Jetway предложили обновить ядро, я подумал, что это не помогло.

Затем я решил попробовать Arch Linux, который также не работал в режиме IDE и не был виден в AHCI. Это было ядро ​​3.0-ARCH.

Затем, наконец, я снова установил arch, но на этот раз для одного раздела и использовал dev, а не UUID или LABEL. В режиме AHCI до сих пор не было видно. В режиме IDE по-прежнему происходит сбой при передаче в корень.

НО, когда я выбираю опцию резервного меню загрузки Arch, а режим SATA - IDE, я получаю полу-успешную загрузку; то есть я получаю приглашение к входу в систему, но при загрузке происходит приличное количество ошибок. В настоящее время я ищу то, что имеет значение.

Мои извинения за длинный текст. Кто-нибудь есть какие-либо идеи относительно того, почему или где я должен искать, чтобы выяснить, почему пользовательские BIOS с SATA Mode AHCI не загружается?

с карты
источник
3
Некоторые из этих ошибок загрузки ожидаются. Если ОС была установлена ​​в режиме IDE, вы не сможете загрузить эту ОС после перехода в режим AHCI. Вам необходимо установить соответствующий драйвер диска для загрузки, что обычно не является приемлемым вариантом; возможно, liveCD сможет это сделать. Обычно вам нужно сделать полную переустановку ОС, если режим диска изменился
опилки

Ответы:

1

Может случиться так, что режим AHCI не очень хорошо работает с американским BIOS Megatrends. У меня была похожая проблема с Gigabyte GA-J1800N-D2H, который похож на аналогичную плату с Intel J1800 SoC. Я установил Linux Mint 17.2 с 32-битным xfce с надежного компакт-диска. Когда установка закончилась, он перезапустился, но застрял в оболочке с сообщением «ModemManager ... Не удалось получить org.freedesktop.ModemManager1». При попытке нескольких перезагрузок с жесткого диска я в большинстве случаев попадал в «(initramfs)» или застревал в сообщении «ata1.00: сбой команды: READ FPDMA». Я повторил установку после очистки жесткого диска, и это не имело никакого значения.

После нескольких красных селедок я попытался изменить режим SATA с AHCI на IDE в BIOS, и машина отлично загрузилась и выключилась. Я ходил взад и вперед несколько раз, чтобы убедиться. УСТАНОВКА БЫЛА ВЫПОЛНЕНА В РЕЖИМЕ AHCI, НО БЫЛА ТОЛЬКО ЗАГРУЗКА И ВЫКЛЮЧЕНА В РЕЖИМЕ IDE.

Детали BIOS:

ID: 8A05AG03 Название проекта: J1800N-D2H Версия: F4 Дата постройки: 29.04.2014 15:00:08

Плата приемлемо отзывчива в режиме IDE.

баклан
источник
1

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

  1. Диски, не обнаруженные в BIOS / UEFI, когда этот BIOS находится в режиме EUFI (только): BIOS UEFI видят только разделенные GPT диски. Если вы не видите свой диск, вероятно, это старый разделенный MBR диск. Попробуйте выбрать режим Legacy в BIOS, чтобы обнаружить MBR-диски, изменить режим диска на GPT с помощью инструмента разбиения диска или полностью очистить диск (удалить все разделы, очистить MBR).
  2. ОС не загружается, когда BIOS находится в режиме AHCI, но загружается, когда BIOS находится в режиме IDE. В вашей ОС могут не быть установлены драйверы AHCI или IDE после переключения AHCI / IDE. Например, в Windows 7 режим во время установки определяет тип установленных драйверов. Вы можете установить ключи реестра HKLM / System / CurrentControlSet / Services / msahci / Start = 0 и HKLM / System / CurrentControlSet / Services / pciide / Start = 0, используя regedit . Затем он будет переустанавливать нужный драйвер всякий раз, когда вы переключаете режимы AHCI / IDE BIOS.
Дюрандаль
источник
0

Windows (и, возможно, другие ОС) не устанавливают драйверы SATA для режима AHCI, если они не активны во время загрузки.

Чтобы решить это в Windows: -

Запустите в режиме IDE (устаревшем)

  1. Запустите редактор реестра (regedit.exe)
  2. Перейдите к разделу реестра: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Msahci
  3. Установите значение «Старт» на 0 (ноль)
  4. Перейдите к разделу реестра: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Pciide
  5. Установите значение «Старт» на 0 (ноль)
  6. Неисправность
  7. Запустите снова, но перед загрузкой Windows перейдите в конфигурацию BIOS

экраны и измените режим диска на «AHCI». Сохраните новую конфигурацию BIOS и перезагрузите компьютер, чтобы загрузить Windows. Когда Windows запустится, она обнаружит изменение, загрузит новые драйверы дисков и сделает еще одну перезагрузку, чтобы запустить их.

(источник - https://www.neowin.net/forum/topic/987378-how-to-switch-from-ide-to-ahci-without-repairingreinstall-windows/ )

Я уверен, что будет аналогичный процесс для ОС Linux, которые находятся в вашей системе.

Stese
источник