ubuntuusers.de

Grub2 Reparieren UEFI

Status: Gelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

Shor-ty

(Themenstarter)

Anmeldungsdatum:
10. September 2010

Beiträge: 719

Wohnort: Bad Wörishofen

alterpinguin schrieb:

Das kannst Du so oft wiederholen wie Du willst, aber erkläre mir doch mal wieso Du eine Windows-Boot-UEFI-Partition hast?

Im ersten Post hab ich erwähnt, dass ich Windows 10 neu installiert habe und das im UEFI betrieben wird.

Das sieht sehr danach aus, als wenn Windows im UEFI-Modus installiert ist und dann hast Du ein Problem mit jedem anderem System, das etwas anderes (legacy-boot) will.

Das ist mir klar, sonst hätte ich ja dieses Thema nicht eröffnet.

Du kannst natürlich auch das Windows runterlöschen ... hab ich nichts dagegen und dann UEFI im Bios ausschalten, bzw. falls Dein mainboard das unterstützt die Option im BIOS für die Unterstützung vom legacy-boot dazu anschalten. Wenn Du dann auch noch eine BIOS-Boot-Partition anlegst und damit genug Platz auf der gpt-Partition ist, dann solltest Du da auch die alte grub-boot-Methode installieren können. Mein Auszug von "parted" zeigte übrigens so eine Bios-Boot-Partition zu der speziellen UEFI(esp-markierten)-Partition.

Das wäre dann wie mein altes System W7 + Ubuntu alles mit BIOS und nicht UEFI. Ich werde mir das nochmals anschauen, da ich mir sicher leichter tue (zwecks Unwissenheit) W10 neu zu installieren als das hier in Linux umzuändern.

Schau doch bitte mal nach welches grub Du installiert hast und wenn es das legacy-grub ist (das sollte das Paket grub-pc) sein, dann kann eine Neukonfiguration helfen (dpkg-reconfigure grub-pc). Aber, immer wenn man versucht auf der Festplatte in dem kleinen Teil der Partitionstabelle den boot-loader zu installieren (das ist die alte Methode bei nicht gpt-Partitionen), dann kann es bei größeren Festplatten Probleme geben, da die Verweise auf größere Datenbereiche(große Zahlen) als mögliche Fehlerquelle moniert werden und nur die Installation mit "force" (bei grub-install... /dev/sda) es erzwingt, wobei man aber dann weiß, dass das eine wackelige Lösung ist.

Und zum Abschluss, wohin hast Du überhaupt versucht grub zu installieren? Also das "grub-install" auf /dev/sda oder /dev/sdb bei Dir? Wenn Du es über die "chroot-Umgebung" versuchst, dann gib doch mal die Befehle an mit denen Du das versuchst (d.h. z.B. bei UEFI ob die UEFI-Partiton von sda überhaupt eingebunden wurde).

Infos am Wochenende. Danke schonmal fürs Supporten.

alterpinguin

Anmeldungsdatum:
24. Mai 2014

Beiträge: 786

Shor-ty schrieb:

alterpinguin schrieb:

Das kannst Du so oft wiederholen wie Du willst, aber erkläre mir doch mal wieso Du eine Windows-Boot-UEFI-Partition hast?

Im ersten Post hab ich erwähnt, dass ich Windows 10 neu installiert habe und das im UEFI betrieben wird.

Das sieht sehr danach aus, als wenn Windows im UEFI-Modus installiert ist und dann hast Du ein Problem mit jedem anderem System, das etwas anderes (legacy-boot) will.

Das ist mir klar, sonst hätte ich ja dieses Thema nicht eröffnet.

Du kannst natürlich auch das Windows runterlöschen ... hab ich nichts dagegen und dann UEFI im Bios ausschalten, bzw. falls Dein mainboard das unterstützt die Option im BIOS für die Unterstützung vom legacy-boot dazu anschalten. Wenn Du dann auch noch eine BIOS-Boot-Partition anlegst und damit genug Platz auf der gpt-Partition ist, dann solltest Du da auch die alte grub-boot-Methode installieren können. Mein Auszug von "parted" zeigte übrigens so eine Bios-Boot-Partition zu der speziellen UEFI(esp-markierten)-Partition.

