Komplet Linux-systemgendannelsesguide

Sidste ændring: 20/02/2026
Forfatter: Isaac
  • Forståelse af kritiske mapper, GRUB, UEFI og systemd er nøglen til at gendanne et beskadiget Linux-system.
  • Fuld sikkerhedskopiering og snapshots med værktøjer som TimeShift forenkler gendannelsen betydeligt.
  • Rednings- og nødtilstande giver dig mulighed for at reparere opstartsfejl uden at geninstallere systemet.
  • Datagendannelse afhænger af filsystemet, hvor ext2/3/4 er det mest almindelige i Linux.

Linux-systemgendannelse

Når et Linux-system ikke kan starte eller fryser efter en opdatering, er det normalt at gå i panik. Men med passende gendannelsesværktøjer og en god backupstrategiDet er fuldt ud muligt at få maskinen til at fungere igen uden at skulle geninstallere den fra bunden.

I Windows-verdenen er der mange velkendte stier: fejlsikret tilstand, systemgendannelse, reparationsværktøjer og som en sidste udvej geninstallation. Linux tilbyder også et meget kraftfuldt sæt værktøjer. Metoder til at gendanne systemet, reparere opstartsprocessen, bruge nødtilstande og gendanne dataNøglen er at kende dem på forhånd, så du ikke behøver at improvisere, når katastrofen rammer.

Grundlæggende koncepter for gendannelse i Linux

Før vi går i dybden med kommandoer, er det vigtigt at være klar over, hvad vi mener med Linux-systemgendannelseVi taler ikke altid om det samme: nogle gange handler det bare om at reparere GRUB, andre gange om at gendanne en fuld sikkerhedskopi, og i andre tilfælde om at redde data fra en beskadiget disk.

Generelt kan vi gruppere scenarierne i tre hovedblokke: gendannelse af systemet til dets tidligere tilstand ved hjælp af en fuld sikkerhedskopi, Reparer opstarts- eller kerneproblemer fra GRUB eller UEFIog endelig datagendannelse, når filsystemet er beskadiget.

Det er også vigtigt at skelne mellem værktøjer, der virker inden for selve systemet (når den stadig starter op i en eller anden tilstand) og andre, som vi bruger fra et eksternt miljø, såsom en Live CD/USB eller en UEFI-shell. Jo dårligere maskinen er, jo mere afhængige er vi af disse eksterne miljøer.

Derfor er det så tilrådeligt altid at have en opstartsmedium af en distribution, der ligner den, vi bruger (for eksempel en Live-version af Debian, Ubuntu, Linux Mint osv.), da det gør tingene meget nemmere formatere, montere partitioner, gendanne filer og geninstallere bootloaderen.

Gendan et komplet Linux-system fra en sikkerhedskopi

En af de mest pålidelige metoder til at komme sig efter en "katastrofe" er at have lavet en komplet sikkerhedskopi af systemet på forhånd. Med den sikkerhedskopi kan vi gendanne systemet til dets tidligere tilstand med dets programmer, indstillinger og tilpasningeruden at skulle geninstallere det fra bunden.

Processen til at gendanne et system fra en filbaseret sikkerhedskopi (f.eks. et tar.bz2-systemarkiv) kan opsummeres i et par klare trin: klargør partitionen, monter den, udpak sikkerhedskopien, genskab nogle udeladte mapper, og genstart med GRUB.

Ideelt set bør du boote fra en Live CD/USB fra en distribution, der ligner originalen (hvis dit system var Debian, så brug Debian Live, Linux Mint, Xubuntu osv.). Disse lette distributioner er perfekte til at eksperimentere uden systemforsinkelse og giver dig mulighed for at arbejde komfortabelt med diskværktøjer.

Formatér og forbered destinationspartitionen

Når systemet er startet op fra Live-miljøet, er det første skridt at rense den partition, hvor vi skal gendanne systemet. GParted er meget nyttigt til dette; det er et grafisk værktøj, der normalt er tilgængeligt eller kan installeres med en simpel kommando. sudo apt installere gparted på Debian, Ubuntu eller Linux Mint, hvis vi har en internetforbindelse.

Fra GParted kan vi slette den gamle partition, oprette en ny og formatere den med det passende filsystem, normalt ext4 til rodpartitionenIdeen er, at destinationen for restaureringen er fuldstændig ren og uden rester af tidligere installationer.

Når den er formateret, er det en god idé at notere partitionsidentifikatoren (f.eks. /dev/sda1, /dev/sdb2osv.), da vi skal bruge det til samling og senere til at installere GRUB på den korrekte disk.

