Når backup er for feiginger.

Hard disk i flammer
De fleste av oss har vel en eller annen gang opplevd disker som har krasjet og maskiner som ikke har villet boote igjen på grunn av korrupt fil system? Så, hva gjør man når sånt skjer og man lever med holdningen om at backup er for feiginger?

Det finnes flere løsninger for å kunne berge ut data fra slike system, personlig så foretrekker jeg å bruke Knoppix som er en CD basert Linux distribusjon (http://www.knoppix.net/) Grunnen til dette er at Knoppix støtter masse forskjellig hardware og den inneholder de verktøy som vanligvis trengs for å berge data.

En ting som man bør tenke på før man begynner å jobbe med disken er at hvis det har oppstått en mekanisk feil på disken, kan man fort gjøre vondt værre med å forsøke å lese den flere ganger. Det samme gjelder korrupte filsystem som av og til kan bli helt korrupte hvis man kjører fsck på dem. Jeg anbefaler derfor at man tar en backup av den partisjonen som er ødelagt, for så å montere den opp igjen via loopback enheten. Alternativt er å montere disken read/only. ‘dd’ er en fin kommando for å kopiere ut et komplett image av en disk. Hvis man for eksempel skal hente data fra partisjonen /dev/sda3 og lagre den på en USB drive som er montert opp på /media/usb skriver man:

dd if=/dev/sda3 of=/media/usb/disk_backup.img

Etter en lengre pause hvor kopieringen har gjort seg ferdig, kan du forsøke å montere imaget:

losetup /dev/loop0 /media/usb/disk_backup.img
mkdir /media/bimage
mount -o loop /dev/loop0 /media/bimage

Om dette ikke går så er neste steg å forsøke å kjøre en filesystem sjekk på filen, dette bør man ikke gjøre hvis disken er montert, isåfall avmonter den først (umount /media/bimage). For så å kjøre sjekken:

fsck.ext3 /dev/loop0 eller
fsck.vfat /dev/loop0

Det finner flere varianter som brukes alt etter hvilket filsystem som brukes. Hvis filsystemet inneholder mange feil kan det være en fordel å skrive fsck.ext3 -y /dev/loop0, slik at man slipper å sitte der å trykke ‘y’ hele tiden.

Er man heldig så kommer man etterhvert til et punkt hvor man kan aksessere de data som man ønsker å berge (husk å montere disken igjen etter filsystemsjekken.) Sjekk også lost+found folderen for filer som kan ha havnet der. Bruk scp eller kopier dem ut til USB disken hvis den har nok plass. Dataene som er kopiert ut bør sjekkes for feil. Avmonter image filen og USB disken. Husk også å koble backupen fra loopback devicen før du slutter: losetup -d /dev/loop0

Om montering av disk og filsystem sjekk feiler så er det fremdeles en mulighet til å berge ut data. Vi hadde en gang en student med en USB pen som det var hardware feil på. Likevel klarte jeg å kopiere ut et image som for det meste var inntakt, men både montering og filsystemsjekken feilet. Løsningen var å gå rett inn i image filen og lete etter tekst (fikk noen eksempler på linjer som skulle være i teksten.) Som jeg til slutt fant og fikk dumpet ut.

Når det gjelder filer som ved uhell har blitt slettet så finnes det verktøy for å trylle de frem igjen også. I Linux har man ext3grep og jeg har sett flere shareware program som gjør lignende ting i Windows. Hovedsaken er at man ikke lagrer noe nytt på disken etter at filene har blitt slettet og at man har verktøyene lett tilgjengelig.

Jeg fant en HOWTO på ext3grep og berging av slettede filer på:
http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html

2 responses to “Når backup er for feiginger.”

  1. Hans-Henry Jakobsen says:

    Et annet verktøy som egner seg til å redde partisjoner og disker er testdisk, http://www.cgsecurity.org/wiki/TestDisk

    I Ubuntu heter pakken testdisk.

  2. Hans-Henry Jakobsen says:

    Et alternativ til å benytte dd for å lage image av harddisk er GNU ddrescue. I Ubuntu heter pakken gddrescue og må ikke forveksles med pakken som heter ddrescue 🙂

    “GNU ddrescue – Data recovery tool. Copies data from one file or block device to another, trying hard to rescue data in case of read errors.”

Leave a Reply

Your email address will not be published. Required fields are marked *