Das wäre dann wie mein altes System W7 + Ubuntu alles mit BIOS und nicht UEFI. Ich werde mir das nochmals anschauen, da ich mir sicher leichter tue (zwecks Unwissenheit) W10 neu zu installieren als das hier in Linux umzuändern.

Schau doch bitte mal nach welches grub Du installiert hast und wenn es das legacy-grub ist (das sollte das Paket grub-pc) sein, dann kann eine Neukonfiguration helfen (dpkg-reconfigure grub-pc). Aber, immer wenn man versucht auf der Festplatte in dem kleinen Teil der Partitionstabelle den boot-loader zu installieren (das ist die alte Methode bei nicht gpt-Partitionen), dann kann es bei größeren Festplatten Probleme geben, da die Verweise auf größere Datenbereiche(große Zahlen) als mögliche Fehlerquelle moniert werden und nur die Installation mit "force" (bei grub-install... /dev/sda) es erzwingt, wobei man aber dann weiß, dass das eine wackelige Lösung ist.

Und zum Abschluss, wohin hast Du überhaupt versucht grub zu installieren? Also das "grub-install" auf /dev/sda oder /dev/sdb bei Dir? Wenn Du es über die "chroot-Umgebung" versuchst, dann gib doch mal die Befehle an mit denen Du das versuchst (d.h. z.B. bei UEFI ob die UEFI-Partiton von sda überhaupt eingebunden wurde).

Infos am Wochenende. Danke schonmal fürs Supporten.

wenn Dir das alles so klar ist, wieso installierst Du Linux dann nicht auch im UEFI-Modus, d.h. dafür musst Du auch im UEFI-Modus die Live-Version booten (denn sonst denkt/stellt die fest, dass UEFI nicht gewünscht ist, da nicht so gestartet wurde - also als wenn es ein älteres mainboard wäre, bzw. UEFI abgeschaltet wäre). Im UEFI-Modus werden dann für grub auch die speziellen UEFI-Teile installiert und dann fehlt Dir z.B. auch nicht "efibootmgr". Da Du bereits mit Windows eine UEFI-Boot-Partition hast, musst Du die auch nutzen. Ich habe jedenfalls noch nie mehrere UEFI-Boot-Partitionen genutzt und so weit ich weiß soll es auch nur eine für den Rechner geben. Bei mehreren Festplatten könnte man, sofern das BIOS das unterstützt, die gewünschte als einziges Bootdevice auswählen. Dann müsste man aber im BIOS jedes Mal "umwählen", wenn man das andere installierte Betriebssystem starten will. Du kannst also z.B. Linux auf der 2. Festplatte (sdb?) installieren, musst aber für den UEFI-Boot-Teil die Partition von der ersten (sda?) nutzen (die Linux-Boot-Dateien kommen dann da zu den Windows-Dingern dazu, normalerweise in einen extra Ordner mit Namen "ubuntu").

bowman

Avatar von bowman

Anmeldungsdatum:
17. Februar 2010

Beiträge: 7506

Das Problem ist, dass du nur halbe Sachen machst. 🙄

Nicht mit einem EFI USB-Stick das Live-System im EFI-Mode bootest. Man könnte auch im EFI-Setup auf efi only umstellen. Bei dir muss efi or legacy eingestellt sein, sonst hättest du nicht diese Konstellation: Windows im EFI- Ubuntu im BIOS-Mode.

Den BIOS-Grub2 nicht deinstallierst sondern immer noch eifrig versuchst ihn irgendwie rein zu kloppen. Anstatt den EFI-Grub2 zu installieren und diesen in die efi-boot zu schreiben.

Und da wunderst du dich, dass nichts im NVRAM geschrieben werden kann? 🙄

Machst du das mit USB-Anschlüssen und HDMI-Stecker auch so? Hammer holen und wundern dass es nicht funktioniert?

Im EFI-Mode kann nur der EFI-Grub2 funktionieren! Klingt logisch, ist aber so. 🤓

Lese meine Anleitung vollständig, Punkt für Punkt und überspringe nicht jede zweite Zeile, dann versuch es nochmal: genau nach Anleitung.

Kaum macht man es richtig, schon funktioniert´s. (alte Bogenschützenweisheit)

Shor-ty

(Themenstarter)

Anmeldungsdatum:
10. September 2010

Beiträge: 719

Wohnort: Bad Wörishofen