Hvis vi ikke ønsker at bruge GParted, kan vi altid ty til konsolværktøjer som fdisk, parted eller mkfs.ext4, men for mange brugere gør den grafiske brugerflade dette mere bekvemt. delikat partitionerings- og formateringsarbejde.

Monter den partition, hvor vi vil gendanne systemet

Når partitionen nu er formateret, er næste trin at montere den i en mappe på Live-systemet, så du kan få adgang til den. Den nemmeste måde er at montere den direkte i Live-mappen. / mntVi kan dog oprette en specifik undermappe, hvis vi vil holde den mere organiseret.

For eksempel kunne vi gøre noget i retning af dette:

sudo mkdir /mnt/system

Dernæst kontrollerer vi destinationspartitionens navn med:

sudo fdisk-l

Og til sidst monterer vi (forudsat at det er /dev/sda1):

sudo mount /dev/sda1 /mnt

Fra dette øjeblik af, alt hvad vi kopierer, opretter eller sletter indeni / mnt Den vil faktisk blive anvendt på den diskpartition, som vil være systemets fremtidige rod, når vi er færdige med gendannelsen.

Udpak sikkerhedskopien til den nye partition

Den komplette backup gemmes normalt på et eksternt medie: et USB-flashdrev, en USB-harddisk, en NAS osv. Lad os sige, at vi har en komprimeret kopi på et USB-flashdrev kaldet USB32GB, i mappen System_backup_06oct14, med en fil System_backup_06oct14.tar.bz2.

  7 bedste programmer til Windows XP, der stadig virker

I så fald ville det være nok at udføre en kommando i stil med:

sudo tar -xvpjf /media/USB32GB/System_backup_06oct14/System_backup_06oct14.tar.bz2 -C /mnt

Med den kommando beder vi tar om at udpakke filen, bevare tilladelser, ejere og mappestruktur, og efterlade indholdet præcis som det var, da vi lavede kopien, men nu placeret på den partition, vi monterede i. / mnt.

Afhængigt af størrelsen på sikkerhedskopien og hardwarens hastighed kan denne proces tage et stykke tid. Det er normalt at skulle være tålmodig. vent på, at gendannelsen af ​​alle filer er færdig før du fortsætter med de resterende trin.

Opret de systemmapper, der blev udeladt

Når man opretter komplette systembackups, er det almindelig praksis at udelukke visse flygtige mapper eller dem, der ikke giver mening at sikkerhedskopiere, såsom /proc, /tmp, /mnt, /media eller nogle logfiler. Det betyder, at når sikkerhedskopien er dekomprimeret, er det tilrådeligt at genskab manuelt disse tomme mapper.

Et typisk eksempel på en kommando til at generere dem kunne være:

sudo mkdir /mnt/proc /mnt/mnt /mnt/media /mnt/tmp /mnt/var/log

Hver bruger bør tilpasse denne liste til, hvad de rent faktisk udelod fra den originale kopi. Det vigtige er, at disse elementer er til stede, når systemet starter op. alle de kritiske stier, som operativsystemet har brug for at fungere korrekt.

Gå ind i chroot-tilstand for at fungere, som om vi var inde i systemet

En af de store fordele ved Linux er at kunne bruge chroot til at "jail-låse" miljøet og få systemet til at overveje en mappe som dens nye rodI dette tilfælde ønsker vi, at /mnt bliver til / set fra de kommandoer, vi udfører.

Før du går i chroot-tilstand, skal du montere nogle pseudo-filsystemer fra Live-systemet inde i /mnt, så det chrootede system har adgang til /proc, /sys, /dev og andre nødvendige enheder:

sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/
sudo mount -o bind /dev /mnt/dev/
sudo mount -t devpts pts /mnt/dev/pts

Når alt dette er sat op, kan vi gå ind i det indespærrede miljø:

sudo chroot /mnt /bin/bash

Fra det øjeblik vil alt på den terminal fungere, som om vi var inde i det gendannede system. Ruterne fortolkes ved at tage /mnt som ægte rodDette giver os mulighed for at arbejde komfortabelt: opdatere GRUB, justere indstillinger, installere pakker osv.

For nemheds skyld kan vi endda ændre prompten for at gøre det tydeligt, at vi er i chroot, for eksempel:

eksportér PS1="(chroot) $PS1"

Installer og konfigurer GRUB på disken

På dette tidspunkt er systemet allerede gendannet til disken, men det vil stadig ikke starte, fordi en fungerende bootloader mangler. Fra chrooten er den normale procedure opdater GRUB-menuen og installer den derefter i MBR'en eller det tilsvarende drev.

