Siduction Forum > Scripting & Kernelhacking
[DE] eigene grub.cfg will nicht wie ich will
(1/1)
hsp:
Kann mir jemand erklären warum das hier nicht funktioniert in der grub.cfg? Oder kann mir sagen wie es richtig wäre. Also der Rechner soll booten abhängig davon ob diese UUID vorhanden ist oder nicht.
--- Code: ---
loadfont /EFI/boot/fonts/unicode.pf2
set gfxmode=auto
set gfxpayload=keep
terminal_output gfxterm
background_image /EFI/wallpaper/grub-background.png
set timeout=3
if [ search --no-floppy --fs-uuid a4f2c9cd-b66b-4b2d-b658-e056ab4cf46d ]; then
menuentry 'Linux' {
search --no-floppy --fs-uuid --set=root a4f2c9cd-b66b-4b2d-b658-e056ab4cf46d
echo 'loading Linux...'
linux /vmlinuz root=UUID=a4f2c9cd-b66b-4b2d-b658-e056ab4cf46d ro quiet
echo 'loading initrd.img...'
initrd /initrd.img
}
else
menuentry "Windows" {
insmod part_gpt
insmod part_msdos
insmod fat
insmod search_fs_uuid
set uuid=4028-049D
search --no-floppy --set=root --fs-uuid $uuid
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
fi
--- End code ---
der_bud:
Ich versteh nicht viel davon, aber kann es sein dass 'search' gar kein true/false Ergebnis liefert auf das then und else anspringen könnten?
Vielleicht kann man das umgehen und umformulieren, indem direkter auf das Vorhandensein des Devices geprüft wird...
Bei mir werden aus 41_custom in grub.cfg zB die Zeilen generiert
--- Code: ---if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
--- End code ---
daraus würde ich schliessen Du könntest ein Konstrukt bauen wie
--- Code: ---if [ -f /dev/disk/by-uuid/a4f2c9cd-b66b-4b2d-b658-e056ab4cf46d ]; then boote dies, sonst das
--- End code ---
hsp:
Danke, aber ich habe das mittlerweile selber gelöst. In dem ganzen da steckt ein Denkfehler. Ich bin immer davon ausgegangen das in der VAR 'root' die uuid steht wenn gefunden. Das ist aber nicht so, das Device wo die uuid gefunden steckt dann in der VAR, z.b. hd1,gpt2 oder hd0,msdos2. So in der Art. Wenn man das weiß klappt das auch wenn man das etwas 'umbastelt.
...
Navigation
[0] Message Index
Go to full version