MBR verstehe ich als Abkürzung für Master Boot Record, das ist der Bootsektor früherer Partitionierungen nach dem msdos Schema gegenüber GPT Partitionsschema GUID-Partitionstabelle. Seit 2010 wird mit MBR auch das msdos Partitionsschema bezeichnet, ist also synonym/gleichbedeutend.
Das sieht hier so aus:
Code:
#https://wiki.gentoo.org/wiki/GRUB2/Chainloading
menuentry 'Windows 7 (loader) (auf /dev/sde1)' --class windows --class os $menuentry_id_option 'osprober-chain-01D2D18DE1A77E10' {
insmod part_msdos
insmod ntfs
insmod ntldr
insmod chain
set root='hd4,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd4,msdos1 --hint-efi=hd4,msdos1 --hint-baremetal=ahci4,msdos1 01D2D18DE1A77E10
else
search --no-floppy --fs-uuid --set=root 01D2D18DE1A77E10
fi
parttool ${root} hidden-
#drivemap -s (hd0) ${root}
#map (hd0) (hd4)
#map (hd4) (hd0)
#makeactive
chainloader (hd4,msdos1)+1
}
Wobei drivemap, map, makeactive nicht funktionieren. Wahrscheinlich sind sie a) aus BITS entfernt, oder/und b) nicht mehr aktuell in GRUB2. Ich habe sie daher mit '#' auskommentiert.
drivemap.mod, mmap.mod, partmap.lst etc. sind zwar auf dem Stick, aber die auskommentierten Befehle werden mit einem Fehler "can't find command" quittiert.
Im Vergleich zum funktionierendem GRUB habe ich
insmod ntldr
insmod chain
chainloader (hd4,msdos1)+1
hinzugefügt, bzw. die chainloder Zeile war vorher chainloader +
Die auskommentierten Zeilen waren vorher nicht da.
Im funktionierenden GRUB sieht das so aus:
Code:
menuentry 'Windows 7 (loader) (auf /dev/sde1)' --class windows --class os $menuentry_id_option 'osprober-chain-01D2D18DE1A77E10' {
insmod part_msdos
insmod ntfs
set root='hd4,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd4,msdos1 --hint-efi=hd4,msdos1 --hint-baremetal=ahci4,msdos1 01D2D18DE1A77E10
else
search --no-floppy --fs-uuid --set=root 01D2D18DE1A77E10
fi
parttool ${root} hidden-
chainloader +1
}
Wahrscheinlich führt das aber in diesem Thread zu weit. Sollte ich dafür eventuell einen neuen eröffnen?
Hat jemand Tipps wo ich so etwas am Besten diskutieren könnte, bzw. Unterstützung bekommen könnte? Für BITS gibt es da ja nicht so viel.
Einfachere Layouts, wie das hier, funktionieren auch nicht:
Code:
menuentry "Boot hd4 drive MBR" {
insmod part_msdos
insmod chain
set root=(hd4,msdos1)
chainloader +1
}
menuentry "Boot fourth drive MBR" {
insmod part_msdos
insmod chain
set root=(hd4,msdos1)
drivemap (hd4) (hd0)
chainloader +1
}
PS.: Der neue Kernel kommt gerade herein: linux-image-4.4.0-112-generic, aber es lag ja eher am microcode ohne code für variante #2, dass spectre 2 noch als VULNERABLE erkannt wurde ... Obwohl der reptoline wohl ohne microcode auskommt?
Wenn ich das mit BITS nicht hinbekomme, weder Microsoft noch VMWare es hinbekommen den korrekten µcode früh genug auf die CPU zu laden und GIGABYTE kein BIOS-Update für Q77M-D2H herausbringt, werde ich Windows 7 wohl ungepatcht weiterbetreiben müssen.