Home
» LINUX
»
Come eseguire il backup del bootloader di Linux su un'unità USB
Come eseguire il backup del bootloader di Linux su un'unità USB
Salva le impostazioni di GRUB e i file di avvio su una chiavetta USB; sui sistemi UEFI, salva anche i file EFI e un elenco delle voci del firmware. Questi sono riferimenti di ripristino, non un'immagine completa del disco. Se il codice di avvio è mancante, utilizza un supporto di ripristino Linux per reinstallare GRUB e ripristinare la configurazione di avvio effettiva.
Cosa copre un backup di GRUB
Le distribuzioni generano comunemente il menu da /etc/default/grube /etc/grub.d/, con file di supporto in /boot/grubo /boot/grub2. Debian documenta grub.cfgcome generato, quindi ripristina le impostazioni e rigeneralo. BIOS GRUB può utilizzare MBR più settori incorporati; UEFI utilizza file su una partizione di sistema FAT EFI (ESP) e voci di avvio nelle variabili del firmware.
Eseguire il backup di GRUB su un'unità USB.
1. Montare la chiavetta USB e identificare la modalità di avvio
Collega un'unità USB, aprila nel file manager e annota la posizione di montaggio. Quindi elenca i dischi e verifica come è stato avviato il sistema corrente:
lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS
findmnt /
if [ -d /sys/firmware/efi ]; then echo UEFI; else echo BIOS; fi
Il volume USB montato è la destinazione dei file di backup.
Per distinguere le unità USB dai dischi interni, è necessario utilizzare dimensioni, file system, etichetta e punto di montaggio. I nomi, ad esempio /dev/sda, possono cambiare e la partizione root non è sempre il disco di destinazione del bootloader del BIOS.
Utilizza i dettagli del dispositivo per individuare l'ESP e l'unità rimovibile.
Sui sistemi UEFI, identificare la partizione di sistema EFI (ESP) nell'output. Spesso è FAT32, con un punto di mount come /boot/efi, /efi, o /boot. Di solito contiene una EFIdirectory.
2. Archiviare le impostazioni di GRUB e i file di supporto
Sostituisci il percorso USB di esempio con il punto di montaggio che hai trovato. Mantieni le virgolette attorno ai percorsi che contengono spazi.
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[@]}"
Salva insieme le impostazioni di GRUB, gli script del menu e i file di avvio esistenti.
L'archivio conserva i permessi di Linux anche sui filesystem USB che non li mantengono. Include le directory GRUB opzionali presenti in questa installazione.
3. Su UEFI, salvare i file EFI e le voci del firmware
Imposta ESPsul punto di montaggio che hai identificato; questo esempio utilizza /boot/efi. L'archivio include i file di altri fornitori se condividono la EFIdirectory.
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
Un file ESP condiviso può contenere file di avvio per più di un sistema operativo.Conservare l'elenco delle voci del firmware accanto ai file di avvio salvati.
efibootmgr -vVisualizza i dettagli del punto di avvio, non tutte le impostazioni del firmware. Saltare questi comandi sui sistemi con solo BIOS.
4. Verificare il backup ed espellere l'unità
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
Verifica che i nomi e le dimensioni degli archivi siano plausibili, quindi espelli la chiavetta USB prima di scollegarla. Conserva il backup separatamente dalla chiavetta USB di installazione live, che potrebbe essere cancellata durante la creazione del supporto di avvio.
Utilizzare il backup dopo un errore di avvio
5. Avviare una sessione live nella modalità di avvio del sistema installato
Avviare una chiavetta USB live o di ripristino di Linux nella stessa modalità UEFI o BIOS legacy, se possibile. Identificare /bootnuovamente la directory root, le eventuali partizioni separate e la ESP; i nomi dei dispositivi potrebbero essere diversi.
Una sessione dal vivo fornisce gli strumenti per ispezionare e riparare l'impianto.
Monta il sistema installato in una posizione temporanea, ad esempio /mnt/target, con partizioni di avvio separate montate nei rispettivi percorsi. Segui le istruzioni della tua distribuzione per i comandi esatti di partizionamento e chroot.
Monta le partizioni installate prima di eseguire i comandi di riparazione in un ambiente chroot.
6. Ripristina le impostazioni in modo selettivo, quindi ripara GRUB.
Dopo aver montato la partizione root installata e qualsiasi /bootpartizione separata, ripristinare l'archivio solo se proviene da questa installazione e versione:
sudo tar -xzf "/path/to/grub-backup/grub-files.tar.gz" -C /mnt/target
Sostituisci il percorso di esempio con la posizione effettiva dell'unità USB. Non estrarre l'archivio EFI su una memoria ESP condivisa; utilizza la procedura di reinstallazione della distribuzione per ricreare i file di avvio e la voce del firmware. Secure Boot potrebbe richiedere pacchetti shim e GRUB firmati.
Nel chroot, rigenera il menu utilizzando il comando e il percorso di output della tua distribuzione. Debian e Ubuntu usano comunemente update-grub; altre documentano grub-mkconfigo grub2-mkconfig. Se manca il codice di avvio, reinstalla GRUB per il disco BIOS o la partizione UEFI corretti. Verifica il target prima di grub-install.
Dopo aver ripristinato le impostazioni, rigenera il menu dall'installazione riparata.
Perché non ripristinare solo i primi 512 byte?
Una copia a un solo settore non include l'immagine incorporata di BIOS GRUB o la partizione di avvio del BIOS, se utilizzate. Il primo settore contiene anche i dati della tabella delle partizioni, quindi il ripristino di una vecchia copia può danneggiare un disco modificato. I file UEFI e le voci del firmware sono separati. Utilizzare questo archivio come informazioni di ripristino; conservare un'immagine completa del disco testata per un ripristino completo.