Block > GRUB 2 fixen

Da mir Windows nun schon oefter GRUB 2 kaputt gemacht hat, hier eine Anleitung, wie das wieder gefixt werden kann …

[Boot-repair habe ich auch probiert, allerdings hat das bei mir nicht geklappt. Wahrscheinlich wegen meiner verschluesselten Festplatte, die ich nicht eingehaengt hatte. Damit sollte es dann gehen, das habe ich aber nicht mehr getestet.]

  1. Ubuntu Live CD erstellen (natuerlich geht auch jede andere Live-Distribution …), dazu das ISO runterladen und mit UNebootin auf einen USB-Stick befoerdern. Eine CD geht natuerlich auch, allerdings habe ich kein CD-Laufwerk. Vorher mit GParted den USB-Stick formatieren (Partition table: msdos, dann eine einzige grosse FAT32-Partition anlegen).
  2. USB-Stick anschliessen und davon booten (F12 druecken, dann die UEFI-Version des USB-Sticks auswaehlen).
  3. Ein Terminal oeffnen und root werden:

     $ sudo su
    
  4. Linux Root Festplatte rausfinden (bei mir mit 512M grosser Partition (Typ: EFI System), Boot- (1G, ext4) und Root-Partition (Rest, ext4), das Home ist auf einer anderen Festplatte):

     # fdisk -l
     /dev/sda1 [..]
     /dev/sda2 [..]
     /dev/sda3 [..]
    
  5. Die verschluesselte Root-Partition einhaengen:

     # cryptsetup open /dev/sda3 root
    
  6. Kram mounten um letztendlich mit chroot das eingehaengte System zu begehen (Quelle):

     # mount /dev/mapper/root /mnt
     # mount /dev/sda2 /mnt/boot
     # mount /dev/sda1 /mnt/boot/efi
     # for i in /dev /dev/pts /proc /sys ; do mount -B $i /mnt$i ; done
     # modprobe efivars # klappt das? wenn ja: weiter
     # chroot /mnt
    
  7. Netzwerk testen (aber eigentlich nicht benoetigt) und efivars mounten (Quelle):

     # ping -c3 heise.de
     # mount -t efivarfs efivarfs /sys/firmware/efi/efivars
    
  8. GRUB 2 fixen (mit os-prober werden auch andere Systeme erkannt) (Quelle):

     # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub_uefi --recheck
     # grub-mkconfig -o /boot/grub/grub.cfg
    

    Sollte der letzte Befehl trotz os-prober nicht alles erkannt haben, einfach spaeter nochmal probieren, wenn das Linux-System erfolgreich gebootet wurde.

  9. Exit und umount:

     # umount /sys/firmware/efi/efivars
     # exit
     # for i in /sys /proc /dev/pts /dev ; do umount /mnt$i ; done
     # umount /mnt/boot/efi
     # umount /mnt/boot
     # umount /mnt
    
  10. Reboot:

    # reboot
    
  11. Freuen :)

Geschrieben: 2016-09-19, 16:52 - Tags: linux, grub, uefi