Hi alterpinguin,

mir ist sicherlich nicht alles klar ☺ dazu bin ich nicht fit genug. Sorry wenn sich das so angehört hat. Daher nochmals eine kurze Zusammenfassung (aber ich denk dir/euch ist es klar - nur mir anscheinend nicht):

  • Verwende seit einigen Jahren Windows 7 mit Ubuntu - BIOS Boot (kein UEFI)

  • Am Wochenende habe ich mein Mainboard gewechselt, wodurch Windows 7 nicht mehr funktioniert hatte (diverse Quellen meinten, dass die neue CPU nicht von W7 unterstützt wird (Ryzon 2700x) - andere wiederum meinten das das schon funktioniert). Seisdrum, nach mehreren Stunden Bluescreen analyse habe ich mich entschieden Windows 10 zu installieren. Das hab ich aber als UEFI installiert; zumindest hatte ich keine andere Option als den USB Stick im UEFI Modus zu booten (kann natürlich sein, dass man den Stick für BIOS anders aufsetzen muss oder ich das einfach nicht korrekt gemacht habe)

  • Windows war immer schon auf sda, wodurch auch mein grub2 auf sda1 vom Windows 7 gelegen ist

  • Durch die Neuinstallation von W10 ist natürlich die sda komplett erneuert worden. Es folgt:

    • Windows 10 auf sda mit UEFI

    • Ubuntu 18.04 auf sdb mit damaligem Grub2 auf BIOS

Meine Frage war es, was ich anstellen muss, um meinen Dualboot wieder zu erhalten. Ich bin davon ausgegangen, dass ich den Grub2 irgendwie im UEFI Modus haben muss und der auf die UEFI Parition zu sda2 kommen muss. Nur komm ich nicht weiter. Ich versuche ja den Grub2 als UEFI auf sda2 zu bringen - exakt wie du das erläuterst nur scheitere ich daran weil ich nicht weiß wie.

In Anlehnung von bowman habe ich meine alten Grub-Pakete gelöscht und die neuen installiert

1
2
apt-get purge grub-common grub-pc os-prober
apt-get install  grub-common grub-efi-amd64 os-prober

Mit dieser Info hab ich dann versucht den Grub2 mithilfe der Wikiseite neu zu installieren.

black_tentacle

Und btw., das

Shor-ty schrieb:

... Ich habe in fstab mal den Eintrag hinzugefügt:

UUID=5F977DD4-F75F-4272-AA67-261FE9795AC0 /boot/efi vfat defaults 0 0

ist nie und nimmer eine esp

Mein Fehler. Die UUID hab ich nochmals via gparted nachgesehen. Die sda2 hat nicht diese UUID, das ist korrekt.

der grub soll ja eben gerade nicht nach sda installiert werden, sondern in die esp! Dazu, wie im Link beschreiben, chroot + esp einbinden! Dann erst ein grub-install

Also die sda2. Hab ich gestern auch gemacht aber hat nicht funktioniert. Kann aber sein, dass ich die Einbindung vergessen habe - ich prüf das am Wochenend nochmals.

Danke nochmals.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11446

Hej Shor-ty,

Shor-ty schrieb:

... black_tentacle

... der grub soll ja eben gerade nicht nach sda installiert werden, sondern in die esp! Dazu, wie im Link beschreiben, chroot + esp einbinden! Dann erst ein grub-install

Also die sda2. Hab ich gestern auch gemacht aber hat nicht funktioniert. Kann aber sein, dass ich die Einbindung vergessen habe - ich prüf das am Wochenend nochmals.

Ähhh, JEIN. Nicht etwa mit einem

  • sudo grub-install /dev/sdxy

sondern von einem LiveUSB

  • im EFI-Modus, und dort in einer

  • chroot-Umgebung und mit

  • nach /mnt/EFI gemounteten /dev/sda2 und dann mit einem

  • grub-istall.

Gruß black tencate

bowman

Avatar von bowman

Anmeldungsdatum:
17. Februar 2010

Beiträge: 7506

Da hier anscheinend keiner liest, was ich schreiben, sag ich dann mal Tschüss.

Vielleicht kommt ja noch mal jemand auf die Idee meinen ersten Post zu verfilmen.

You-Tube-Videos sind bei solchen Problemlösungen heute ja viel besser, als lesen.

