ubuntuusers.de

UEFI Boot: Fehlender Eintrag von Ubuntu im NVRAM

Status: Ungelöst | Ubuntu-Version: Ubuntu 17.10 (Artful Aardvark)
Antworten |

Ben1000

Anmeldungsdatum:
20. Juli 2005

Beiträge: 41

Liebe Gemeinde, ich brauch mal wieder eure Hilfe.

Ich versuche gerade auf einen Lenovo Ideapad U330p Ubuntu zu installieren - und bin der Verzweiflung nahe 😉. Genauer, der EFI Bootmanager bringt mich zum verzweifeln.

Ich habe bei der Installation Windows komplett gelöscht und Ubuntu die Formatierung/Partioninierung der SSD überlassen. Die Installation läuft sauber durch. Leider taucht Ubuntu nicht im EFI Bootmenü auf. Es wird noch das gelöschte Windows, der Lenovo Recovery (ist ja auch gelöscht) und mein USB-Stick mit dem Installations-Live-Ubuntu angezeigt. Über den USB Stick kann ich auch das Live-System starten und auch das neu installierte Ubuntu.

efibootmangr -v zeigt mir das neue Ubuntu System nicht an. Also vermute ich, dass der Eintrag nicht ins NVRAM geschrieben wurde. Nun habe ich das versucht mit:

1
sudo efibootmgr -c --bootnum 2004 -d /dev/sda -p 1 -L "Ubuntu" -l \\EFI\\ubuntu\\grubx.efi

Das klappt leider nicht, ich bekomme immer die Ausgabe: "Could not prepare Boot variable: Interrupted system call"

Tja, jetzt bin ich mit meinem Latein am Ende. Ich hoffe, ihr könnt mir helfen!

LG, Benjamin

Ben1000

(Themenstarter)

Anmeldungsdatum:
20. Juli 2005

Beiträge: 41

Nachdem ich in den NVRAM wirklich nicht schreiben kann, vermute ich, dass es am secure boot liegt. Nachdem ich jetzt etwas im BIOS rumgespielt habe, habe ich bemerkt, dass das BIOS gar keine Änderungen annimmt! Wie kann das gehen? Ich habe zwar die jeweiligen Einstellungen, aber wenn ich etwas umstelle und auf save and exit klicke und reboote, sind alle Änderungen wieder weg! So bekomme ich das secure boot auch nicht ausgeschaltet!

Weiß keiner Rat?

undine

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo Ben,

setzte das Bios auf die default-Werte zurück. "disable" intel-rapid-start und sercure-boot.

Dann startest Du mit rEFInd dein System.

https://sourceforge.net/projects/refind/

Version für USB Stick: refind-flashdrive-0.11.2.zip

Ist dein Ubuntu damit gestartet installierst Du Grub neu.

sudo grub-install --uefi-secure-boot 

Greetz

undine

Ben1000

(Themenstarter)

Anmeldungsdatum:
20. Juli 2005

Beiträge: 41

