Grub2 ist eine wunderschöne Sache, die eigentlich ganz genau so funktioniert. Wenn Du einen der angeglich wesentlichen Vorteile, die Generierung der grub.cfg abstellst, kannst Du weiterhin die grub.cfg nach Gutdünken ändern.
Grub2 hat bei solcher Art Einsatz den elementaren Vorteil, sehr gut lesbar zu sein. Einen weiteren sehr großen Vorteil sehe ich darin, dass ich mich nicht mehr um so "dämliche" Kleinigkeiten wie root (hd0,0) kümmern muss. Das geht damit per Name, Device...)
Wer einmal das große Grub-Rätselraten gespielt hat ( man nehme 5 Platten, werfe sie in ein System und der erste MBR gewinnt) weiss, was ich meine. Ein einmalige richtige Einrichtung und das System funktioniert immer. Auch bei, nach und während heftigsten Hardware-Änderungen. Finde ich persönlich geil. Die Scripte findest Du unter /etc/grub.d. Einfach das Ausführen-Flag wegnehmen und es ist Ruhe im Schacht. Du darfst und musst dann allerdings wieder alle Änderungen manuell vornehmen.
meine Grub.cfg:
#
# DO NOT EDIT THIS FILE
#
# unless you are know, what you are doing!
#
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
}
insmod part_msdos
insmod ext2
set root='(/dev/disk/by-label/verw_ub32)'
search --no-floppy --label --set verw_ub32
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=1920x1200
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(/dev/disk/by-label/verw_ub32)'
search --no-floppy --label --set verw_ub32
set locale_dir=($root)/boot/grub/locale
set lang=de
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
insmod part_msdos
insmod ext2
set root='(/dev/disk/by-label/verw_ub32)'
search --no-floppy --label --set verw_ub32
insmod png
if background_image /boot/grub/moreblue-orbit-grub.png ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
fi
menuentry "01. Arch" {
insmod ext2
set root='(/dev/disk/by-label/ssd_arch)'
search --no-floppy --label --set ssd_arch
linux /boot/vmlinuz26-ck root=/dev/disk/by-label/ssd_arch ro pci=use_crs nopat lapic nolapic_timer vga=794 nomodeset elevator=deadline
initrd /boot/kernel26-ck.img
}
menuentry "02. Aptosid " {
insmod ext2
set root='(/dev/disk/by-label/aptosid)'
search --no-floppy --label --set aptosid
linux /boot/vmlinuz-2.6.35-7.slh.1-aptosid-amd64 root=/dev/disk/by-label/aptosid ro hpet=disable pci=use_crs nopat lapic nolapic_timer radeon.modeset=0 quiet
initrd /boot/initrd.img-2.6.35-7.slh.1-aptosid-amd64
}
menuentry "03. Verwaltung Ubuntu 10.10 32" {
insmod ext2
set root='(/dev/disk/by-label/verw_ub32)'
search --no-floppy --label --set verw_ub32
linux /boot/vmlinuz-2.6.35-22-generic-pae root=/dev/disk/by-label/verw_ub32 ro pci=use_crs nopat lapic nolapic_timer vga=794 nomodeset elevator=deadline
initrd /boot/initrd.img-2.6.35-22-generic-pae
}
menuentry "04. Verwaltung Arch" {
insmod ext2
set root='(/dev/disk/by-label/verw_arch)'
search --no-floppy --label --set verw_arch
linux /boot/vmlinuz26 root=/dev/disk/by-label/verw_arch ro pci=use_crs nopat lapic nolapic_timer vga=794 nomodeset elevator=deadline
initrd /boot/kernel26.img
}
menuentry "05. Win 7 " {
insmod ntfs
set root='(hd1,2)'
search --no-floppy --fs-uuid --set 3ea8f421a8f3d57d
chainloader +1
}
menuentry "06. Test Arch" {
insmod ext2
set root='(/dev/disk/by-label/dom0_boot)'
search --no-floppy --label --set dom0_boot
linux /vmlinuz26 root=/dev/disk/by-label/dom0_root ro pci=use_crs nopat lapic nolapic_timer vga=794 nomodeset elevator=deadline
initrd /kernel26.img
}
menuentry "08. Hypervisor Verwaltung" {
set root='(/dev/disk/by-label/schieb)'
search --no-floppy --label --set schieb
linux /boot/vmlinuz26 root=/dev/disk/by-label/schieb ro pci=use_crs nopat lapic nolapic_timer vga=794 nomodeset elevator=deadline
initrd /boot/kernel26.img
}
menuentry "09. Dom0 Verwaltung" {
insmod ext2
set root='(/dev/disk/by-label/dom0)'
search --no-floppy --label --set dom0
linux /boot/vmlinuz26 root=/dev/disk/by-label/dom0 ro pci=use_crs nopat lapic nolapic_timer vga=794 nomodeset elevator=deadline
initrd /boot/kernel26.img
}
menuentry "10. Dom0 Virtuelle Umgebung" {
set root='(/dev/disk/by-label/schieb)'
search --no-floppy --label --set schieb
multiboot /boot/xen-4.0.gz dom0_mem=8032M
module /boot/vmlinuz26-xen-dom0-dev root=/dev/disk/by-label/dom0 ro nomodeset
module /boot/kernel26-xen-dom0-dev.img
}
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
Das ganze Zeug lief bis zu seinem gestrigen Umzug auf /dev/sdf7. Dann ist meine Ubuntu-Verwaltungspartition mal eben auf /sdv/sdf1 umgezogen. Die verwalteten Systeme liegen "natürlich" auch nicht mehr auf den Platten, wo sie mal wahren. Und alles ohne Änderung der Grub.cfg. Finde ich irgendwie toll, da eine Kopie dieser Datei auf meinem Arch-Notfall-Stick ist und es ebenfalls ohne Änderung vom Stick funktioniert. Nur dass Grub2 noch arg in Entwicklung ist, stört da eventuell ein ganz klein wenig.