Bah, dieser alte, analoge Käse ...

Da gab´s mal vor Jahren eine Studie, dass die jüngeren Generationen nicht mehr in der Lage sind den Inhalt von Texten vollständig zu verstehen und wieder zu geben ...

Ich bin dann mal weg.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11446

Hej bowman,

OT
bowman schrieb:

Da hier anscheinend keiner liest, was ich schreiben, sag ich dann mal Tschüss.

Du brauchst nicht die "beleidigte Leberwurst" zu spielen:

  1. von mir kam der Vorschlag mit dem stand-alone grub

  2. alterpinguin hat im Prinzip genau den gemeint

  3. ich habe das mit den Wikiseiten dann mit entsprechenden Links gezielrichtet, leider falsch, per chroot geht es nämlich nicht!

  4. dann bist Du auf diesen Zug aufgesprungen bowman schrieb:

Eigentlich müsste doch eine Umstellung des Systems auf EFI-Grub2 möglich sein.

Dazu müsste ein EFI USB-Stick mit Ubuntu 18.04.1 im EFI-Mode gebootet werden.

Dann analog der GRUB 2/Reparatur (Abschnitt „chroot-Methode“) erst eine chroot in das System auf der sdb1 einrichten, bei der die sda2 als efi-boot eingebunden wird. (Schritte 1 bis 3)

  • aus Deinen Worten Eigentlich... und müßte.. folgere ich, daß Du das so nicht getestet hast

  • Du chrootest in ein Ubuntu ohne irgenwelche efi Anteile, wie soll da ein grub-install ohne Zielangabe funktionieren

    ubuntu@ubuntu:~$ sudo mkdir /mnt/boot
    ubuntu@ubuntu:~$ sudo mkdir /mnt/boot/efi
    ubuntu@ubuntu:~$ sudo mount /dev/sdb2 /mnt/boot/efi
    ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt
    ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/dev 
    ubuntu@ubuntu:~$ sudo mount -o bind /sys /mnt/sys 
    ubuntu@ubuntu:~$ sudo mount -t proc /proc /mnt/proc 
    ubuntu@ubuntu:~$ sudo cp /proc/mounts /mnt/etc/mtab 
    cp: '/proc/mounts' und '/mnt/etc/mtab' sind die gleiche Datei
    ubuntu@ubuntu:~$ sudo chroot /mnt /bin/bash 
    root@ubuntu:/# grub-install
    i386-pc wird für Ihre Plattform installiert.
    grub-install: Fehler: Kein Installationsgerät angegeben.

Bin gespannt auf Deinen Lösungsweg.
/OT

Gruß black tencate

Shor-ty

(Themenstarter)

Anmeldungsdatum:
10. September 2010

Beiträge: 719

Wohnort: Bad Wörishofen

Hallo zusammen,

bowman, ich hab leider deinen letzten Beitrag nicht gesehen/uebersehen. Daher hab ich das mal nochmals gemacht:

  • Download Ubuntu 18.04

  • USB Stick erstellt

  • Im Mainboard meine Bootoption UEFI/Legacy auf UEFI umgestellt

  • Booten vom USB Stick

1
2
3
4
5
6
7
8
9
ubuntu@ubuntu:~$ sudo mount /dev/sdb1 /mnt
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /mnt/boot/efi/
ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/dev/
ubuntu@ubuntu:~$ sudo mount -o bind /sys /mnt/sys/
ubuntu@ubuntu:~$ sudo mount -t proc /proc /mnt/proc
ubuntu@ubuntu:~$ sudo cp /proc/mounts /mnt/etc/mtab 
cp: '/proc/mounts' and '/mnt/etc/mtab' are the same file
ubuntu@ubuntu:~$ sudo cp /etc/resolv.conf /mnt/etc/
ubuntu@ubuntu:~$ sudo chroot /mnt /bin/bash
  • Alten Grub entfernen und neuen EFI Grub drauf

1
2
apt-get purge grub-common grub-pc os-prober
apt-get install  grub-common grub-efi-amd64 os-prober
  • Pfad /boot/efi

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
root@ubuntu:/# tree boot/efi/ -L 2
boot/efi/
├── EFI
│   ├── Boot
│   ├── Microsoft
│   └── ubuntu
└── grub
    ├── fonts
    ├── grubenv
    ├── i386-pc
    └── locale
  • UUID meiner sda2 Platte fuer den Eintrag in /etc/fstab

