Originariamente inviato da
marcosaurus
ora cerchiamo di capire
- perché non posso avviare windows (mbr) da grub
In grub2 le modifiche non dovrebbero essere fatte direttamente nel file "/boot/grub/grub.cfg" ma passando da una serie di script e una utility che si preoccupa di generare il files corretto.
La modifica che segue la dovresti fare nel file "/etc/grub.d/40_custom", aggiungendo la sezione di seguito, e poi lanciando come root o con sudo il comando:
codice:
# grub-mkconfig -o /boot/grub/grub.cfg
Quindi Windows8 è installato in modalità MBR. Ok.
Questo dovrebbe funzionare se hd0 è la SSD su cui hai installato Linux e hd1 il disco SSD di Windows8:
codice HTML:
# Windows 8 MBR:
menuentry "Windows8" {
set root=(hd1,0)
drivemap -s hd0 hd1
chainloader (hd0,0)+1
}
[EDIT:]
Mi viene un dubbio amletico... Questo mi sembra più adatto per grub su UEFI:
codice HTML:
menuentry "Microsoft Windows Vista/7/8 BIOS-MBR" {
insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod ntldr
search --fs-uuid --no-floppy --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 [COLOR="#FF0000"]69B235F6749E84CE[/COLOR]
ntldr /bootmgr
}
Il numero in rosso è lo UUID della partizione "System Reserved" presente sul disco di Windows8. Si recupera con questo comando (sempre tutto dal wiki di Arch):
Quale delle due usare, onestamente, non l'ho capito... La prima dovrebbe essere giusta ma a rigor di logica dovrebbero darti lo stesso risultato:
codice HTML:
# grub-probe --target=fs_uuid /media/SYSTEM_RESERVED/bootmgr
codice HTML:
# grub-probe --target=hints_string /media/SYSTEM_RESERVED/bootmgr --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2
Secondo me basta anche usare il comando
codice HTML:
blkid /dev/sdb
per ottenere lo UUID della partizione system reserved...