Fwd: обновление ядра убивает /boot/grub/menu.lst - что делать?

Dmitry Mityugov dmitry.mityugov на gmail.com
Вс Июн 25 13:19:00 BST 2006


У меня на машине /boot вынесен в отдельный primary-раздел, есть
primary-раздел для swap, всё остальное - logical-разделы для разных
версий Linux. Сейчас на этой машине стоит Fedora Core 5, Ubuntu 6.06
64-bit, Ubuntu 6.06 32-bit. При обновлении ядра все они правят
grub.conf/menu.lst в каталоге /boot/grub. Fedora аккуратно меняет
default saved на default 0 (чтобы при перезагрузке наверняка
загрузилась первая OS из меню GRUB) и добавляет запись о новом ядре в
меню. При перезагрузке всё работает замечательно, эстеты вроде меня
могут потом руками поменять default 0 на default saved.

Однако Ubuntu делает всё не так. Судя по всему она генерирует menu.lst
заново, пробегая по всем файлам vmlinuz* в /boot, и для каждого файла
создаёт две записи вида

title           Ubuntu, kernel <найденный номер vmlinuz>
root            (hd0,0)
kernel          /vmlinuz-<найденный номер vmlinuz> root=<том где лежит
новое ядро> ro quiet splash
savedefault
boot

title           Ubuntu, kernel <найденный номер vmlinuz> (recovery mode)
root            (hd0,0)
kernel          /vmlinuz-<найденный номер vmlinuz> root=<том где лежит
новое ядро> ro single
boot

Поскольку некоторые ядра лежат на других разделах (и загружаются с
другими опциями), пользоваться получившимся menu.lst в результате
становится нельзя. Например для такой записи о Fedora Core:

title           Fedora Core 5 (2.6.17-1.2139_FC5)
        root            (hd0,0)
        savedefault
        kernel /vmlinuz-2.6.17-1.2139_FC5 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.17-1.2139_FC5.img
        boot

Я в результате получаю две записи:

title           Ubuntu, kernel 2.6.17-1.2139_FC5
root            (hd0,0)
kernel          /vmlinuz-2.6.17-1.2139_FC5 root=/dev/sda7 ro quiet splash
savedefault
boot

title           Ubuntu, kernel 2.6.17-1.2139_FC5 (recovery mode)
root            (hd0,0)
kernel          /vmlinuz-2.6.17-1.2139_FC5 root=/dev/sda7 ro single
boot

В которых и название, и корневой раздел, и опции - всё неверно.

Я не специалист в GRUB, может кто-нибудь подскажет как это побороть?
Может вынести часть меню в некий аналог include-файла? Но тогда разные
версии Ubuntu всё равно будут друг друга в menu.lst "убивать", меняя
раздел root. Я аттачу пару файлов: menu.lst~ - то что было до
обновления ядра на Ubuntu 6.06 64-bit, и menu.lst - то что стало.

Заранее спасибо за подсказки

--
Dmitry Mityugov, St. Petersburg, Russia
I ignore all messages with confidentiality statements

"We live less by imagination than despite it" - Rockwell Kent, "N by E"
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zg╖╨[-O*^j e┴ф╜┼┴Ъ║к^╤кky╘▓▀7╧ъ╫[йв╛
КR╧a╤зlЪЫb╡ш.nИМ╧й&Щ╙э├+чЁШ⌡╨{n╝Оз╤ж°├g╖╤оЖсN╢КnoвКn╥Чg╖╩M4з├Ц
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zg╖╨[-O*^j e┴ф╜┼┴Ъ║к^╤кky╘▓▀7╦Г▌[йв╛
КR╧a╤зlЪЫb╡ш.nИМ╧й&Щ╙э├+чЁШ⌡╨{n╝Оз╤ж°├g╖╤оЖсN╢КnoвКn╥Чg╖╩M4ч├Ц


More information about the ubuntu-ru mailing list