EFI Problembehebung
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Seit mehreren Jahren kommen zunehmend Computer-Systeme auf den Markt, die mit einem Unified Extensible Firmware Interface (kurz (U)EFI) in der Mainboards-Firmware ausgestattet sind statt der lange Zeit genutzten BIOS-Firmware.
Daraus ergeben sich eine Reihe von Fragen bis hin zu ernsthaften Problemen zur Integration in und von Ubuntu .
Dieser Artikel stellt eine Sammlung der Erfahrungen von den Autoren zusammen, die diese bei Ihrer Arbeit gesammelt haben. Diese Sammlung erhebt keinen Anspruch auf Vollständigkeit - Erfahrungen kann man nicht lesen, die muss man selber machen!
Standardfragen und Antworten¶
Probleme bei der Installation¶
Gab es beim Versuch einer Installation Probleme, so sollte man das System mit einer Live-System gezielt untersuchen. Man sollte das Live-System im EFI-Modus starten und am Desktop die folgenden Maßnahmen ausführen.
NVRAM auslesen¶
Dazu öffnet man ein Terminal mit der Tastenkombination
Strg + Alt + T
und gibt in das Terminal [1] ein:
sudo apt-get install efibootmgr
sudo efibootmgr -v
Es wird eine Liste der Einträge im NVRAM angezeigt. Auch das Installations-Medium muss in dieser Liste sein. Eine typische Ausgabe ist beispielhaft
Boot0001* Windows Boot Manager HD(1,800,32000,34911255-cfd8-43ce-a600-fb43636a9c2c)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................
Daraus lässt z.B ableiten:
markierte Stelle = Betriebssystem
markierte Stelle = lfd. Datenträger
markierte Stelle = Pfad mit Startdatei auf der EFI-Partition
Informationen zum EFI-BIOS¶
Eine weitere Informationsquelle sind die Angaben zum EFI-BIOS im System. Dazu gibt man in das Terminal [1] ein:
sudo dmidecode -t0 | grep -Ei (BIOS boot|UEFI)
Als Rückmeldung erhält man dann je nach System:
Computer verfügt nur über ein BIOS ohne UEFI
BIOS boot specification is supported
Computer verfügt über ein UEFI mit CSM
BIOS boot specification is supported UEFI is supported
Computer verfügt nur über ein UEFI ohne CSM
UEFI is supported
Information zu den Datenträgern¶
Man kann sich eine Übersicht über die vorhandenen Festplatten machen. Dazu öffnet man die Laufwerksverwaltung mit
Windows -Taste antippen → "Laufwerksverwaltung" bzw. "disks" ins Suchfeld eingeben → ⏎
Dann öffnet sich ein Fenster, in dem links angezeigt wird, welche Laufwerke im Rechner sind, dass ist schon mal die erste Kontrolle. Das Fenster auf Vollbild stellen → oben links.
Nun mit der linken -Taste die Festplatte(n nacheinander) anklicken und die Aufteilung sich ansehen
Obere Hälfte Angaben zur Festplatte
Untere Hälfte welche Partitionen gibt es
ganz unten nach dem Anklicken einer Partition kann man sich mit
"Partition bearbeiten"
weitere Details anzeigen lassen. Hierbei ist es bei einem vorhandenen Windows EFI-System wichtig, dass folgende zwei Partitionen zu finden sind:
"EFI-Systempartition"
"Reservierte Microsoft-Partition"
Als Ergänzung sollte man noch die Formatierung und Aufteilung der Datenträger im Terminal [1] sich ansehen mit
sudo parted -l
Eine hierbei auftretenden Fehlermeldungen muss man nun im Detail überprüfen - siehe dazu MischMasch Partitions-Tabelle.
Probleme und Lösungen¶
Mein Ubuntu ist nicht im EFI-Menü¶
Das Aufrufen einer Ubuntu-Installation erfolgt nach einer Ubuntu EFI Installation in der Regel automatisch. Es wird der Eintrag im NVRAM benutzt, der mit der Installation angelegt wurde. Desweiteren kann man diese EFI-Installation auch aufrufen über
EasyBCD Anzeige EFI-Partition |
Ist das Starten nach einer Ubuntu EFI Installation damit nicht möglich, kann man versuchen, dieses mit dem Windows Bootmanger zu erreichen. Dieses ist insbesondere für solche EFI-BIOS von Interesse, die den Ubuntu-Eintrag im EFI-Menü nicht anzeigen.
Mit der Windows Anwendung EasyBCD kann man sich u.a. die Einträge in der EFI-Partition anzeigen lassen, jedoch ist damit keine Ergänzung mit einem EFI-Eintrag um diese Bootoption im Windows Bootmanager möglich. Aber man erkennt, dass das Ubuntu auf dieser Partition eingerichtet wurde. Nun kann man den erforderlichen Booteintrag manuell generieren. Dazu ruft man am Windows Desktop das Terminal mit Adminrechten auf und gibt dort ein:
bcdedit /create /d "Mein Linux" /application bootsector
Ausgegeben wird eine Zeichenkette / UUID innerhalb geschweifter Klammern, zum Beispiel:
{ef8119c2-86bc-11dc-99e3-0019dbeb3cb3}
Ergebnis manueller Eintrag |
Diese UUID muss man bei dem nächsten Befehl einmal sorgfältig in den markierten Bereich von Hand zwischen die geschweiften Klammern gegeben.
bcdedit /set {UUID} device partition=\Device\HarddiskVolume1
Danach mit ↑ den vorherigen Eintrag wieder zurückrufen und dann die Parameter korrigieren auf
bcdedit /set {UUID} path \EFI\ubuntu\grubx64.efi # oder shimx64.efi
bcdedit /displayorder {UUID} /addlast # oder /addfirst
Am Ende lässt man sich das Ergebnis anzeigen mit
bcdedit /enum
und es sollte dann wie in der Abbildung aussehen. Damit erscheint dieses im Windows 7 als Auswahlzeile bzw. in Windows 8 als App, die dann (hoffentlich) das Ubuntu startet.
Komme nicht ins EFI-BIOS¶
Meistens wird das neue (U)EFI-Computer-System ausgeliefert mit einem
Windows 8 Betriebssystem¶
Dieses startet man ganz normal und am Desktop betätigt man die folgende Tastenkombination:
Windows + R
und gibt dann in die Befehlszeile ein
shutdown /r /o /t 1
Damit wird die Reparaturkonsole (auch ganz ohne CD/DVD bzw. USB-Stick) gestartet. Dann arbeitet man nacheinander die "Apps" ab
"Problembehandlung"
"Erweiterte Optionen"
"UEFI-Firmwareeinstellungen" → Button "Neu Starten"
Danach rebootet Windows 8 in das Firmware-Setup.
Mit Ubuntu CD/DVD¶
Man kann alternativ versuchen, das Firmware-Setup auch mit dem Ubuntu Installations-Medium aufzurufen - sofern dieses nicht von den Einstellungen im Setup abgeblockt wird. Bei einer CD/DVD wählt man am GRUB 2-Menü nach dem Start
mit ↓ zum Eintrag "Check disc for defects"
mit E den Editor aufrufen
und löscht mit ⌫ die letzten Zeilen
ergänzt dafür mit
"insmod efifwsetup"
"fwsetup"
startet mit F10
und gelangt nach dem Reboot in das Firmware-Setup.
Mit Ubuntu USB-Stick¶
Hat man sich den Empfehlungen angeschlossen, das ISO z.B mit UNetbootin auf einen USB-Stick zu bringen, so kann man auf dem USB-Stick die Datei am Ende
/boot/grub/grub.cfg
mit folgender Sequenz ergänzen:
1 2 3 4 5 | menuentry 'Firmware Setup aufrufen' { set gfxpayload=keep insmod efifwsetup fwsetup } |
Mit den anderen Ergänzungen (siehe Beispiel bei Boot Optionen anpassen) erhält man dann gleichzeitig ein Universal-Werkzeug - zum Installieren, Reparieren sowie Stöbern im Firmware-Setup.
Ubuntu auf USB-Festplatte¶
Hat man bereits ein Ubuntu Betriebssystem im EFI-Modus auf einer (externen) Festplatte, so kann man die direkte Auswahl im GRUB 2-Menü benutzen. Diese Option ist allerdings erst ab Quantal Quetzal gegeben.
Spezialfall MBR-GPT-Mischmasch¶
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Ein "GPT-MBR-Mischmasch" entsteht ganz leicht beim Herumprobieren von verschiedenen Installationen auf einem EFI-System. Dieses Herumprobieren wird dadurch provoziert, dass der Ubuntu-Installer - genauer gesagt das Paket os-prober - derzeit keine EFI-Installationen erkennt.
Beim Herumprobieren - sprich beim erneuten Installieren - werden dann in der Regel, Partitionstabellen nur neu angelegt. Beim Neuanlegen werden aber Strukturen einer alten anderen Partitionstabelle nicht gelöscht - zumindest sehr häufig nicht.
D.h. wenn man z.B. auf dem Datenträger bisher ein msdos-Partitionierungs-Schema hatte und legt dann ein GPT-Partitionierungs-Schema an, dann können Reste des msdos-Schemas erhalten bleiben, obwohl das neue GPT-Schema eingerichtet wird und an sich auch funktioniert. Das gilt noch mehr für den umgekehrten Fall, dass man erst ein GPT-Schema hatte und dann zum msdos-Schema wechselt.
Problem für den "normalen Nutzer" ist dabei, dass sowohl im Windows-Setup als auch im Ubuntu-Installer gar nicht oder nicht ausreichend transparent wird, welches Schema verwendet bzw. neu angelegt wird.
Erkennen eines MBR-GPT-Mischmasches¶
Das Vorliegen von msdos- und GPT-Strukturen auf ein und dem selben Datenträger erkennt man an der Ausgabe von parted:
ubuntu@ubuntu:~$ sudo parted -l Warning: /dev/sda contains GPT signatures, indicating that it has a GPT table. However, it does not have a valid fake msdos partition table, as it should. Perhaps it was corrupted -- possibly by a program that doesn't understand GPT partition tables. Or perhaps you deleted the GPT table, and are now using an msdos partition table. Is this a GPT partition table? Yes/No?
In GParted erkennt man es daran, dass keine Partitionen auf dem Datenträger angezeigt werden.
Auflösen des MBR-GPT-Mischmasches vor vollständiger Neuinstallation¶
Den MBR-GPT-Mischmasch kann man bei Neuinstallation auflösen indem man vor der Installation beide Strukturen vollständig entfernt. Das geht von Linux aus wie folgt:
Löschen des msdos-Schemas¶
sudo dd if=/dev/zero of=/dev/sdX count=2048
/dev/sdX
ist dabei durch den Datenträger zu ersetzen, den man bereinigen möchte. Mit diesem Befehl wird der MBR und der dahinterliegende verborgene Bereich genullt, was für das Löschen des msdos-Schemas ausreichend ist.
Löschen des GPT-Schemas¶
Obwohl die primären GPT-Informationen auch innerhalb der ersten 2048 Sektoren liegen, reicht hier für ein sauberes Löschen der GPT-Struktur ein Nullen dieses Bereiches nicht aus. Ein vollständiges Löschen ist effizient nur mittels gdisk möglich:
sudo gdisk /dev/sdX
/dev/sdX
mit der zu bereinigenden Platte ersetzen.gdisk präsentiert daraufhin wahrscheinlich die folgende Abfrage:
GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: present Found valid MBR and GPT. Which do you want to use? 1 - MBR 2 - GPT 3 - Create blank GPT Your answer:
Da man hier ohnehin alle Strukturen vom Datenträger löschen möchte, ist es in dem Fall egal, ob man 1 , 2 oder 3 drückt.
X drücken um in das extra-functionality-Menü zu gelangen.
Z drücken um etwaige Reste eines GPT-Schemas zu löschen.
Dabei beide Nachfragen mit Y bestätigen gdisk sollte anschließend selbständig schließen.
Alternativ könnte man auch den vollständigen Datenträger mit Nullen überschreiben lassen, was dann aber im Verhältnis viel länger dauern würde.
Wenn beide Strukturen gelöscht wurden, dann kann man wieder sauber neu installieren, wobei man dabei unbedingt die Hintergründe einer Installation auf einem EFI-System beachten muss. Siehe dazu oben ab Vorbemerkung).
Auflösen des MBR-GPT-Mischmasches im bereits installierten und an sich lauffähigen System¶
Auch wenn das System bereits installiert ist, kann man den Mischmasch aus msdos- und GPT-Strukturen beseitigen. Voraussetzung ist, dass man sich zunächst gdisk auf dem System installiert.
Achtung!
Auch wenn gdisk in aller Regel zuverlässig arbeitet, stellen Operationen am Partitionierungs-Schema einen sehr risikoreichen Vorgang dar, bei dem es im schlimmsten Fall zu Datenverlust kommen kann. Wichtige Daten müssen daher vor der Operation unbedingt extern gesichert werden!
Löschen von nicht benötigten verbliebenen GPT-Strukturen¶
Nutzt man auf dem System aktuell ein msdos-Schema und möchte übriggebliebene GPT-Strukturen löschen, so geht man wie folgt vor:
sudo gdisk /dev/sdX
/dev/sdX
mit der zu bereinigenden Platte ersetzen.gdisk präsentiert daraufhin wahrscheinlich die folgende Abfrage:
GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: present Found valid MBR and GPT. Which do you want to use? 1 - MBR 2 - GPT 3 - Create blank GPT Your answer:
Hier muss man mit 1 antworten!
X drücken um in das extra-functionality-Menü zu gelangen.
Z drücken um etwaige Reste eines GPT-Schemas zu löschen.
Achtung: Nach drücken von Z stellt gdisk zwei Fragen. Die erste bezüglich des Löschens des GPT-Schemas beantwortet man mit Y . Die zweite Frage bezüglich des MBR muss man unbedingt mit N beantworten, da man andernfalls das bestehende, funktionstüchtige msdos-Schema löscht!
Löschen von nicht benötigten verbliebenen msdos-Strukturen¶
Setzt man aktuell eine GPT-Struktur ein und muss Reste einer msdos-Struktur entfernen, so erfolgt dies ebenfalls mittels gdisk:
sudo gdisk /dev/sdX
/dev/sdX
mit der zu bereinigenden Platte ersetzen.gdisk präsentiert daraufhin wahrscheinlich die folgende Abfrage:
GPT fdisk (gdisk) version 0.8.1 Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: present Found valid MBR and GPT. Which do you want to use? 1 - MBR 2 - GPT 3 - Create blank GPT Your answer:
Hier muss man mit 2 antworten!
X drücken, um in das extra-functionality-Menü zu gelangen.
N drücken, um einen sauberen Protectiv-MBR zu erzeugen und damit Reste eines msdos-Schemas zu löschen.
W drücken, um die Veränderungen zu übernehmen und gdisk zu verlassen.
Die Nachfrage mit Y bestätigen.
Links¶
intern¶
EFI_Bootmanagement Übersicht zur Artikelserie
EFI_Grundlagen - Alles Wissenwerte rund um Ubuntu mit einem (U)EFI-BIOS]
EFI_Installieren - Hinweise vor einer und zur Installation
EFI_Nachbearbeitung - Hinweise und Maßnahmen nach einer Installation
Das EFI_Werkzeug - (U)EFI-Menü einstellen und prüfen
UNetbootin - Eine ISO-Datei auf einen USB-Stick bringen
Startmedienersteller - Eine ISO-Datei auf einen USB-Stick bringen
extern¶
UEFI - Unified Extensible Firmware Interface
UEFI Spezifikation🇺🇸 - Aufbau und Grundsätze
NVRAM - Non-Volatile Random-Access Memory