Постоянно зафиксируйте абсолютное местоположение папки GRUB

Я недавно поразил относительно типичную проблему, когда 16,04 установщиков неправильно конфигурируют местоположение папки GRUB. В таких случаях начальные загрузки системы в спасение окружают со следующими сообщениями:

error: file '/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>

Это означает, что GRUB смог загрузиться, но он ищет свои модули в неправильном месте. Известное решение состоит в том, чтобы сообщить GRUB на лету на местоположении его модулей. В моем случае это:

grub rescue> set prefix=(hd1,msdos2)/boot/grub
grub rescue> insmod normal
grub rescue> normal

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

Как GRUB может быть постоянно проинструктирован о корректном местоположении своих модулей?

Обновление: Я следовал за предложением WinEunuuchs2Unix и попробовал инструмент Boot-Repair. Я сначала проверил местоположение GRUB, и это по-видимому корректно: /boot/grub на sdg2.

Я затем выполнил Рекомендуемый диагноз Восстановления, который произвел этот вывод. Здесь снова сообщается корректное местоположение GRUB:

sdg2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 16.04.3 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab 
                       /boot/grub/i386-pc/core.img

Однако существует ошибка в самом конце отчета, который указывает на проблему с device.map:

grub-probe: error: cannot find a GRUB drive for /dev/sdi1.  Check your device.map.
Unhide GRUB boot menu in sdg2/boot/grub/grub.cfg

An error occurred during the repair.

Какое-либо предложение на том, что может быть сделано об этом?

0
задан 8 November 2017 в 02:08

1 ответ

Ключ для понимания, что было неправильным, был потребностью сообщить GRUB к hd1. BIOS загружается по умолчанию к hd0, и на этой рабочей станции были остатки MBR, который пытался загрузить GRUB, однажды установленный в том диске (следовательно ссылка на /grub вместо /boot/grub).

Решение этого состояло в том, чтобы изменить порядок загрузки внутренних дисков в BIOS. С hd1 в первом месте процесс начальной загрузки заканчивается успешно без человеческого вмешательства. В некотором BIOS это могло бы не быть возможным изменить порядок загрузки внутренних дисков; в таких случаях диски должны быть повторно соединены проводом к плате.

0
ответ дан 1 November 2019 в 06:40

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

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