Home
» LINUX
»
Hoe maak je een back-up van de Linux-bootloader naar een USB-stick?
Hoe maak je een back-up van de Linux-bootloader naar een USB-stick?
Sla de GRUB-instellingen en opstartbestanden op een USB-stick op; sla op UEFI-systemen ook de EFI-bestanden en een lijst met firmware-items op. Dit zijn herstelreferenties, geen volledige schijfkopie. Als de opstartcode ontbreekt, gebruik dan Linux-herstelmedia om GRUB opnieuw te installeren voor de daadwerkelijke opstartindeling.
Wat een GRUB-back-up omvat
Distributies genereren het menu doorgaans vanuit /etc/default/gruben /etc/grub.d/, met ondersteunende bestanden onder /boot/grubof /boot/grub2. Debian documenteert grub.cfgzoals gegenereerd, dus herstel de instellingen en genereer het opnieuw. BIOS GRUB kan MBR plus ingebedde sectoren gebruiken; UEFI gebruikt bestanden op een FAT EFI-systeempartitie (ESP) en opstartvermeldingen in firmwarevariabelen.
Maak een back-up van GRUB naar een USB-stick.
1. Plaats de USB-stick en bepaal de opstartmodus.
Sluit een USB-schijf aan, open deze in de bestandsbeheerder en noteer de mountlocatie. Geef vervolgens een lijst van de schijven weer en controleer hoe het huidige systeem is opgestart:
lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS
findmnt /
if [ -d /sys/firmware/efi ]; then echo UEFI; else echo BIOS; fi
Een gekoppeld USB-volume is de bestemming voor de back-upbestanden.
Gebruik de grootte, het bestandssysteem, het label en het koppelpunt om USB-schijven te onderscheiden van interne schijven. Namen zoals /dev/sdakunnen veranderen en de rootpartitie is niet altijd de doelschijf van de BIOS-bootloader.
Gebruik de apparaatdetails om de ESP en de verwisselbare schijf te vinden.
Identificeer op UEFI-systemen de EFI-systeempartitie (ESP) in de uitvoer. Deze is vaak FAT32, met een koppelpunt zoals /boot/efi, /efi, of /boot. Deze bevat meestal een EFIdirectory.
2. Archiveer GRUB-instellingen en bijbehorende bestanden
Vervang het voorbeeld-USB-pad door het gevonden koppelpunt. Houd aanhalingstekens rond paden die spaties bevatten.
USB="/media/$USER/USB_LABEL"
BACKUP="$USB/grub-backup"
sudo mkdir -p "$BACKUP"
paths=(etc/default/grub etc/grub.d)
for p in etc/default/grub.d boot/grub boot/grub2; do
[ ! -e "/$p" ] || paths+=("$p")
done
sudo tar -C / -czf "$BACKUP/grub-files.tar.gz" "${paths[@]}"
Bewaar GRUB-instellingen, menuscripts en bestaande opstartbestanden samen.
Het archief bewaart de Linux-rechten, zelfs op USB-bestandssystemen die dat normaal niet doen. Het bevat ook de optionele GRUB-mappen die in deze installatie aanwezig zijn.
3. Sla in UEFI de EFI-bestanden en firmware-items op.
Stel ESPde mountpoint in op het door u opgegeven punt; in dit voorbeeld wordt gebruikt /boot/efi. Het archief bevat ook bestanden van andere leveranciers als deze zich in dezelfde EFImap bevinden.
ESP="/boot/efi"
sudo tar -C "$ESP" -czf "$BACKUP/esp-files.tar.gz" EFI
sudo efibootmgr -v | sudo tee "$BACKUP/uefi-boot-entries.txt" >/dev/null
Een gedeelde ESP kan opstartbestanden bevatten voor meer dan één besturingssysteem.Bewaar de lijst met firmware-items naast de opgeslagen opstartbestanden.
efibootmgr -vGeeft details van het opstartproces weer, niet alle firmware-instellingen. Sla deze commando's over op systemen met alleen een BIOS.
4. Controleer de back-up en verwijder de schijf.
tar -tzf "$BACKUP/grub-files.tar.gz" | head
[ ! -f "$BACKUP/esp-files.tar.gz" ] || tar -tzf "$BACKUP/esp-files.tar.gz" | head
ls -lh "$BACKUP"
sync
Controleer of de archiefnamen en -groottes plausibel lijken en verwijder de USB-stick voordat u deze loskoppelt. Bewaar de back-up apart van een USB-stick met een live-installatieprogramma, aangezien deze mogelijk gewist wordt tijdens het aanmaken van opstartmedia.
Gebruik de back-up na een opstartfout.
5. Start een live sessie in de opstartmodus van het geïnstalleerde systeem.
Start een Linux live- of rescue-USB op in dezelfde UEFI- of legacy BIOS-modus, indien mogelijk. Identificeer de root, eventuele aparte /bootpartities en de ESP opnieuw; apparaatnamen kunnen verschillen.
Een live sessie biedt hulpmiddelen voor het inspecteren en repareren van de installatie.
Monteer het geïnstalleerde systeem op een tijdelijke locatie, bijvoorbeeld / /mnt/targetetc/src ...
Koppel de geïnstalleerde partities voordat u reparatieopdrachten uitvoert in een chroot-omgeving.
6. Herstel de instellingen selectief en repareer vervolgens GRUB.
Nadat de geïnstalleerde rootpartitie en eventuele aparte /bootpartities zijn gekoppeld, herstelt u het archief alleen als het afkomstig is van deze installatie en release:
sudo tar -xzf "/path/to/grub-backup/grub-files.tar.gz" -C /mnt/target
Vervang het voorbeeldpad door de daadwerkelijke locatie van de USB-stick. Pak het EFI-archief niet uit via een gedeelde ESP; gebruik de herinstallatie-instructies van de distributie om de opstartbestanden en de firmware-ingang opnieuw aan te maken. Secure Boot vereist mogelijk ondertekende shim- en GRUB-pakketten.
Genereer in de chroot-omgeving het menu opnieuw met behulp van de opdracht en het uitvoerpad van uw distributie. Debian en Ubuntu gebruiken doorgaans update-grub; andere distributies documenteren grub-mkconfigof grub2-mkconfig. Als de opstartcode ontbreekt, installeer GRUB dan opnieuw voor de juiste BIOS-schijf of UEFI-partitie. Controleer het doel voordat u begint grub-install.
Genereer het menu opnieuw vanuit de herstelde installatie nadat de instellingen zijn hersteld.
Waarom niet alleen de eerste 512 bytes herstellen?
Bij gebruik van een kopie van één sector ontbreekt de ingebouwde BIOS GRUB-image of de BIOS-opstartpartitie. De eerste sector bevat ook partitietabelgegevens, waardoor het herstellen van een oude kopie een gewijzigde schijf kan beschadigen. UEFI-bestanden en firmware-items zijn gescheiden. Gebruik dit archief als herstelinformatie; bewaar een geteste volledige schijfimage voor een volledige terugdraaiing.