zur Startseite

Druckausgabe von https://privat.albicker.org
Iveco Daily 4x4, Hunde und multithematisches Blog

Überzählige UEFI-Booteinträge löschen

veröffentlicht am 25.08.2018 - aktualisiert am 04.10.2021 mit 1055 Worten - Lesezeit: 5 Minute(n) in * LINUX *

Inhaltsverzeichnis

 

Zu Zeiten des alten BIOS konnte man eine Festplatte mit installiertem Betriebssystem in irgendeinen Rechner stecken, das BIOS hat den Startsektor gesucht und dann das Betriebssystem gestartet.
Umgekehrt - und darum soll es hier gehen - hat es nichts von einem Betriebssystem gewußt, wenn man dieses gelöscht oder den entsprechenden Datenträger entfernt hat. Nicht so UEFI - der BIOS-Nachfolger hat ein “Gedächtnis”, und das nervt zuweilen.

Gestern hatte ich beschrieben, daß ich ganz gerne 2 (identische) Festplatten im Rechner habe, um z. B. andere Betriebssysteme zu testen - oder auch nur, um die Nutzdaten selbst auf dem Rechner doppelt vorrätig zu haben, wenn ich mal wieder “bastle”.
In der Folge sammeln sich Einträge im UEFI-Bootmenü an - einige davon enden, wenn man diese über das Bootmenü wählt - in einem blinkenden Cursor oder einer Fehlermeldung. Es wird deutlich übersichtlicher, wenn man diese Einträge wieder loswerden könnte.

Der Artikel bezieht sich zunächst auf ein installiertes Linux-Betriebssystem. Wie (benachteiligte) Windows-User damit ans Ziel kommen können, das ist weiter unten beschrieben.

Wie funktioniert der Boot-Vorgang mit UEFI?

Eine vollständige Beschreibung gibt es in der PC-Welt, hier ist nur dieses wichtig:

D.h.: Jedes Betriebssystem schreibt in die EFI-Partition seinen Bootmanager, bei Linux-Systemen ist das i. d. R. der GRUB-Bootmanager, bei Windows-Systemen der Windows-Start-Manager, der sich in Windows mit dem Befehl bcdedit anpassen läßt.

Einer dieser jeweiligen Bootmanager wird beim Rechnerstart aus dem UEFI aufgerufen und zeigt die ihm bekannten Betriebssysteme zur Auswahl an.

Zur Sicherheit kann man an dieser Stelle ermitteln, ob der betreffende Rechner tatsächlich im UEFI-Modus gestartet wird:

~$ test -d /sys/firmware/efi  && echo UEFI || echo BIOS
UEFI

Dann lautet die Ausgabe in der zweiten Zeile wie hier gezeigt: UEFI.

UEFI aufräumen

Bestandsaufnahme der bootfähigen Systeme auf der Platte

Zunächst wechselt man im Terminal in das EFI-Verzeichnis:

# cd /boot/efi/EFI  

und läßt sich die Starteinträge der vorhandenen Betriebssysteme anzeigen

# ls -la
insgesamt 2
drwx------ 3 root root  512 Jun 18  2017 .
drwx------ 3 root root  512 Jan  1  1970 ..
drwx------ 3 root root 1024 Feb 25 18:56 ubuntu

In meinem Fall gibt es genau einen Eintrag des installierten Linux Mint, der sich hinter der Bezeichnung ubuntu verbirgt. Das ist so in Ordnung, denn auf der Platte gibt es genau ein Betriebssystem auf der zweiten Partition:

Partitionen auf meiner Festplatte

oder:

$ sudo parted -l
Modell: ATA WDC WD20EZRZ-00Z (scsi)
Festplatte  /dev/sda:  2000GB
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem     Name                  Flags
 1      1049kB  106MB   105MB   fat32           EFI System Partition  boot, esp
 2      106MB   69,9GB  69,8GB  ext4
 3      69,9GB  87,1GB  17,2GB  linux-swap(v1)
 4      87,1GB  2000GB  1913GB  ext4

NVRAM korrigieren

Nun kommt efibootmgr zum Einsatz.

Das Paket efibootmgr ist ein Linuxprogramm um die Konfiguration des (U)EFI‐Boot-Menüs im NVRAM im Terminal zu verändern.

Der Befehl

$ sudo efibootmgr

liefert ohne weitere Parameter eine Kurzinformation dieser Art:

BootCurrent: 0007
Timeout: 0 seconds
BootOrder: 0005,0004,0006,0007,0000
Boot0000  ubuntu
Boot0004* CD/DVD Drive 
Boot0005* Hard Drive 
Boot0006  UEFI OS
Boot0007  ubuntu

