sudo bash fix-grub-live.sh Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
44 lines
1.1 KiB
Bash
44 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# Reparer GRUB depuis une cle USB live
|
|
# Usage: sudo bash fix-grub-live.sh
|
|
set -e
|
|
|
|
DISK=""
|
|
for d in /dev/sda /dev/nvme0n1 /dev/sdb /dev/vda; do
|
|
if [ -b "$d" ] && [ "$(cat /sys/block/$(basename $d)/removable 2>/dev/null)" = "0" ]; then
|
|
DISK="$d"
|
|
break
|
|
fi
|
|
done
|
|
[ -n "$1" ] && DISK="$1"
|
|
[ -z "$DISK" ] && { echo "Aucun disque detecte. Usage: $0 /dev/sdX"; exit 1; }
|
|
|
|
if [[ "$DISK" == *"nvme"* ]]; then
|
|
P="${DISK}p"
|
|
else
|
|
P="${DISK}"
|
|
fi
|
|
|
|
echo "=== Reparation GRUB sur $DISK ==="
|
|
|
|
# Monter
|
|
mount "${P}2" /mnt
|
|
mount "${P}1" /mnt/boot/efi
|
|
for d in dev dev/pts proc sys run; do mount --bind /$d /mnt/$d; done
|
|
|
|
# Installer git + fonts, cloner le repo, installer theme + GRUB
|
|
chroot /mnt bash -c '
|
|
apt update -qq
|
|
apt install -y -qq git grub-efi-amd64 fonts-dejavu-core
|
|
[ -d /home/jules/photobooth ] || git clone https://git.copydev.fr/jules/photobooth.git /home/jules/photobooth
|
|
cd /home/jules/photobooth && git pull
|
|
bash scripts/install-grub-theme.sh
|
|
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck
|
|
'
|
|
|
|
# Nettoyer
|
|
umount -R /mnt
|
|
|
|
echo ""
|
|
echo "=== GRUB repare ! Retirer la cle et rebooter ==="
|