Vastlopen in de UEFI Interactive Shell bij het starten van een VirtualBox VM kan behoorlijk vervelend zijn. Meestal betekent dit dat de EFI-firmware geen geschikte bootloader kan vinden, waardoor je in plaats van op te starten in je besturingssysteem, in die shell terechtkomt. Dit gebeurt vaak als de installatie van het besturingssysteem onvolledig was, als je met de VM-instellingen hebt geknoeid, of soms gewoon omdat de EFI-bootloader beschadigd is geraakt of ontbreekt. Het goede nieuws is dat er verschillende manieren zijn om dit op te lossen – sommige snel, andere wat ingewikkelder, maar effectief. Het doel is om de VM te vertellen waar de OS-loader te vinden is, of gewoon over te schakelen naar een opstartmethode die beter werkt in de VirtualBox-omgeving. Deze handleiding bespreekt verschillende opties om je VM weer normaal te laten opstarten.
Hoe u het probleem met VirtualBox kunt oplossen: alleen opstarten in de interactieve UEFI-shell
EFI uitschakelen in VirtualBox-instellingen
Deze is vrij eenvoudig en werkt prima als je EFI helemaal wilt laten vallen. Het idee hier is om terug te keren naar de oude BIOS-modus, die in de meeste gevallen vergevingsgezinder en compatibeler is. Wanneer EFI is ingeschakeld, zoekt de VM naar specifieke EFI-opstartbestanden, die soms verloren kunnen gaan of beschadigd kunnen raken, vooral na een mislukte installatie van het besturingssysteem. Door deze uit te schakelen, gebruikt VirtualBox de standaard BIOS-modus, die de opstartinstructies rechtstreeks van de MBR van de schijf leest. Meestal lost dit het opstartproces probleemloos op, vooral bij Windows- of Linux-installaties die EFI niet per se nodig hebben.
- Zorg ervoor dat uw virtuele machine volledig is uitgeschakeld, dus niet gepauzeerd of in de opgeslagen status.
- Open VirtualBox, klik met de rechtermuisknop op uw VM en kies Instellingen.
- Navigeer naar Systeem > Moederbord.
- Schakel het selectievakje naast EFI inschakelen uit.
- Klik op OK en start de VM opnieuw.
Verwacht dat je systeem de UEFI-shell omzeilt en direct in je besturingssysteem opstart. Bij sommige configuraties is deze oplossing direct beschikbaar. Bij andere configuraties kan het een of twee keer opnieuw opstarten vergen, maar het is meestal de snelste manier om weer in het besturingssysteem te komen als EFI geen harde vereiste is voor je configuratie.
Handmatig opstarten vanaf de EFI-shell
Als je het EFI-opstartproces liever wilt herstellen dan uitschakelen, kun je proberen het besturingssysteem handmatig te selecteren vanuit de EFI-shell. Het is een beetje vreemd, maar zodra je in de shell-prompt (meestal Shell>) bent, kun je rondneuzen om je besturingssysteembestanden te vinden. Deze aanpak is handig als je bootloader nog intact is, maar niet automatisch is geregistreerd of geselecteerd.
- Start de VM op en wacht tot de EFI-shellprompt verschijnt.
- Typ map en druk op Enter. Hiermee worden alle schijven en partities weergegeven.
- Zoek naar stations met de labels FS0:, FS1:, enz. Dit zijn uw EFI-partities en systeemschijven.
- Typ de naam van de schijf met een dubbele punt (bijv.
FS0:) en druk op Enter. - Typ dir om de bestanden weer te geven. Zoek naar een EFI -map.
- Verander de directory naar EFI
cd EFIen druk op Enter. - Navigeer nu naar de map die overeenkomt met uw besturingssysteem, bijvoorbeeld
cd Microsoft\Bootvoor Windows ofcd ubuntuLinux. - Voer ten slotte het bootloaderbestand uit. Voor Windows is dit doorgaans:
bootmgfw.efi.
Typ indien nodig het volledige pad, bijvoorbeeld: \EFI\Microsoft\Boot\bootmgfw.efi. Als het laadt, zou het besturingssysteem normaal moeten opstarten, maar dit is een tijdelijke oplossing. Voor een meer permanente oplossing kunt u overwegen om opdrachten toe te voegen aan een opstartscript of de bootloader te kopiëren naar het fallback-pad (zie hieronder).
Gebruik de ingebouwde Boot Manager
Dit is een beetje een snelle manier: in plaats van scripts te schrijven of bestanden te kopiëren, kun je gewoon naar de interface van UEFI Boot Manager springen om het juiste opstartapparaat te selecteren. Wanneer je bij de EFI-shellprompt bent, typ je ‘exit’ en druk je op Enter. Dit brengt je meestal naar een menu waar je je opstartschijf of besturingssysteem kunt kiezen. Het is een handige manier om problemen op te lossen zonder al te veel gedoe.
Kopieer en hernoem de bootloader naar het UEFI-fallbackpad
Een beetje sluw, maar door je OS-loader te kopiëren, \EFI\Boot\bootx64.efikan de UEFI-firmware automatisch opstarten in je besturingssysteem, vertrouwend op dat fallback-pad. Want Windows moet het natuurlijk moeilijker maken dan nodig is. Dit is de meest betrouwbare oplossing, vooral als je EFI-opstartvermelding kapot is.
- Start eerst op vanaf de ISO-installatie van uw besturingssysteem. Voeg in VirtualBox de ISO toe als optisch station in Storage en start de virtuele machine.
- Voor Windows: na het opstarten drukt u op Shift + F10om de Opdrachtprompt te openen.
- Gebruik het
diskpartvolgende om de EFI-partitie te vinden: - Typ
list volen zoek de kleine FAT32-partitie met het label EFI of System. - Sluit diskpart af met
exit. - Wijs indien nodig een stationsletter toe en navigeer vervolgens naar de EFI-map:
- Voor Windows kopieert u de bootloader als volgt:
copy S:\EFI\Microsoft\Boot\bootmgfw.efi S:\EFI\Boot\bootx64.efi
Voor Linux-gasten zoals Ubuntu:
- Start op vanaf een Linux Live USB en koppel de EFI-partitie:
sudo fdisk -lom uw EFI-partitie te vinden (waarschijnlijk /dev/sda1).- Monteer het met:
sudo mount /dev/sda1 /mnt. - Kopieer de bootloader:
sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi.
Zodra dit is voltooid, start u de virtuele machine normaal opnieuw op. Dankzij het fallback-opstartpad zou deze nu direct in uw besturingssysteem moeten opstarten. Nog iets om op te merken: Secure Boot kan problemen opleveren, dus als Secure Boot is ingeschakeld, moet u dit mogelijk uitschakelen of vervangen door shimx64.efi.
Hoe kan ik deze oplossing permanent maken?
De beste manier is om de EFI-bootloader van je besturingssysteem rechtstreeks naar de fallback-locatie te kopiëren \EFI\Boot\bootx64.efi. Op die manier laadt de EFI dit bestand standaard, zelfs als deze geen geldige opstartvermelding heeft. Voor Windows kopieer je gewoon het bestand bootmgfw.efi zoals hierboven weergegeven. Voor Linux geldt hetzelfde idee: kopieer grubx64.efi (of shim, als Secure Boot is ingeschakeld).Dit blijft meestal actief na het opnieuw opstarten en zelfs na het maken van snapshots van virtuele machines. Maar onthoud: als de bootloader wordt bijgewerkt of als je schijven verwisselt, moet je dit mogelijk opnieuw doen.
Als je nog steeds problemen ondervindt, kun je soms de shell gewoon helemaal uitschakelen (zie bovenstaande methode) om in een normale opstartlus terecht te komen. Houd er echter rekening mee dat sommige besturingssystemen of configuraties daadwerkelijk EFI nodig hebben. In dat geval is het repareren van de bootloader of EFI-invoer de oplossing.
Dat is het zo’n beetje. Het oplossen van EFI-problemen in VirtualBox kan een gedoe zijn, maar meestal komt het neer op het opnieuw instellen van het opstartpad of het wijzigen van de opstartmodus. Na een tijdje met EFI te hebben gespeeld, is het vreemd hoe het omdraaien van een instelling of het kopiëren van een bestand zo’n verschil kan maken.