Files
backup_to_external_m.2/simple_grub_repair.sh
root ceb1f6fa4f Add working GRUB repair solution
- simple_grub_repair.sh: Fixed GRUB boot issue successfully
- Direct GRUB installation without chroot complications
- Successfully creates debian EFI bootloader
- Resolves reset/reboot loop after LVM migration
- Tested and confirmed working
2025-09-25 11:55:13 +02:00

85 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Simple GRUB Boot Repair Script
# Direct GRUB repair without chroot complications
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
VG_NAME="system-vg"
EXTERNAL_DRIVE="/dev/sda"
log() { echo -e "${BLUE}[$(date '+%H:%M:%S')]${NC} $1"; }
error() { echo -e "${RED}[ERROR]${NC} $1" >&2; exit 1; }
success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; }
warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; }
echo -e "${GREEN}=== Simple GRUB Boot Repair ===${NC}"
echo
# Check if running as root
if [ "$EUID" -ne 0 ]; then
error "This script must be run as root. Use: sudo $0"
fi
log "Mounting external system..."
mkdir -p /tmp/ext-boot /tmp/ext-efi
# Mount the boot and EFI partitions
mount "/dev/$VG_NAME/boot" /tmp/ext-boot || error "Failed to mount boot"
mount "${EXTERNAL_DRIVE}1" /tmp/ext-efi || error "Failed to mount EFI"
success "Mounted external boot partitions"
log "Installing GRUB to external drive..."
# Install GRUB directly to the external drive
grub-install --target=x86_64-efi \
--efi-directory=/tmp/ext-efi \
--bootloader-id=debian \
--boot-directory=/tmp/ext-boot \
--recheck \
"$EXTERNAL_DRIVE" || error "GRUB installation failed"
success "GRUB installed successfully"
log "Checking installation..."
# Check if GRUB EFI file was created
if [ -f "/tmp/ext-efi/EFI/debian/grubx64.efi" ]; then
success "GRUB EFI bootloader created successfully"
else
error "GRUB EFI bootloader not found after installation"
fi
# List EFI directory contents
log "EFI boot entries after repair:"
ls -la /tmp/ext-efi/EFI/ || warning "Could not list EFI entries"
log "Cleaning up..."
umount /tmp/ext-boot
umount /tmp/ext-efi
rmdir /tmp/ext-boot /tmp/ext-efi
success "GRUB repair completed!"
echo
echo -e "${GREEN}=== Next Steps ===${NC}"
echo "1. Reboot your system"
echo "2. Enter BIOS/UEFI settings"
echo "3. Set boot order to prioritize external M.2 SSD"
echo "4. Look for 'debian' entry in boot menu"
echo "5. Boot from external drive"
echo
echo -e "${YELLOW}BIOS Settings:${NC}"
echo "• Disable Secure Boot (if enabled)"
echo "• Enable UEFI mode (disable Legacy/CSM)"
echo "• Set external M.2 as first boot device"
echo
success "External M.2 should now boot properly!"