Weekend Prosjekt: Rednings Sviktende Stasjoner med SystemRescue

Den Gentoo-baserte SystemRescue CD /USB er en av de aller beste redning distroer, pakking utrolig funksjonalitet inn i en 350MB bilde. Det kan redde Linux, Unix, Mac og Windows-systemer, og gjenopprette data fra nesten alle medier. I dag skal vi lære hvordan du oppretter en SystemRescue levende USB-pinne, og gjenopprette data fra sviktende stasjoner.

Opprette en SystemRescue USB Stick

Live Linux CD /DVD-er er enkelt og bra, men de har to ulemper: de er trege, og de er ikke skrivbar. (Med mindre du bruker en CD /DVD-RW, men disse er ikke alltid pålitelige.) En oppstartbar SystemRescue USB stick er rask, og du kan kopiere filer til den. Den ene veisperring med live usbs er systemets BIOS må støtte oppstart fra USB-enheter. Enhver PC bygget etter 2001 skal ha denne muligheten, selv om de eldre ikke alltid fungerer

Noen BIOS har en veldig fin funksjon: a. Oppstartsenhet velgeren. Bare plugg inn din boot media, makt opp maskinen, og trykk deretter riktig hurtigtast, som vanligvis er en F-tasten. Deretter får du en meny for å plukke oppstartsenheten uten å måtte gå inn i BIOS-konfigurasjonen. For eksempel, på min Thinkpad det er F12. Dette varierer på forskjellige maskiner som hovedkort produsenter elsker å ape med slike ting, så er jeg redd du er på egen hånd for å finne ut hva din systemstøtte.

De fine SystemRescue folk har gjort det enkelt å lage en oppstartbar SystemRescue USB stick ved å legge til et skript til CD-bilde som gjør hele jobben for deg. Alt du trenger er en USB-stasjon som har minst 512 MB, og den nyeste SystemRescue CD image. Etter nedlasting av CD image, opprette en midlertidig katalog og montere bildet med loopback enhet:


 mkdir temp /sudo mount -o loop, exec systemrescuecd-x86-2.3.1.iso temp /


Du må exec alternativet slik at du kan kjøre USB skaperen script. Plugg inn USB-stick, og hvis systemet auto-mounts det så må du demontere den. Deretter kjører usb_inst.sh skriptet:

sudo bash ./usb_inst.sh

Du kan kjøre dette enten i en X-terminal eller fra konsollen. Bare følg instruksjonene, og vips! Instant levende SystemRescue USB.

SystemRescue støvler til en konsoll som standard. Du kan også ha en fin XFCE desktop ved å skrive veiviseren ved ledeteksten. Du får root privilegier som standard, så dette er en mektig kraft verktøy alle klare til å gjøre virkelige arbeidet.

Legge til en datapartisjoner

Du kan kopiere filer til /home katalogen på SystemRescue USB og har en alt-i-ett-redning pinne. Jeg liker å ha en egen datapartisjon, men usb_inst.sh overskriver hele enheten, og det er ingen mulighet til å partisjonere den. Men med litt arbeid kan du partisjonere SystemRescue USB.

Først lage din SystemRescue USB. Ikke starte den opp ennå, men sørg for at den er koblet til PCen og umontert. Deretter krympe enkelt partisjon og lage en ny partisjon på den ledige plassen. Jeg bruker den utmerkede GParted for dette, og formatere den som FAT32 hindrer filrettigheter hodepine.

Nå kan du starte SystemRescue. Det betyr ikke auto noen filsystemer utenfor sitt eget rot filsystem, så du blir nødt til å montere den nye partisjonen manuelt. Den SystemRescue manual sier til alltid å lage underkataloger i /mnt, og aldri montere noe i /mnt seg selv. Så kjøre fdisk -l for å se dine blokkenhetsnavn, og deretter kjøre disse kommandoene ved hjelp av dine egne enhetsnavn:


 # mkdir /mnt /sdb2 # mount /dev /sdb2 /mnt /sdb2 


Vær helt sikker på at du gjør dette til den andre partisjonen på USB-pinne, og ikke på harddisken.

Redning data fra en sviktende harddisk Anmeldelser

Når en harddisk, er CD /DVD, USB-pinne, eller noen digitale lagringsmedier på vei til den store Bitbucket in the Sky, er GNU ddrescue min favoritt data utvinning verktøyet. GNU ddrescue er inkludert i standard SystemRescue bildet. Før vi dykke inn i morsomme ting, er det noen irriterende navngiving forvirring å rydde opp. Det er to ddrescue programmer i SystemRescue. GNU ddrescue, av Antonio Diaz, er den jeg foretrekker. Versjonen på dagens SystemRescue utgivelsen er ddrescue 1.14. Det er også en dd_rescue, versjon 1.23, av Kurt Garloff. dd_rescue er fint, men det er tregere enn ddrescue og ikke ta med så mange funksjoner.