Hier ist erkennbar, daß es zwei Einträge ubuntu gibt und einen weiteren mit der Bezeichnung UEFI OS.
In der ersten Zeile wird angegeben, daß der Eintrag 0007 derjenige ist, der das derzeit laufende System gestartet hat. Folglich sind die beiden anderen unnötig und können entfernt werden:

$ sudo efibootmgr -b 0000 -B
BootCurrent: 0007
Timeout: 0 seconds
BootOrder: 0005,0004,0006,0007
Boot0004* CD/DVD Drive 
Boot0005* Hard Drive 
Boot0006  UEFI OS
Boot0007  ubuntu

und

$ sudo efibootmgr -b 0006 -B
BootCurrent: 0007
Timeout: 0 seconds
BootOrder: 0005,0004,0008,0007
Boot0004* CD/DVD Drive 
Boot0005* Hard Drive 
Boot0007  ubuntu

Zum Schluß wird der Eintrag 0007 in der Boot-Reihenfolge an den ersten Platz gesetzt:

$ sudo efibootmgr -o 0007,0004,0005
BootCurrent: 0007
Timeout: 0 seconds
BootOrder: 0007,0004,0005
Boot0004* CD/DVD Drive 
Boot0005* Hard Drive 
Boot0007  ubuntu

Rechner neu starten und freuen … :)

Was macht nun der Windows-User?

Nun, er kann - wie er das gewohnt ist - auf die Suche gehen, ob irgendwo auf der Welt irgendeine Bude gegen Geld ein Tool gebaut hat, das evtl. das Problem löst …

Ich möchte hier einen anderen (einfachen und kostenlosen) Weg zeigen.

Live-CD besorgen

Im ersten Schritt besorgt man sich eine Installationsdatei einer Linux-Distribution seiner Wahl, z. B. die deutschsprachigen Live-CDs von Linux Mint (im ersten Beitrag den aktuellsten Eintrag wählen). Es werden verschiedene Desktop-Varianten angeboten, MATE ist übersichtlich und für den Zweck hier mehr als ausreichend.

Man erhält eine .ISO-Datei, die man dann auf eine DVD oder einen USB-Stick schreibt.

Image auf Medium schreiben

Für Windows-User wird hier immer auf Balena Etcher verwiesen, wenn man die ISO auf einen USB-Stick schreiben will. Dazu sind die folgenden Schritte nötig:

  1. Start, 1. Button drücken

    =Bildbeschreibung=

  2. ISO-Datei wählen

    =Bildbeschreibung=

  3. Zweiter Button

    =Bildbeschreibung=

  4. Datenträger (also den USB-Stick) wählen

    =Bildbeschreibung=

  5. Der dritte Button startet den Prozess

    =Bildbeschreibung=

  6. Hoffentlich kommt am Ende dann die Erfolgsmeldung ‘Flash Complete!’

    =Bildbeschreibung=

(Unter Linux verwende ich die vorhandenen Bordmittel, z. B. die Laufwerksverwaltung).

Das Schreiben der ISO auf eine DVD funktioniert auch unter Windows ohne weitere Software: ISO auswählen, dann Rechtsklick:

=Bildbeschreibung=

im nächsten Schritt den Datenträger (DVD-Laufwerk) auswählen und bestätigen:

=Bildbeschreibung=

Live-System starten

Der Rechner wird heruntergefahren, die CD eingelegt bzw. der USB-Stick angeschlossen und neu gestartet. Wenn alles gut geht, dann erscheint der Linux-Bootmanager:

=Bildbeschreibung=

Wenn dieser Bildschirm nicht erscheint, ist für gewöhnlich das BIOS/UEFI des PCs nicht für das Booten von CD/DVD oder USB eingestellt. Starte den Computer neu und drücke F1, F2, Entf oder Esc (oder welche Taste auch immer in die BIOS Konfiguration führt, das wird in der Regel beim Start kurz angezeigt) und ändere die BIOS Einstellungen im Boot Bereich dahingehend, dass er zuerst von CD/DVD zu booten versucht. Auf manchen PCs führt die Taste F8 oder F12 direkt zur Einstellung der Bootreihenfolge.

=Bildbeschreibung=

‘efibootmgr’ ausführen

Nun geht’s also an die Arbeit:

  1. Terminal öffnen

    =Bildbeschreibung=

  2. die oben beschriebenen Schritte durchführen.

    =Bildbeschreibung=

abschließende Hinweise

Schon die Zahl der Screenshots hier zeigt: ist halt ‘n Gefrickel mit dem Windows 😳.

Viel Erfolg!

 


weitere Artikel