Para poder arrancar Linux se ha de sobreescriibir un archivo EFI de Windows, pero cada vez que arrancas Windows restaura el original.
Por fin he encontrado una solución para evitar ésto, y este método es válido para Windows VISTA, Windows 7 y Windows 8
0. Desactivamos Secure Boot de la BIOS.
1. Instalamos nuestro Sistema Linux habitualmente.
2. Configuramos la partición EFI si no está ya. En el caso de este VAIO es raro, y usa dos particiones EFI, sda1 y sda3. Si tu caso es el mismo, se ha de configurar sda3 como partición EFI. En fstab:
3. Reiniciamos el PC con Linux, para que esté todo correcto./dev/sda3 /boot/EFI vfat noatime 0 1
4. Configuramos grub2 para añadirle el arranque de Windows 8 en el archivo de 'custom' de GRUB2, /etc/grub.d/40_custom
#!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "Windows 8" { # search --fs-uuid --no-floppy --set=root 8eca6905-3be1-4d44-a710-09dd7f0ee521 # Used physical partitions instead UUID set root='hd0,gpt3' chainloader /EFI/Microsoft/Boot/bootmgfw.efi.bak }
5. Aquí está el truco: InsydeH2O sólo carga Windows, y Windows restaura su arranque cada vez que se inicia. Entonces hemos de falsear el archivo de Windows y hacer que Windows no lo restaure. Para ello hemos de cambiar el EFI y la copia que hay en Windows:
Rehacemos toda la configuración para que esté incluido Windows:* Cambia la carpeta gentoo por la ruta donde tu distribución guarde el gestor de arranque.VAIO ~ # grub2-mkconfig -o /boot/grub2/grub.cfg VAIO ~ # grub2-install --efi-directory /boot/EFI/
Falseamos el archivo EFI de arranque de Microsoft guardando una copia para poder arrancar Windows 8VAIO ~ # cd /boot/EFI/ VAIO EFI # cp EFI/Microsoft/Boot/bootmgfw.efi EFI/Microsoft/Boot/bootmgfw.efi.bak VAIO EFI # cp EFI/gentoo*/grubx64.efi EFI/Microsoft/Boot/bootmgfw.efi
Y falseamos la copia que tiene Windows, para que al reiniciar sean iguales:
VAIO EFI # cp EFI/Microsoft/Boot/bootmgfw.efi /mnt/windows/Windows/Boot/EFI/bootmgfw.efi VAIO EFI # cp EFI/Microsoft/Boot/bootmgfw.efi.bak /mnt/windows/Windows/Boot/EFI/bootmgfw.efi.bak
Con ésto tenemos GRUB2 instalado y podemos arrancar cualquiera de los dos OSs sin que Windows nos lo estropee
I recently purchased a Sony Vaio Duo 11 with a poisoned surprise inside: A Insyde H2O BIOS locked to only boot Windows.
To boot Linux have to overwrite EFI Windows file, but every time you boot Windows restores the original one.
I finally found a solution to prevent this, and this method is valid for Windows VISTA, Windows 7 and Windows 8
0. Disable Secure Boot on BIOS.
1. Install Linux in our system as usual.
2. Configure the EFI partition if not already. The case of this VAIO is rare, and EFI uses two partitions, sda1 and sda3. If your case is the same, sda3 has to be configured as EFI partition. In fstab:
/dev/sda3 /boot/EFI vfat noatime 0 1
3. Restart the PC with Linux, so that everything is correct.
4. We configure grub2 to add the Windows 8 boot file 'custom' of GRUB2, /etc/grub.d/40_custom
#!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "Windows 8" { # search --fs-uuid --no-floppy --set=root 8eca6905-3be1-4d44-a710-09dd7f0ee521 # Used physical partitions instead UUID set root='hd0,gpt3' chainloader /EFI/Microsoft/Boot/bootmgfw.efi.bak }
5. Here's the trick: InsydeH2O only loads Windows, and Windows restores your boot each time you start. Then we have to distort the Windows file and make Windows not restored. To do this we must change the EFI and the copy on Windows:
Remake the entire configuration for Windows is included:VAIO ~ # grub2-mkconfig -o /boot/grub2/grub.cfg VAIO ~ # grub2-install --efi-directory /boot/EFI/
Falsify EFI boot file of Microsoft keeping a copy in order to boot Windows 8VAIO ~ # cd /boot/EFI/ VAIO EFI # cp EFI/Microsoft/Boot/bootmgfw.efi EFI/Microsoft/Boot/bootmgfw.efi.bak VAIO EFI # cp EFI/gentoo*/grubx64.efi EFI/Microsoft/Boot/bootmgfw.efi* Change gentoo folder with the path where your distribution save the bootloader.
And falsify the copy you have Windows, so that when you restart are the same:VAIO EFI # cp EFI/Microsoft/Boot/bootmgfw.efi /mnt/windows/Windows/Boot/EFI/bootmgfw.efi VAIO EFI # cp EFI/Microsoft/Boot/bootmgfw.efi.bak /mnt/windows/Windows/Boot/EFI/bootmgfw.efi.bak
With this we have GRUB2 installed and we can start either OS without spoiling us.