Tips voor UEFI en Linux

Dual boot met Windows

Linux kan ook op een UEFI systeem prima in een dual boot configuratie met Windows met Windows worden gebruikt. Wel moet "Fast Boot" of  "Fast Startup" in de UEFI uit worden gezet. Ook Secure Boot hoeft meestal geen beletsel te zijn omdat de belangrijkste Linux distributies het wel ondersteunen.

Een probleem vormen echter computers die bij ieder gebruik van Windows de standaard bootvolgorde terugzetten, waardoor daarna de Linux bootmanager Grub wordt omzeild en direct Windows wordt gestart. Gelukkig is daar een oplossing voor.

Op de EFI Systeem Partitie (ESP), vanuit Linux bereikbaar via /boot/efi, vindt u een map EFI, waarin voor elk geinstalleerd besturingssysteem een map met zijn opstartbestanden wordt geplaatst. Zo ook voor Microsoft en bijvoorbeeld Ubuntu of openSUSE. Daarnaast is er een submap Boot, waarin het standaard opstartbestand staat voor het geval er niet expliciet een opstartvolgorde is gegeven. Op sommige computers, zoals de Sony Vaio Ultrabook en de HP Pavillion 500, wordt bij gebruik van Windows steeds de opstartvolgorde teruggezet. Dat betekent dat

EFI/Microsoft/Boot/bootmgfw.efi

wordt uitgevoerd zodat Windows wordt gestart. Het systeem kun je voor de gek houden door dit opstartbestand te vervangen door een ander, gewenst opstartbestand:

  1. Kopieer de Linux opstartbestanden van naar de Microsoft/Boot map. Voot Ubuntu zijn dit: shimx64.efi, grubx64.efi en grub.cfg, en voor openSUSE shim.efi, grub.efi en grub.cfg.
  2. Geef bootmgfw.efi een andere naam, bijvoorbeeld windows.efi.
  3. Maak voor alle zekerheid ook een backup zonder efi extensie met bijvoorbeeld de naam bootmgfw.efi.microsoft.
  4. Maak een kopie van shim.efi met de naam bootmgfw.efi.
  5. Vervang bootmgfw.efi in het configuratiebestand van Grub door windows.efi, zodat Windows via Grub kan worden gestart.

Dit zou voldoende moeten zijn.

Het gevaar bestaat dat bij een update van Windows ook bootmgfw.efi vervangen wordt door een nieuwere versie. Als Windows het originele bestand niet terug kan vinden zal de update waarschijnlijk mislukken. Ik heb dat op de Sony Vaio Ultrabook al een keer meegemaakt. In dat geval moet het originele bestand tijdelijk weer worden teruggezet om de update goed te laten verlopen. Daarna moeten de punten 1 en 3 weer worden uitgevoerd.

In de map EFI/Boot vindt u het standaard opstartbestand bootx64.efi, dat ook van Microsoft afkomstig is. Het is voor alle zekerheid beter om ook dit bestand op dezelfde wijze te vervangen als bootmgfw.efi, dus:

  1. Kopieer de opstartbestanden van opensuse naar de Boot map: shim.efi, grub.efi en grub.cfg.
  2. Geef bootx64.efi een andere naam, bijvoorbeeld bootx64.efi.microsoft.
  3. Maak een kopie van shim.efi met de naam bootx64.efi.

Meer is in dit geval niet nodig.

Ook bij updates van Linux kunnen zijn opstartbestanden worden vervangen. U zult er dan zelf voor moeten zorgen dat ze ook in de mappen Microsoft/Boot en Boot worden vervangen door de nieuwe versies.

Dit alles kan ook vanuit Windows worden gedaan. Open een opdrachtvenster met Administrator rechten en geef daarin de opdracht

mountvol <driveletter>: /s

met in plaats van <driveletter> de gewenste driveletter, bijvoorbeeld U:. Daarna is de ESP toegankelijk als drive U:; let wel: alleen als Administrator.

 

Categorieën