Почему жесткий диск будет невидимым для Grub?

Я только что установил новый SSD в моей системе, и у меня возникли многочисленные проблемы с загрузкой с него.

Когда я пытаюсь загрузиться, загрузчик-загрузчик (Intel Matrix Storage Manager) пропускает его прямо и пытается загрузить со второго диска. Я установил Grub на MBR на втором диске, указав его на загрузочные файлы на SSD. К сожалению, SSD невидим для Grub. Запуск ls из подсказки Grub Rescue показывает только второй диск. Однако, если я загружаюсь с LiveCD или флэш-накопителя, я вижу и монтирую SSD. Я считаю, что это проблема BIOS, но мне все еще интересно.

Как мой SSD может отображаться в Ubuntu, но не в Grub? В чем разница между тем, как Grub находит файловые системы, и тем, как это делает Ubuntu?

5
задан 23 January 2011 в 16:36

3 ответа

Вы правы, что это проблема BIOS. GRUB (по умолчанию) использует интерфейсы BIOS для доступа к дискам, поэтому GRUB выведет список всех дисков, которые BIOS представляет на него. Почему ваш BIOS не может получить доступ к диску, я не могу сказать, но у вас есть несколько вариантов обхода ограничений вашего BIOS.

Вы можете создать отдельный раздел для / boot, поместив его на диск, с которого BIOS может читать. / boot содержит все файлы, которые необходимо прочитать перед загрузкой ядра Linux, и может использовать собственные драйверы для доступа к устройствам, а не полагаться на BIOS. Или вы можете использовать собственные драйверы GRUB с grub-install --disk-module=foo /dev/sdX, где / dev / sdX - это диск, с которого может загружаться BIOS, а foo - это «ata», «ohci», «uhci» или «ahci» в зависимости от диск подключен (PATA, разные версии USB 1.0 или SATA соответственно). Все, кроме "Ата", требуют 1,99.

0
ответ дан 23 January 2011 в 16:36

Недавно я установил собственный SSD, и у меня были проблемы. Возможным решением было использовать RAID в качестве драйвера SATA в BIOS вместо AHCI или IDE. Настройка реальных дисков RAID не требовалась.

Таким образом, мой BIOS правильно распознал все мои диски, и я смог загрузить Ubuntu с SSD. Это работало на моей материнской плате Abit IP35 Pro. Может быть стоит выстрел.

0
ответ дан 23 January 2011 в 16:36

https://wiki.debian.org/BootUsbWithGrubRescue#fnref-cc4ac999f61993f95475230c2d5041100779799e

Используйте команду nativedisk, чтобы указать Grub загрузить собственный диск и драйверы USB

nativedisk, все ваши USB-устройства будут обнаружены GRUB с использованием собственных драйверов GRUB вместо данных из BIOS. Как только это будет сделано, вы можете использовать ls как обычно внутри консоли grub>, и все ваши USB-устройства будут перечислены.

1
ответ дан 20 June 2020 в 00:32

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

Похожие вопросы: