lip:uefi-ubuntu
Inhaltsverzeichnis
Rechner mit UEFI bootbar machen
- Anleitung nach https://help.ubuntu.com/community/UEFIBooting funktioniert (bei Mmoebius)
Grundlagen und Missverständnisse
UEFI-Erkennung
- EFI wird nicht erkannt, wenn das System nicht als EFI-Gebootet wurde.
- Typische Fehlermeldungen:
- Try „sudo insmod efivars“ , aber
/sys/modules/efivars
existiert bereits, insmod-Befehl schlägt fehl. dmesg | grep -i efi
liefert nur eine Zeile, offensichtlich keine EFI-Variablen/sys/firmware/efi/vars
ist nicht vorhanden oder leer
- Achtung: Mainboard „ASUS E35M“ will USB-Sticks im UEFI-Modus nur von [UEB-Stick]/EFI/BOOT/BOOTX64.EFI booten
EFI mit MBR-Platte
- EFI funktioniert auch mit MBR-Platten
- EFI-ID im MBR „ef“, Filesystem FAT12 FAT16 oder FAT32 (FAT32 getestet,ok)
- EFI-Bootloader werden (außer auf USB-Sticks oder CDs) nicht gescannt sondern müssen mit efibootmgr (siehe unten) eingetragen werden.
EFI mit GPT-Platte
- GPT-EFI-Partition hat FAT32 und spezielle GUID, siehe http://en.wikipedia.org/wiki/EFI_System_Partition
- gparted kann auch GPT-Platten bearbeiten
- Gparted macht auch einer ca. 200 MiB großen ersten Partition mit dem Namen „UEFI“ und dem Filesystem FAT32 automatisch eine richtige EFI-Systempartition mit der „EFI-magic-GUID“ aus http://en.wikipedia.org/wiki/EFI_System_Partition
- GPT-EFI-Partionen werden nicht nach möglichen Bootloadern gescannt, sondern diese müssen mit efibootmgr (siehe unten) eingetragen werden.
Installation
- Bei der Installatiuon
- EFI-Systempartition als /boot/efi mit installieren
- EFI-Bootloader installieren (bei der Installation)
- chroot in /target gemäß Anleitung
- mount /dev/ /target/dev, etc.
- chroot /target /bin/bash -l
- mount /boot/efi
- apt-get-install grub-efi
- cd /boot/efi/EFI/BOOT
- mv ubuntu BOOT
- cd BOOT mv grubx64.efi BOOTX64.EFI
- cp -R /boot/grub/. .
EFI-Boot-Eintrag erzeugen
- Prärequisite:
- System muß im UEFI-Modus gebootet sein, sonst sind meist keine EFI-Variablem vom Kernel detektierbar.
- efibootmgr gemäß Anleitung laufen lassen https://help.ubuntu.com/community/UEFIBooting#Non-Mac_x86_64_UEFI_systems
- efibootmgr –create –disk /dev/sda –part 1 –write-signature –label „Linux-UEFI“ –loader „\\EFI\\BOOT\\BOOTX64.EFI“
- ggf. im o.a. Eintrag –gpt einbauen, wenn die Platte eine GPT-Platte ist.
Windows aus Grub heraus im EFI-Modus booten
siehe http://www.rodsbooks.com/efi-bootloaders/grub2.html
menuentry "Windows 7" { set root='(hd0,gpt1)' chainloader /EFI/microsoft/BOOT/bootmgfw.efi }
Windows reparieren
- Der Windows-Bootloader meldet sich nach einer Änderung am EFI oder an der Partitionstabelle nur noch mit einer Fehlermeldung
0xc00000xyz
. Wahrscheinlich ist die BCD (Boot Configuration Data) - Datei auf dem System nicht aktuell.- Windows 7 Rescue-USB-Stick nehmen.
- Stick starten
- Sobald Windows gestartet ist: mit Shift-F10 Windows-Shell starten
- 1. Versuch:
bootrec.exe /RebuildBCD
- 2. Versuch:
diskpart
list volume
- hier sucht man die Nummer <nummer> der EFI-Partition, der vmtl. keine Volume (Laufwerksbuchstabe) zugewiesen ist
select volume
<nummer>
assign
- Weist der Partition eine Volume (Laufwerksbuchstaben) zu und „mountet“ diese.
- diskpart beenden
dir
Volume:
- Zum Prüfen der richtigen Zuweisung der Boot-Partition. Nicht, dass man hier versehentlich den Boot-Stick erwischt
bcdedit /sysstore
Volume:
- Leitet das Speichern des BCDs auf Volume: um.
bootrec.exe /RebuildBCD
- Schreibt den BCD nun auf das richtige Volume
BCD (Boot Configuration Data) bearbeiten
- Einen beliebige BCD-Datei zum Bearbeiten auswählen:
bcdedit /store x:/path/to/BCD /enum
Test of im MBR- oder (U)EFI-Modus
Das ist ungetestet. Bitte selbst verifizieren
- bcdedit.exe /sysstore <existierendes Laufwerk>
- Im (U)EFI-Modus: funktioniert
- im MBR-Modus: Fehlermeldung „
Fehler beim Ausführen des Befehls zum Festlegen des Systemspeichergerätes. Die Anforderung wird nicht unterstützt.
“
lip/uefi-ubuntu.txt · Zuletzt geändert: 2013/02/01 02:15 von mmoebius