Die Installation eines Linux auf eine mit LUKS verschlüsselte und per LVM partitionierte Festplatte erfordert im Falle eines defekten Grub Bootloaders einige Vorbereitungen, um Grub zu reparieren bzw. neu zu installieren. Die meisten Werkzeuge wie Rescatux oder Supergrubdisk setzen eine unverschlüsselte und nicht per LVM partitionierte Festplatte voraus und funktionieren daher gar nicht oder fehlerhaft.
Die einzelnen Schritte der o.g. Werkzeuge müssen nur um einige Punkte ergänzt werden:
- Installation des dmcrypt Mappers für LUKS Funktionalität
- Manuelles entschlüsseln und laden der LVM Partitionen
- Manuelles mounten der LVM Partitionen
Dementsprechend müssen für die Wiederstellung oder Reparatur des Grub Bootloaders für LVM Installationen auf LUKS Basis folgende Schritte ausgeführt werden :
- Download Live DVD Image für Chroot Umgebung u.a. Werkzeuge
1wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-12.5.0-amd64-gnome.iso - Live DVD Image auf USB Stick flashen (Auflistung der USB Geräte : „lsusb“ oder „sudo lsblk“), (sdx = USB Stick Device)
– GUI (Linux / Windows): https://www.balena.io/etcher/
– Terminal Befehl (Linux):
1sudo cp debian-live-12.5.0-amd64-gnome.iso /dev/sdX - Boot Live DVD Image
- Installation und Start benötigter Pakete und Dienste
12sudo apt-get install lvm2 openssh-server cryptsetup-binsudo systemctl start sshd - Erstellen eines Passworts für Remote SSH Verbindung (nicht nötig bei Direktzugriff auf das System)
1sudo passwd user - LUKS Partition entsperren und mit LVM mounten (Anzeige der Blockdevices Liste: <lsblk>)
12LUKS_Partition_mit_LVM=$()cryptsetup luksOpen /dev/$LUKS_Partition_mit_LVM lvm - System- und LVM Partitionen in Chroot Umgebung (/mnt) mounten (Anzeige der Partitionsliste: <lsblk>)
12mount /dev/mapper/System-system /mntmount /dev/sda1 /mnt/boot - Livesystem Umgebung in Chroot Umgebung mounten
1for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt/$dir; done - Chroot Umgebung betreten
1sudo chroot /mnt /bin/bash - Grub aktualisieren und installieren (sdX = Bootfestplatte)
12update-grubgrub-install /dev/sdX - Chroot Umgebung verlassen und System neu starten
12exitsudo reboot
Tipps und Tricks
Grub Installation(en) des gesamten Systems auflisten:
1 2 3 4 5 6 7 |
sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX 2>/dev/null sudo sh -c "hexdump -v -s 0x80 -n 2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c 2>/dev/null \"case \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder v1.98 ;; '020') echo X: GRUB 2 v1.99 ;; *) echo X: Kein GRUB Y ;; esac\" | grep -v ' Kein'" |
by Speefak| wiki.ubuntuusers.de| www.ubuntuusers.de