Так вот в чем дело. У меня есть два раздела в моем нетбуке (плюс обмен):
/dev/sda4
с Ubuntu 10.4 /dev/sda5
с Centos 5.5
Я использую Ubuntu, очевидно. Centos там, потому что мне нужно провести тест на этом дистрибутиве. Проблема в том, что Centos использует Grub, а Ubuntu использует Grub2.
Это /boot/grub/menu.lst
из Centos:
default=0
timeout=5
splashimage=(hd0,4)/boot/grub/splash.xpm.gz
title CentOS (2.6.18-194.17.4.el5xen)
root (hd0,4)
kernel /boot/xen.gz-2.6.18-194.17.4.el5
module /boot/vmlinuz-2.6.18-194.17.4.el5xen ro root=LABEL=/1 rhgb quiet
module /boot/initrd-2.6.18-194.17.4.el5xen.img
title CentOS (2.6.18-194.el5xen)
root (hd0,4)
kernel /boot/xen.gz-2.6.18-194.el5
module /boot/vmlinuz-2.6.18-194.el5xen ro root=LABEL=/1 rhgb quiet
module /boot/initrd-2.6.18-194.el5xen.img
/boot/grub/grub.cfg
из Ubuntu:
menuentry "CentOS release 5.5 (Final) (on /dev/sda5)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 66daaf1a-53b0-4e12-96f3-db01d52e12d1
linux /boot/vmlinuz-2.6.18-194.17.4.el5xen root=/dev/sda5
}
menuentry "CentOS release 5.5 (Final) (on /dev/sda5)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 66daaf1a-53b0-4e12-96f3-db01d52e12d1
linux /boot/vmlinuz-2.6.18-194.el5xen root=/dev/sda5
}
Это было сгенерировано под управлением update-grub2
и grub-install
под Ubuntu. Это не работает. Это дает мне что-то вроде плохого магического числа .
Как я могу преобразовать запись grub1 в форму grub2?
Хорошо, так как я не смог найти конкретную информацию о правильном преобразовании grub1 для Centos5.5, это то, что я сделал.
menuentry "CentOS release 5.5 (Final) (on /dev/sda5)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 66daaf1a-53b0-4e12-96f3-db01d52e12d1
drivemap -s (hd0) ${root}
chainloader +1
}
По сути, я загрузил загрузчик grub1 внутри загрузчика grub2.
в на этом форуме есть вся необходимая информация о grub
.