Benutzer-Werkzeuge

Webseiten-Werkzeuge


lip:uefi-ubuntu

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lip:uefi-ubuntu [2012/10/10 14:16] mmoebiuslip:uefi-ubuntu [2013/02/01 02:15] (aktuell) – /* BCD (Boot Configuration Data) bearbeiten */ mmoebius
Zeile 1: Zeile 1:
  
 +======= 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 „<code>Fehler beim Ausführen des Befehls zum Festlegen des Systemspeichergerätes. Die Anforderung wird nicht unterstützt.</code>