Først opdaterer vi GRUB-menuen for at registrere de systemer, der findes på disken, og generere dens konfigurationsfil, normalt med:

sudo update-grub

Dernæst installerer vi GRUB på den relevante disk (ikke på partitionen, men f.eks. på diskenheden) / Dev / sda (til det første album):

sudo grub-install /dev/sda

Når vi genstarter systemet, og systemet bruger disken som opstartsenhed, burde GRUB indlæse sin menu korrekt og tillade det gendannede system at starte. Det anbefales at kontrollere BIOS/UEFI. Den er konfigureret til at boote fra den disk, hvor vi installerede GRUB.

Hvis vi støder på problemer med tilladelser i mapper som /tmp, der forhindrer det grafiske miljø i at starte, kan vi løse dette fra en tekstkonsol (Ctrl+Alt+F1) ved at logge ind med vores brugerkonto og anvende noget i retning af:

sudo chmod 777 /tmp

Disse detaljer afhænger i høj grad af, hvordan sikkerhedskopien blev oprettet, men de er generelt nemme at rette, når systemet genstarter. Derefter kan vi bruge det normalt igen, og hvis vi ønsker det, automatiser nye periodiske sikkerhedskopier.

Specifikke gendannelsesværktøjer i Linux-distributioner

Ud over den "manuelle" tilgang til at gendanne tjære, findes der værktøjer og pakker, der er specielt designet til Forenkl sikkerhedskopiering og gendannelse af Linux-systemerEn af de mest kendte i forretningsmiljøer er Relax-and-Recover (ReaR), som giver dig mulighed for at oprette brugerdefinerede systembilleder og gendannelsesmedier.

På Red Hat-baserede systemer kunne vi for eksempel installere ReaR sammen med de nødvendige værktøjer til at generere ISO-billeder og bootloadere ved hjælp af en kommando som denne:

yum installerer bag genisoimage syslinux

ReaR er ansvarlig for at forberede et redningsmiljø, der er i stand til at gendanne serveren i tilfælde af en katastrofe, kombinere scripts, systemkonfiguration og Premastering-værktøjer som genisoimage, udover syslinux-pakken som tilbyder forskellige bootloadere.

Uden for forretningsverdenen er "tidsmaskine"-værktøjer også meget populære på stationære computere og personlige computere, hvilket giver brugerne mulighed for at oprette systembilleder planlagt og gendanne dem med et par klik eller kommandoer.

Mapper og kritiske komponenter til opstart

For at navigere systemgendannelse problemfrit er det vigtigt at vide, hvor hver nøglekomponent i opstartsprocessen befinder sig. Især mappen /boot indeholder de vigtigste elementer: kerneaftryk, initramfs, GRUB-filer osv.

  Den bedste Linux-distribution til Apple Silicon: En komplet guide til Asahi og virtualisering

I /boot finder vi ofte undermapper som f.eks. /boot/grub/, hvor boot manager-modulerne og deres konfigurationsfiler er gemt, samt de poster, der bestemmer, hvilken kerne systemet vil indlæse.