Hallo undine. Vielen Dank für dein Lösungsversuch. Ich kann mit dem Live-Ubuntu das Ubuntu auf der Festplatte ohne Probleme fremdstarten (das wolltest du mit refind machen, aber das dürfte ja keinen Unterschied machen.

Leider kann ich auch im Bios weder auf Default-Werte zurücksetzen, noch secure- boot ausschalten (inter-rapid-start hab ich nicht gefunden). Das Bios nimmt die Änderungen nicht an, nach dem Neustart ist alles wieder wie vorher. Auch der "secure-boot-status" ändert sich nicht. Es scheint, als kann ich im Bios nichts mehr ändern.

Anscheinend kann Grub auch nicht in den nvram schreiben, siehe letzte Zeile des Protokolls:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
...
grub-install: Info: adding a relocation entry for 0xce90.
grub-install: Info: adding a relocation entry for 0xce98.
grub-install: Info: adding a relocation entry for 0xcea8.
grub-install: Info: adding a relocation entry for 0xceb0.
grub-install: Info: adding a relocation entry for 0xcec0.
grub-install: Info: adding a relocation entry for 0xcec8.
grub-install: Info: adding 200 padding fixup entries.
grub-install: Info: writing 1040 bytes of a fixup block starting at 0xc000.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/fshelp.mod.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/ext2.mod.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/part_gpt.mod.
grub-install: Info: reading /usr/lib/grub/x86_64-efi/search_fs_uuid.mod.
grub-install: Info: reading /boot/grub/x86_64-efi/load.cfg.
grub-install: Info: kernel_img=0x5654bf14a980, kernel_size=0x18c00.
grub-install: Info: the core size is 0x1dfe0.
grub-install: Info: writing 0x1f200 bytes.
grub-install: Info: copying `/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed' -> `/boot/efi/EFI/ubuntu/grubx64.efi'.
grub-install: Info: copying `/usr/lib/shim/shimx64.efi.signed' -> `/boot/efi/EFI/ubuntu/shimx64.efi'.
grub-install: Info: copying `/usr/lib/shim/mmx64.efi.signed' -> `/boot/efi/EFI/ubuntu/mmx64.efi'.
grub-install: Info: copying `/usr/lib/shim/BOOTX64.CSV' -> `/boot/efi/EFI/ubuntu/BOOTX64.CSV'.
grub-install: Info: copying `/boot/grub/x86_64-efi/load.cfg' -> `/boot/efi/EFI/ubuntu/grub.cfg'.
grub-install: Info: copying `/usr/lib/shim/shimx64.efi.signed' -> `/boot/efi/EFI/BOOT/BOOTX64.EFI'.
grub-install: Info: copying `/usr/lib/shim/fbx64.efi.signed' -> `/boot/efi/EFI/BOOT/fbx64.efi'.
grub-install: Info: Registering with EFI: distributor = `ubuntu', path = `\EFI\ubuntu\shimx64.efi', ESP at hostdisk//dev/sda,gpt1.
grub-install: Info: executing efibootmgr --version </dev/null >/dev/null.
grub-install: Info: executing modprobe -q efivars.
grub-install: Info: executing efibootmgr -c -d /dev/sda -p 1 -w -L ubuntu -l \EFI\ubuntu\shimx64.efi.
Could not prepare Boot variable: Interrupted system call
Installation beendet. Keine Fehler aufgetreten.

Noch eine Idee?!

undine

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Bios auf default Werte setzen.

Evtl. Mainboard Batterie mal abklemmen.

Hast Du das aktuellste Bios für dein System?

Hast Du Passwörter im Bios gesetzt?

Ich kann mit dem Live-Ubuntu das Ubuntu auf der Festplatte ohne Probleme fremdstarten (das wolltest du mit refind machen, aber das dürfte ja keinen Unterschied machen.

Das Installierte System solltest Du mit rEFInd starten. Oder funktioniert das mti dem Live-Ubuntu auch?

bowman

Avatar von bowman

Anmeldungsdatum:
17. Februar 2010

Beiträge: 7502

sudo efibootmgr -c --bootnum 2004 -d /dev/sda -p 1 -L "Ubuntu" -l \\EFI\\ubuntu\\grubx.efi

Wenn nur Secureboot möglich ist, dann startet das System nur über die Datei \EFI\ubuntu\ shimx64.efi.

grubx.efi gibt es nicht sondern nur grubx64.efi.

Dazu solltest du mal in der EFI-Partiton nachschauen, welche Dateien dort hinterlegt sind. Dort sollten grubx64.efi, shimx64.efi und MokManager.efi vorhanden sein.

Um dem Eintrag richtig auszuführen, muss natürlich auch die Position der EFI-Partition richtig angegeben werden.

Poste bitte mal die folgenden Abfragen, aber vollständig, von Prompt zu Prompt:

sudo efibootmgr -v 
sudo parted --list
sudo dmidecode -t0 | grep -Ei "BIOS boot|UEFI" 
sudo dmidecode -t1  

Kann natürlich auch sein, dass dein UEFI verstümmelt ist.

Aber nachdem sich das Ubuntu installieren ließ und per EFI USB-Stick booten lässt, besteht noch Hoffnung das in den Griff zu bekommen.

Ben1000

(Themenstarter)

Anmeldungsdatum:
20. Juli 2005

Beiträge: 41

Bios auf Default funktioniert nicht. Ich setze auf Default → Save and Exit → der Laptop rebootet, aber die Einstellungen im Bios bleiben wie vorher. Es ist fast, also ob das BIOS nicht "schreibbar" wäre.

Es gibt noch eine neuere Version des BIOS, ab ich kann das Bios ja nicht flashen, solange ich kein Windows installiert habe. Passwörter habe ich meines Wissens keine gesetzt. Jedenfalls steht dort woüberall "not set". Allerdings habe ich das Laptop auch übernommen.

Ganz richtig, ich kann das installierte Ubuntu mit dem Live-System USB Stick starten (ich habe hier den Eintrag "Mein Ubuntusystem starten" oder so ähnlich per Hand hinzugefügt). Ich habe also Zugriff auf das installierte System. Bringt nur irgendwie nix, da ich von dort ja anscheinend auch nicht in den NVRAM schreiben kann.

Ich habe sogar gerade die Mainboard Batterie abgeklemmt. Das Bios hat auch resettet, sehe ich an dem Datum. Leider kann ich immer noch keine Änderungen vornehmen, die gespeichert werden ☹

Ben1000

(Themenstarter)

Anmeldungsdatum:
20. Juli 2005

Beiträge: 41

Leider habe ich auch so langsam das Gefühl, dass ich das UEFI geschrottet habe. Aber ich geb mal die Hoffnung nicht auf...

Hier die Infos:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
benjamin@benjamin-laptop:~$ sudo efibootmgr -v 
[sudo] Passwort für benjamin: 
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 2001,0000,0001,2002,2003
Boot0000* Windows Boot Manager	HD(2,GPT,d3b0c8f0-2c05-4661-9856-6ec3607ba258,0x1f4800,0x82000)/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.}...{................
Boot0001* Lenovo Recovery System	HD(3,GPT,8469c50d-a775-42ed-b13b-9c0904af76ed,0x276800,0x1f4000)/File(\EFI\Microsoft\Boot\LrsBootMgr.efi)RC
Boot0002* EFI USB Device (KingstonDataTraveler G2)	PciRoot(0x0)/Pci(0x1d,0x0)/USB(0,0)/USB(2,0)/HD(1,MBR,0xed60b,0x800,0x778000)RC
Boot2001* EFI USB Device	RC
Boot2002* EFI DVD/CDROM	RC
Boot2003* EFI Network	RC
benjamin@benjamin-laptop:~$ 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
benjamin@benjamin-laptop:~$ sudo parted --list
Modell: ATA SAMSUNG MZ7TE256 (scsi)
Festplatte  /dev/sda:  256GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende   Größe  Dateisystem  Name                  Flags
 1      1049kB  538MB  537MB  fat32        EFI System Partition  boot, esp
 2      538MB   256GB  256GB  ext4


Modell: Kingston DataTraveler G2 (scsi)
Festplatte  /dev/sdb:  4011MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags
 1      1049kB  4011MB  4010MB  primary  fat32        boot


benjamin@benjamin-laptop:~$ 
1
2
3
4
benjamin@benjamin-laptop:~$ sudo dmidecode -t0 | grep -Ei "BIOS boot|UEFI" 
		BIOS boot specification is supported
		UEFI is supported
benjamin@benjamin-laptop:~$ 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
benjamin@benjamin-laptop:~$ sudo dmidecode -t1 
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 20267
	Version: IdeaPad U330p
	Serial Number: QTF0F943601844
	UUID: 45398394-275D-3954-E50C-32E987B7A864
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_20267
	Family: IDEAPAD

benjamin@benjamin-laptop:~$ 

Ich hoffe inständig das hilft was ☹ .

undine

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

Hallo Ben1000,

nimm das bios.iso, das funktioniert auch ohne Windows.

Greetz

undine

bowman

Avatar von bowman

Anmeldungsdatum:
17. Februar 2010

Beiträge: 7502

Da hilft wahrscheinlich nur das flashen des UEFI.

Notfalls musst du eben immer den EFI-Stick zum Booten des Systems benutzen. Ist zwar etwas umständlich, aber wenigstens läuft dann das Ubuntu.

Da ich kein Windows mehr verwende kaufe ich mir nur noch Geräte ohne Betriebssystem bzw. mit Free-DOS oder Limpus-Linux. Da ist das UEFI mit Sicherheit nicht verbastelt und Windows kann nicht dazwischen funken.

Ben1000

(Themenstarter)

Anmeldungsdatum:
20. Juli 2005

Beiträge: 41

Wo finde ich denn das bios.iso? Ich finde nur eine .exe: https://pcsupport.lenovo.com/de/de/products/laptops-and-netbooks/ideapad-u-series-laptops/ideapad-u330p-notebook/downloads/ds100450

Der Gedanke, einfach immer mit dem USB Stick zu booten ist mir auch schon gekommen. Leider ist der etwas älterer Bauart und auch ziemlich groß. Einen anderen USB-Stick nimmt er nicht, da er beim Booten immer genau nach dem Kingston Stick sucht. Ich dachte, ich kann einfach einen anderen (kleinen) Stick nehmen und die Daten rüberkopieren, klappt aber nicht. Kann man dem System irgendwie vorgaukeln, dass das ein Kingston Stick ist? Woran erkennt das UEFI das eigentlich? An der UUID?

Wie wäre denn das Laptop zu reparieren? Muss da nur der Bios Chip getauscht werden oder muss das ganze Mainboard raus?

bowman

Avatar von bowman

Anmeldungsdatum:
17. Februar 2010

Beiträge: 7502

beim Booten immer genau nach dem Kingston Stick sucht

...

Boot0002* EFI USB Device (KingstonDataTraveler G2)
...

Der hat auch einen eigenen Eintrag im NVRAM. 😉

Wenn dort nichts mehr geändert werden kann und die Einträge ein gefroren sind, bist du wohl auf den Stick fixiert.

Meines Wissen gibt es auf dem Stick Bereiche, auf denen der Hersteller Daten hinterlegt, die beim Anschluss ausgelesen werden, damit der Stick identifiziert werden kann und z.B. die richtigen Treiber bzw. Kernelmodule verwendet werden. Ob man das auf einen anderen Stick übertragen kann, glaube ich eher nicht.

Ich hab mal recherchiert. Dein Gerät stammt wohl aus 2013. Das waren die Anfangszeiten, als UEFI langsam überall Standard wurde.

Ich glaube mich zu erinnern, dass es damals bei einzelnen Herstellern/Geräten das Problem gab, dass man mit einer Ubuntu-Installation das UEFI abschießen konnte. Teilweise wurde sogar physischer Schaden angerichtet und das Gerät war dann Schrott. Das Problem wurde später durch Änderungen an der UEFI-Firmware wieder behoben. Heute ist das eigentlich kein Thema mehr.

Ob dein Gerät dazu gehört hat, weis ich allerdings nicht. Ist halt schon eine Weile her.

Wäre aber ein Erklärung für das beobachtete Verhalten und vllt ein Ansatzpunkt

Ben1000

(Themenstarter)

Anmeldungsdatum:
20. Juli 2005

Beiträge: 41

Ja, über diese Geschichte des gekillten UEFI bin ich inzwischen auch schon gestolpert: https://www.heise.de/ct/artikel/UEFI-Linux-kann-aktuelle-Thinkpads-beschaedigen-2105920.html

Hier sind es zwar Thinkpads, aber es passt vom Zeitraum sehr gut rein. Ich bring das Laptop jetzt mal zum örtlichen PC-Doktor, mal sehen, was der sagt. Wenn nur der BIOS Chip ausgetauscht werden müsste, dann habe ich vielleicht eine Chance günstig wegzukommen. Das Mainboard auszutauschen wird kaum noch lohnen.

Leider ist das ein Geschäftslaptop, d.h. drum kümmern muss ich mich auf jeden Fall ☹. Besonders ärgerlich.

Antworten |