Bare for å holde det interessant, legger Debian Linux sin egen bisarre navnekonvensjoner. Debians pakkenavn for GNU ddrescue er gddrescue, og pakkenavnet for dd_rescue er ddrescue. Men det binære for gddrescue er /sbin /ddrescue, og den binære for dd_rescue er /bin /dd_rescue. Heldigvis gjør SystemRescue ikke rote med de opprinnelige binære navnene, og kaller dem /usr /bin /ddrescue og /bin /dd_rescue

Nok om det.; la oss snakke om hva som gjør GNU ddrescue min favoritt. Det utfører blokknivå kopier av sviktende media, og så det spiller ingen rolle hva filsystemet er på media. Du tenker kanskje det høres ut som den ærverdige dd-kommandoen, og det er like, med noen vesentlige forbedringer. dd fungerer fint på sunne disker, men når den støter på en skrivefeil det stopper, og du må starte den manuelt. Den leser media sekvensielt, som er svært treg, og hvis det er mange dårlige blokker det kan aldri fullføre en full pass.

GNU ddrescue er helautomatisk og rask for en blokk-nivå kopi program, og du vil ha fart når en stasjon full av viktige data er døende. Den søker ut gode blokker for å kopiere og hopper over dårlige blokker. Den registrerer eventuelt all aktivitet i en loggfil, slik at du kan fortsette der du slapp hvis kopieringen blir avbrutt av noen grunn. Det er best å alltid skape en loggfil, fordi hver gang du slår på sviktende stasjonen jo mer sannsynlig er det å dø helt. Ved hjelp av en loggfil sikrer at ddrescue ikke vil gjenta operasjoner, men vil gå videre og se etter nye gode blokker for å kopiere.

Når du redde en sviktende stasjon, er første skritt å kopiere den med ddrescue. Så den opprinnelige offline, og utføre noen ekstra gjenopprettingsoperasjoner på kopien. Ikke berør den opprinnelige noe mer enn du må. Du kan kopiere kopien så mange ganger du trenger for forsikring.

Du trenger en sunn kjøretur å kopiere reddet data til. Jeg foretrekker USB-tilkoblede medier som en USB-harddisk, USB minnepinne, Compact Flash, eller SD-kort. Selvfølgelig en ekstra intern harddisk er et godt alternativ, eller dette kan være din sjanse til å endelig bruke det eSATA-port som alltid så ut som det skulle være kul og nyttig, men du aldri funnet en grunn til å bruke den. Ditt andre stasjonen bør være minst 50% større enn den stasjonen du utvinne. Den urolige stasjonen må ikke monteres. Den enkleste påkalling ser slik ut:

# ddrescue /dev /sda1 /dev /sdb1 loggfil

Her /dev /sda1 er en partisjon på den defekte stasjonen. Alt på /dev /sdb1 vil bli overskrevet, og loggfilen vil bli skrevet til /dev /sdb1. Du kan kalle det logfile alt du vil. Du kan redde en hel stasjon hvis du foretrekker det, som dette:

# ddrescue /dev /sda /dev /sdb loggfil

Merk at hvis det er mer enn én partisjon på sviktende stasjonen og partisjonstabellen er skadet, må du gjenskape den på redningsdisken. Jeg kopiere en partisjon på gangen for å unngå denne typen drama

Du kan ha ddrescue gjøre flere pasninger med -r alternativet.; noen ganger kan du få en mer fullstendig gjenoppretting på denne måten. Du kan gå så høyt som du vil; Jeg bruker 3-5:

# ddrescue -R5 /dev /sda2 /dev /sdb1 loggfil

Noen ganger ddrescue er nesten magisk for å redde ripete CDer og DVDer. De første kommandoen kopierer disk, og den andre kommandoen kopierer det til en tom plate:


 # ddrescue -n -b2048 /media /cdrom bilde loggfil # ddrescue -d -b2048 /media /cdrom bilde loggfil 


Du kan gi bildefilen det navnet du liker. Selv om jeg aldri har hatt behov for å gå utover det grunnleggende i denne artikkelen, har ddrescue en hel masse andre funksjoner som du kan lære om i GNU ddrescue manualen. Anmeldelser