Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
klaren:fixnonbootingarch [2022/08/29 20:56] klarenklaren:fixnonbootingarch [2022/08/31 20:26] (aktuell) – [Reboot] klaren
Zeile 113: Zeile 113:
 ==== Reboot ==== ==== Reboot ====
  
-====   ====+==== Alles in einem Script ====
  
 +<code>
 +####################################################
 +#
 +# Restoring a defective GRUB
 +#
 +# start a temporary arch OS from stick then
 +# source the file and follow the instructions
 +####################################################
 +# this is the partition logical name from /etc/crypttab
 +LUKS_DRIVE=luks-a41aeaeae-1b9-431e-94a6-0032440889fd
 +#
 +# define mount options for subvol mounts
 +MOUNT_OPT_ROOT=subvol=/@,defaults,noatime,compress=zstd
 +MOUNT_OPT_HOME=subvol=/@home,defaults,noatime,compress=zstd
 +MOUNT_OPT_CACHE=subvol=/@cache,defaults,noatime,compress=zstd
 +MOUNT_OPT_LOG=subvol=/@log,defaults,noatime,compress=zstd
 +#
 +# Open the LUKS container - will ask for password interacively
 +cryptsetup open /dev/nvme0n1p2 $LUKS_DRIVE
 +#
 +# Mount subvolumes into a temporary path
 +mount -o $MOUNT_OPT_ROOT  /dev/mapper/$LUKS_DRIVE /mnt
 +mount -o $MOUNT_OPT_HOME  /dev/mapper/$LUKS_DRIVE /mnt/home
 +mount -o $MOUNT_OPT_CACHE /dev/mapper/$LUKS_DRIVE /mnt/var/cache
 +mount -o $MOUNT_OPT_LOG   /dev/mapper/$LUKS_DRIVE /mnt/var/log
 +#
 +# Add bind mounts for important system file systems:
 +for x in dev dev/pts sys sys/firmware proc ; do mount -o bind /$x /mnt/$x ; done
 +#
 +# Give some hint text what to do inside the chroot environment, once there
 +#
 +echo "mount /dev/nvme0n1p1 /boot/efi">/mnt/bind_mount_efi.sh
 +echo "mount -t efivarfs efivarfs /sys/firmware/efi/efivars">>/mnt/bind_mount_efi.sh
 +
 +echo "grub-install -v"> /mnt/fix_grub.sh
 +echo "grub-mkconfig -o /boot/grub/grub.cfg">>/mnt/fix_grub.sh
 +
 +echo "umount /boot/efi"> /mnt/leave_chroot.sh
 +echo "umount /sys/firmware/efi/efivars">> /mnt/leave_chroot.sh
 +echo "exit">> /mnt/leave_chroot.sh
 +#
 +# This starts bash inside of the new root under /mnt:
 +#
 +chroot /mnt /usr/bin/bash
 +#
 +# inside of the bash execute above commands to fix GRUB or rescue data or do something else
 +#
 +# after leaving, cleanups:
 +for x in /proc /sys/firmware /sys /dev/pts /dev /var/log /var/cache /home / ; do umount /mnt$x ; done
 +cryptsetup close $LUKS_DRIVE
 +
 +</code>
  
  • klaren/fixnonbootingarch.txt
  • Zuletzt geändert: 2022/08/31 20:26
  • von klaren