Initrd- eller initramfs-billederne er også til stede (/boot/initrd.img eller initramfs (med forskellige versionssuffikser). Disse aftryk indeholder et lille filsystem i RAM, der bruges i de tidlige stadier af opstart til at indlæse moduler, detektere diske og montere den rigtige rod.

I systemer, der bruger UEFI, EFI-partition Den er normalt monteret på / Boot / EFI og kan deles mellem forskellige operativsystemer. Den gemmer .efi-binære filer, der fungerer som bootloadere til Linux, Windows eller andre systemer.

Endelig, i klassiske systemer med sysvinit var der filen / Etc / inittabhvor runlevels og boot-adfærd blev defineret. Selvom mange distributioner er skiftet til systemd og bruger andre mekanismer, er det fortsat meget nyttigt at forstå disse koncepter (enkeltbrugertilstand, flerbrugertilstand osv.) for at forstå rednings- og nødsituationer.

Rednings- og nødtilstande med systemd og GRUB

I moderne systemer baseret på systemd har vi, udover normal opstart, specielle mål designet til gendannelse, såsom redning.mål og nød.målDisse tilstande starter systemet med minimal service, hvilket muliggør reparationer uden interferens.

Når systemet stadig viser GRUB-menuen, kan vi bruge den til at vælge avancerede indstillinger. Mange distributioner, såsom Ubuntu, tilbyder direkte adgang til Avancerede indstillinger med "(gendannelsestilstand)"-varianter for hver installeret kerne.

Fra denne undermenu kan du indlæse meget nyttige værktøjer til diagnosticering og reparation: tjek partitioner med fsck, prøv at reparere ødelagte pakker med dpkg, opdater GRUB, aktiver netværk eller start en shell med root-rettigheder.

En anden mulighed er at bruge GRUB-editoren (tryk på E på en indgang) til at tilføje særlige parametre til slutningen af ​​Linux-linjen, f.eks. systemd.unit=nødsituation.mål o systemd.unit=redning.målPå denne måde kan vi, selvom vi ikke har en eksplicit indgang i menuen, gennemtvinge en direkte opstart til disse nødtilstande.

Emergency.target starter et meget grundlæggende miljø med kun en rodshell og skrivebeskyttede filsystemer, ideelt til Gennemgå logfiler, genmonter systemet, ret fstab eller fortryd konfigurationsændringer der har afbrudt den normale opstart.

Praktisk brug af gendannelsestilstand i distributioner som Ubuntu

Hvis du vælger Avancerede indstillinger fra GRUB og derefter en post mærket (Gendannelsestilstand), vil mange distributioner vise en ekstra menu med forskellige gendannelsesværktøjer. I Ubuntu vil du for eksempel ofte se muligheder som:

  • GenoptagPrøv at starte normalt igen fra den kerne.
  • renåbner en shell med instruktioner til frigør plads hvis disken er løbet tør for plads.
  • dpkgReparerer eller fjerner beskadigede pakker, der muligvis forhindrer opstartsprocessen, og henter fra arkiverne, hvis netværket er aktiveret.
  • fsckudfører filsystem- og partitionskontroller for at opdage og rette fejl.
  • grub: analyserer og opdaterer selve boot manageren.
  • netværkAktiverer netværket, hvilket er nyttigt til installation eller download af reparationspakker.
  • rodåbner en shell som superbruger, hvorfra vi kan foretage dybe konfigurationsændringer.
  • systemoversigtviser en oversigt over systemet, kerneversionen, diske osv.

Disse værktøjer, kombineret med en grundlæggende viden om kommandoer som f.eks. mount, fsck, systemctl, journalctl eller nano/viDe giver dig mulighed for at løse et stort antal problemer uden at skulle geninstallere hele systemet fra bunden.

Arbejde med GRUB-shell- og disknavngivningskonventionerne

Ved mere alvorlige fejl starter systemet muligvis ikke normalt, og vi kan muligvis kun interagere med en GRUB-prompt, enten grub> (normal skal) eller grub redning> (mere begrænset gendannelsestilstand). Selv i denne situation har vi stadig råderum.

Fra GRUB-menuen kan vi få adgang til kommandolinjen ved at trykke på C-tasten. Dette åbner et miljø, hvor vi kan udføre bootloader-specifikke kommandoer, liste diske, søge efter kerner, indlæse moduler og ... forberede en manuel systemopstart.

Det er vigtigt at bemærke, at GRUB ikke navngiver diske og partitioner på samme måde som Linux. Mens Linux bruger /dev/sda, /dev/sdb osv. til diske og /dev/sda1, /dev/sda2… til partitioner, bruger GRUB syntaks som (hd0,0), (hd0,1), (hd1,0)Osv

Groft sagt kan vi forbinde /dev/sda med hd0, /dev/sdb med hd1, og så videre. For partitioner bruger GRUB derefter parentesiske indekser, hvor disken og partitionen er adskilt af kommaer, hvilket er meget vigtigt at huske på, når man prøver at finde /boot eller roden fra GRUB-shellen.

Med de relevante kommandoer (ls, set, linux, initrd, boot osv.), og når den partition, hvor kernen og initramfs er placeret, er blevet identificeret, er det muligt at starte manuelt og derefter gendanne den normale GRUB-konfiguration fra systemet med de sædvanlige værktøjer.

Avanceret gendannelse fra UEFI Shell

På moderne maskiner med UEFI er problemet nogle gange ikke Linux selv, men tab eller beskadigelse af den opstartspost, der peger på .efi-filen fra opladeren. I disse tilfælde ser vi muligvis kun en UEFI-type Shell>-prompt, når vi tænder enheden.

  Sådan måler du et programs udførelseshastighed i Linux

Denne UEFI-shell har sin egen måde at referere til enheder på. Ingen /dev/sda eller hd0: ved opstart viser den normalt en "mapping-tabel", hvor vi ser drev markeret som FS0, FS1, FS2…, som svarer til /dev/sda, /dev/sdb osv.

For at navigere i disse filsystemer bruges stier med omvendte skråstreger (\) i stedet for /, og tastaturet betragtes som værende i engelsk layout, så Placeringen af ​​tegn som kolon, skråstreger osv. ændrer sig i forhold til det spanske tastatur..

Fra dette miljø kan du liste enheder, skifte drev, navigere til EFI-partitionen og finde bootloader .efi-binærfilerne. Der er værktøjer og kommandoer (og endda en editor kaldet edit), der giver dig mulighed for at justere bootkonfigurationen, tilføje eller ændre poster og Omdiriger firmwaren til den korrekte oplader.

At pille ved UEFI-opstartsprocessen uden at vide præcis, hvad du laver, kan dog efterlade maskinen i dårligere stand end før, så det er bedst at gå forsigtigt frem og følge specifik dokumentation (f.eks. den officielle UEFI Shell-manual), hvis du ikke har nogen tidligere erfaring.

"Tidsmaskine" i Linux: snapshots med TimeShift

De, der kommer fra Windows, savner ofte noget, der ligner macOS' Systemgendannelse eller Time Machine. Linux tilbyder løsninger, der udfører en meget lignende funktion, og en af ​​de mest populære på Debian/Ubuntu-baserede desktops er TimeShift.

TimeShift giver dig mulighed for at definere en placering, hvor snapshots gemmes (snapshots) af systemet og automatisk planlægge, hvor ofte de skal oprettes: for eksempel hver anden uge, hvor kun de sidste to gemmes for ikke at fylde disken.

Under den indledende opsætning kan vi vælge, hvilke mapper der skal udelades fra snapshots, så systemet fokuserer på system- og konfigurationsfiler uden at duplikere personlige data, som vi allerede gemmer med et andet værktøj.

Når det er konfigureret, er det så simpelt som at åbne applikationen og trykke på knappen. OpretProgrammet vil sørge for at generere snapshottet, og når det er færdigt, vil vi kunne se det på en liste sammen med resten af ​​de tilgængelige snapshots.

Det er også meget ligetil at gendanne systemet fra et af disse punkter: vi vælger snapshottet og trykker på genoprette i brugerfladen, eller vi arbejder fra terminalen ved at udføre kommandoer som tidsforskydning – liste for at se de tilgængelige snapshots og tidsforskydning – gendannelse at bringe systemet tilbage til en bestemt tidligere tilstand.

Datagendannelse i Linux-systemer

Nogle gange er hovedproblemet ikke, at systemet ikke vil starte, men snarere tabet af vigtige filer på grund af utilsigtet sletning eller filsystemfejl. I disse tilfælde kalder vi det korrekt for... datagendannelse på Linux-systemeri stedet for gendannelse af operativsystemet.

Linux kan bruge forskellige typer filsystemer, selvom følgende familier i praksis dominerer i generelle desktop- og servermiljøer: ext2, ext3 og ext4Forskellige distributioner har historisk set valgt den ene eller den anden som standard.

For eksempel har Debian GNU/Linux og Slackware brugt ext2, mens Red Hat, Fedora, Ubuntu og CentOS har brugt ext3 i mange versioner, og nyere versioner af distributioner som Arch, Ubuntu 9, Fedora 11, CentOS 6 og Debian 7 bruger også ext3. De adopterede ext4 som deres referencefilsystem.

Afhængigt af filsystemet og hvordan dataene gik tabt (logisk sletning, beskadiget partition, disk med dårlige sektorer osv.), vil vi bruge forskellige værktøjer: fra fsck til at reparere basale strukturer, til mere avancerede retsmedicinske analyser og gendannelsesværktøjer, altid med prioritet ikke at skrive til den berørte disk. maksimere chancerne for succes.

I særligt kritiske scenarier, der involverer data af høj værdi, er det normalt mere klogt at bruge professionelle gendannelsestjenester, der har erfaring med Linux-systemer og er bekendt med detaljerne i hver distribution og filsystem.

Når man ser på hele dette sæt af teknikker og værktøjer, er det tydeligt, at Linux tilbyder en meget bred vifte af muligheder for at undgå traumatiske geninstallationer: lige fra at gendanne komplette sikkerhedskopier med tar eller ReaR, bruge praktiske snapshots med TimeShift, bruge rednings- og nødtilstandene i systemd og GRUB, til at gå i detaljer i GRUB eller UEFI Shell, når tingene bliver komplicerede, uden at glemme, at der altid er mulighed for at gendanne data i ext2/3/4 filsystemer, når systemet ikke kan repareres, men vi stadig ønsker at gemme vigtige oplysninger.

reparation af grub
Relateret artikel:
Sådan reparerer du GRUB trin for trin i GNU/Linux