Linux & Windows EFI Dualboot: dealing with hard-coded EFI entries
Hoy toca una entrada friki. Ya van dos pc bastante nuevecitos (David y Tato) que sufren de un problema: Windows+EFI.
Queriendo dos sistemas operativos, en uno o varios discos (todos tablas GPT) etc, y con EFI, windows puede ser un quebradero de cabeza.
Los fabricantes ponen links hard-coded para lanzar SIEMPRE el windows que traían por defecto. Esto complica todo. Aquí hay un tutorial que me ha servido con ambos pc
Taken and updated from: http://h30434.www3.hp.com/t5/Notebook-Operating-Systems-and-Software/Changing-Boot-Order-on-Dual-Boot-Windows-8-and-Ubuntu/td-p/2503733
On Windows:
- Mount EFI partition:
mountvol S: /S - Move the windows EFI file which is hard-coded loaded
S:
cd \EFI\Microsoft\Boot\
move bootmgfw.efi bootmgfw_back.efi - Update EFI entry
bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw_back.efi
bcdedit /set {bootmgr} description "Fuck Windows"
At this point you should get a confirmatory message of the correctly performed operations.
On Linux (Tried on Ubuntu 14.04 x64).
We would assume that you have the FAT32 EFI partition mounted on /boot
- remove \boot\efi\Microsoft\Boot\bootmgfw.efi and \EFI\Boot\bootx64.efi
sudo rm \boot\efi\Microsoft\Boot\bootmgfw.efi and \EFI\Boot\bootx64.efi - Remove (if any) OS boot manager (in HP, other manufactures have other names) entry.
# first of all
man efibootmgr
sudo efibootmgr
#would give us something like
#BootCurrent: 0000
#Timeout: 1 seconds
#BootOrder: 0000,0006,0005,0001,0002,0003
#Boot0000* OS boot manager
#Boot0001* UEFI:CD/DVD Drive
#Boot0002* UEFI:Removable Device
#Boot0003* UEFI:Network Device
#Boot0005* Hard Drive
#Boot0006* ubuntu
#Boot0007* Windows 7
#remove OS boot manager
sudo efibootmgr -b 0000 -B
#select your preferred OS entry order
sudo efibootmgr -o 0006,0007,0001 - Now, you need to add a custom entry on grub:
- First of all, find UUID of the drive:
grub-probe --target=fs_uuid /boot/efi/efi/Microsoft/Boot/bootmgfw_back.efi - Add the entry to grub.
# edit /etc/grub.d/40_custom
sudo gedit /etc/grub.d/40_custom
# add thismenuentry "Windows x86_64 UEFI-GPT" {
search --fs-uuid --no-floppy --set=root UUID
chainloader (${root})/efi/Microsoft/Boot/bootmgfw_back.efi
} - Update grub
sudo update-grub - Done!
Foto (de Heidelberg para variar) y canción. Fin de acto.
Comentarios
Publicar un comentario
¿y tu qué opinas?