1
2
3
4
5
6
7
8
9
ubuntu@ubuntu:~$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Dec  5 09:47 37d62456-0ffb-4c92-b040-27a6dbf21caf -> ../../sdb5
lrwxrwxrwx 1 root root 10 Dec  5 09:47 4238F15038F14387 -> ../../sda4
[mark]lrwxrwxrwx 1 root root 10 Dec  5 09:47 64ED-38EA -> ../../sda2[/mark]
lrwxrwxrwx 1 root root 10 Dec  5 09:47 77df5329-5d34-4ec2-a46f-fc723aba5104 -> ../../sdb6
lrwxrwxrwx 1 root root 10 Dec  5 09:47 8452E98352E979F6 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec  5 09:47 A7B6-8E2E -> ../../sdc1
lrwxrwxrwx 1 root root 10 Dec  5 09:47 a5227165-f922-4598-a4bf-51876f9d6498 -> ../../sdb1
  • Aenderungen in /etc/fstab einfuegen

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# Windows
UUID=64ED-38EA                     /boot/efi       vfat    defaults          0         0
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sdb1 during installation
UUID=a5227165-f922-4598-a4bf-51876f9d6498 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sdb5 during installation
UUID=37d62456-0ffb-4c92-b040-27a6dbf21caf /home           ext4    defaults        0       2
# swap was on /dev/sdb6 during installation
UUID=77df5329-5d34-4ec2-a46f-fc723aba5104 none            swap    sw              0       0
  • Grub neu installieren: Laut WIKI benoetige ich keine Angabe bezueglich Partition>

1
2
3
root@ubuntu:/# grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
  • Grub updaten

1
2
3
4
5
6
7
8
root@ubuntu:/# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-42-generic
Found initrd image: /boot/initrd.img-4.15.0-42-generic
Found linux image: /boot/vmlinuz-4.15.0-39-generic
Found initrd image: /boot/initrd.img-4.15.0-39-generic
Adding boot menu entry for EFI firmware configuration
done
  • Neustart des Systems

  • Windows 10 startet

Shor-ty

(Themenstarter)

Anmeldungsdatum:
10. September 2010

Beiträge: 719

Wohnort: Bad Wörishofen

Hallo zusammen,

da ich irgendwas falsch mache, hab ich kurzerhand Linux neu installiert:

1
2
3
4
5
6
7
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-42-generic
Found initrd image: /boot/initrd.img-4.15.0-42-generic
Found linux image: /boot/vmlinuz-4.15.0-29-generic
Found initrd image: /boot/initrd.img-4.15.0-29-generic
[mark]Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi[/mark]
Adding boot menu entry for EFI firmware configuration

Was mir dabei aufgefallen ist etc/fstab:

1
2
3
4
5
6
7
UUID=81cf1d78-4751-4479-9e74-05a572d2c013 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda2 during installation                                
UUID=64ED-38EA  /boot/efi       vfat    umask=0077      0       1               
# /home was on /dev/sdb5 during installation                                    
UUID=37d62456-0ffb-4c92-b040-27a6dbf21caf /home           ext4    defaults        0       2
# swap was on /dev/sdb6 during installation                                     
UUID=77df5329-5d34-4ec2-a46f-fc723aba5104 none            swap    sw              0       0

Kann das ein Grund sein wieso zuvor Windows nicht gefunden worden ist?

Nochmals danke an alle für die hilfreichen Informationen.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11446

Hej bowman,

black_tencate schrieb:

Hej bowman,

OT
bowman schrieb:

Da hier anscheinend keiner liest, was ich schreiben, sag ich dann mal Tschüss.

Du brauchst nicht die "beleidigte Leberwurst" zu spielen:
[...]

mea culpa, ich nehme das alles zurück, Ich habe auch nicht richtig gelesen, Entschuldigung.

Habe es nochmal komplett ausprobiert, es funzt. Hatte erst div. Fehler, die aber das Terminal klug korrigieren hilft, und wenn ich die UUID der esp gleich richtig gesetzt und auch ein update-grub durchgeführt hätte...

Na ja.

Gruß black tencate

Antworten |