it-swarm.com.de

Wie kann ich GRUB auf der EFI-Partition neu installieren?

Ich möchte GRUB 2 neu installieren und habe die folgenden Anweisungen gefunden: Reparieren, Wiederherstellen oder Neuinstallieren von Grub 2 mit einer Ubuntu Live-CD oder USB . In meinem Fall ist der Bootloader in der EFI-Partition installiert. Wenn ich die in diesem Handbuch angegebenen Befehle verwende, wird GRUB automatisch auf der EFI-Partition neu installiert, oder wird es auf der Root-Partition installiert, auf der Ubuntu installiert ist? Offensichtlich möchte ich nicht, dass dies geschieht.

29
Generoso

Installieren Sie den GRUB-Bootloader auf diese Weise in Ihrer Ubuntu-Installation im EFI-Modus neu ...

Booten Sie vom Ubuntu-Installationsmedium und wählen Sie "Ubuntu ohne Installation testen".
(Booten Sie Ihr Installationsmedium im EFI-Modus, und wählen Sie den Ubuntu-Eintrag mit UEFI im Vordergrund aus.)

Öffnen Sie auf dem Live-Desktop ein Terminal und führen Sie die folgenden Befehle aus:

Sudo mount /dev/sdXXX /mnt
Sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do Sudo mount -B $i /mnt$i; done
Sudo chroot /mnt
grub-install /dev/sdX
update-grub  

Hinweis: sdX = disk | sdXX = efi partition | sdXXX = Systempartition

Um die Partitionen mit GParted zu identifizieren, ist das Tool auf dem Installationsmedium enthalten.
Nach dem Ausführen der Befehle wird GRUB in der separaten EFI-Partition installiert.

48
cl-netbox

dies ist der einzige Weg, der bei mir funktioniert hat: (System: SDB8, Boot: SDB6, EFI: SDB2)

Sudo mount /dev/sdb8 /mnt 
Sudo mount /dev/sdb6 /mnt/boot 
Sudo mount /dev/sdb2 /mnt/boot/efi

Sudo mount --bind /dev /mnt/dev &&
Sudo mount --bind /dev/pts /mnt/dev/pts &&
Sudo mount --bind /proc /mnt/proc &&
Sudo mount --bind /sys /mnt/sys

Sudo chroot /mnt

grub-install --target=x86_64-efi /dev/sdb

grub-install --recheck /dev/sdb

exit &&
Sudo umount /mnt/sys &&
Sudo umount /mnt/proc &&
Sudo umount /mnt/dev/pts &&
Sudo umount /mnt/dev &&
Sudo umount /mnt
3
Chilu Pereira

Außerdem kann es beim Booten von einer Live-CD zur Wiederherstellung vorkommen, dass Sie das Paket grub-efi-AMD64-bin und dann line vermissen

"grub-install --target=x86_64-efi /dev/sdb" 

schlägt mit folgender Fehlermeldung fehl: "grub-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh existiert nicht. Bitte geben Sie --target oder --directory an."

In diesem Fall laufen diese außerhalb von Chroot

Sudo apt get grub-efi-AMD64-bin

fügen Sie dann/usr/lib/grub/x86_64-efi zu den Chroot-Mounts hinzu.

BTW "/ dev/sdb" Parameter ist veraltet und wird ignoriert.

2
mprot

Danke an @ cl-netbox für die Anleitung!

Nach dem Upgrade (Linux Mint 18.2 Sonya auf 18.3 Sylvia) konnte mein System nicht mehr gestartet werden. Daher habe ich die obigen Anweisungen befolgt, aber immer noch keinen Erfolg. Ich bemerkte jedoch, dass mein Computer/boot in einer separaten Partition hat (möglicherweise, weil ich LVM verwende), so dass mein leicht modifizierter Prozess war:

Sudo mount /dev/sdXXX /mnt
Sudo mount /dev/sdXY /mnt/boot
Sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do Sudo mount -B $i /mnt$i; done
Sudo chroot /mnt
grub-install /dev/sdX
update-grub 

Hinweis: sdX = disk | sdXX = EFI-Partition | sdXY = Startpartition | sdXXX = Systempartition

2
Rob Pearman

Wenn Sie die EFI-Partition verlieren, ist es einfach, sie zurückzugewinnen. Mit fdisk oder parted können Sie eine neue GPT-Partition mit dem Typ "EFI-Partition (1)" erstellen und formatieren mit:

Sudo mkfs.msdos /dev/sdX

dann montiere es und du kannst run folgen:

Sudo grub-install /dev/sdX

wie bei anderen lösungen.

0
cengique

zusätzlich zu ci-netbox antworten.
Wenn Ihre pendrive-Betriebssystemversion nicht mit der auf der Festplatte installierten übereinstimmt, kann es bei der Installation von grub-install schwierig sein, die richtige Installation von grub zu finden:

$ Sudo chroot /mnt
# grub-install /dev/sdX
grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. 
Please specify --target or --directory.

Versuchen Sie, die zu verwendende Installation manuell zu identifizieren

# ls /usr/lib/grub/
grub-mkconfig_lib  x86_64-efi  x86_64-efi-signed

Dann starte grub-install neu:

# grub-install --target=x86_64-efi /dev/sdX 
Installing for x86_64-efi platform.
Installation finished. No error reported.
0
Emmanuel

meine Vermutung ist der Grund für das Problem, dass die Ubuntu-Installation die efi-Partition nicht mounten kann, wenn fstab. und Updates grub. beim Update.

0
Shimon Doodkin