Per rispondere alla tua domanda iniziale, no. Windows non può essere caricato senza passare attraverso il proprio bootloader (nel caso di installazioni UEFI, bootmgfw.efi). Questo perché Windows si aspetta che il bootmanager sia presente E chiami winload.efi. Se ciò non accade, Windows si bloccherà fino a quando non risolverai il problema. Ci sono molte ragioni per questo (pratiche e ignoranti). Principalmente, è perché Microsoft ha scritto il bootmanager per gestire tutte le cose (caricamento del sistema operativo, caricamento dell'ambiente di ripristino, ambiente pseudo pre-os e così via). L'unico modo per ottenere attualmente una parvenza di sanità mentale è caricare a catena usando Grub-efi.
È necessario aggiungere il bootloader EFI di Windows all'elenco delle opzioni di avvio nel firmware UEFI. In questo modo potrai scegliere se:
- GRUB2 dovrebbe essere caricato o
- il Bootloader di Windows dovrebbe essere caricato
A quel punto dovrebbero essere visibili anche opzioni aggiuntive come l'unità DVD, i dischi rigidi esterni o l'avvio di rete. Il bootloader UEFI di solito risiede su \EFI
(/boot/efi/
) partizione. Poiché hai appena copiato l'immagine del disco rigido di Windows senza installare correttamente Windows, la partizione EFI della tua macchina corrente potrebbe non contenere il bootloader corretto. Quindi è necessario
- Copia il bootloader nella partizione EFI
- Aggiungi Windows come opzione di avvio insieme a GRUB2
Dovresti quindi essere in grado di scegliere quale sistema operativo avviare semplicemente modificando l'ordine di avvio nel BIOS. Sul mio laptop, premendo F12 fa apparire un menu per selezionare quale bootloader caricare.
Per questi passaggi, userò efibootmgr
e segui i passaggi di questo tutorial:
Dovrai copiare il file corrispondente bootmgfw.efi
alla partizione EFI in \EFI\Microsoft\Boot\bootmgfw.efi
o /boot/efi/Microsoft/Boot/bootmgfw.efi
quando si usa Linux:
# mkdir -p /boot/efi/EFI/Microsoft
# cp -r Microsoft /boot/efi/EFI/Microsoft
dove Microsoft
è una cartella contenente i file EFI originali per la tua versione di Windows.
Quindi devi aggiungere il .efi
file alle voci di avvio UEFI utilizzando:
# efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\Microsoft\\Boot\\bootmgfw.efi -L "Windows Boot Manager"
dove ovviamente devi cambiare /dev/sda
e -p 1
ai valori corretti per il dispositivo del disco e il numero di partizione.
Nota questo se hai un laptop Lenovo:
Si noti inoltre che almeno un produttore (Lenovo) fornisce prodotti con un bug noto che impedisce l'avvio del sistema a meno che il nome del caricatore di avvio non sia "Windows Boot Manager" o "Red Hat Enterprise Linux".
L'avvio del tuo PC dovrebbe quindi mostrare qualcosa del genere (se tieni premuti i tasti corrispondenti durante il processo di avvio):
Windows Boot Manager
ubuntu
USB CD
USB FDD
ATAPI CD
ATA HDD2
(etc.)
e bcdedit
su Windows mostra questo:
C:\WINDOWS\system32>bcdedit /enum firmware
Firmware Boot Manager
---------------------
identifier {fwbootmgr}
displayorder {bootmgr}
{bb086763-b111-11e2-bf8e-806e6f6e6963}
{8e7fb978-8bc8-11e2-bf2f-806e6f6e6963}
timeout 0
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
integrityservices Enable
default {current}
resumeobject {ec215a09-8bc4-11e2-bf2b-0024d7eb75a4}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 2
(...)
Firmware Application (101fffff)
-------------------------------
identifier {bb086763-b111-11e2-bf8e-806e6f6e6963}
device partition=\Device\HarddiskVolume2
path \EFI\ubuntu\grubx64.efi
description ubuntu