Первоначально, Ubuntu была установлена на другом разделе (sda5 или sda4).
В какой-то момент я действительно вручную перемещал корневой раздел в sda2.
Теперь, проблема - это каждый раз, когда новое ядро установлено, автоматическая регенерация menu.lst
использует СТАРЫЙ раздел Linux. Таким образом, я должен вручную измениться в menu.lst
строки:
root (hd0,5)
в
root (hd0,1)
Как я могу настроить update-grub
автоматически генерировать menu.lst
с текущим корневым разделом Linux? Я предполагаю, что (hd0,5) был записан где-нибудь в установке, но я не мог найти его.
С тех пор grub2, menu.lst
действительно больше не используется, таким образом, возможности - Вы, должен посмотреть в другом месте, если у Вас есть проблема с личинкой.
Однако menu.lst
все еще иногда используется с Облачной версией Ubuntu. Если это относится к Вам, продолжать читать.
Автоматически сгенерированный root (hd0)
записи на самом деле настроены путем изменения /boot/grub/menu.lst
файл. Необходимо найти строки, которые похожи:
## default grub root device
## e.g. groot=(hd0)
# groot=(hd0)
И измените последнюю строку для указания на новый корень, например:
## default grub root device
## e.g. groot=(hd0)
# groot=(hd0,5)
Заметьте что groot=…
строка все еще начинается с a #
. Не не комментируйте измененную строку! Я не знаю, какой гений думал о наличии параметров конфигурации в закомментированных строках, но это - то, как оно работает.
После того как Вы внесли изменение, повторно создать menu.lst
путем выполнения:
sudo update-grub-legacy-ec2
Весь root
записи в menu.lst
должен теперь быть обновлен для указания на (hd0,5)
(или независимо от того, что Вы настроили его к).
Одна возможность, что я выбрал, состоит в том, чтобы сказать личинке устанавливать при основном разделе начальной загрузки с
sudo fdisk -l # where you get the disk
sudo grub-install /dev/hda # in my computer it is /dev/sda
, и затем Вы обновляете все с:
update-grub2
Hope Вы успешно выполняетесь, Вы лучше ожидаете опытного ответа.