Po awarii zasilania próba odzyskania danych

Ogólne pytania dotyczące systemu
jakwak
Posty: 17
Rejestracja: 10 listopada 2007, 12:58
Lokalizacja: Warszawa

Po awarii zasilania próba odzyskania danych

Post autor: jakwak »

Witam wszystkich.

W środę, kiedy to zima zaskoczyła drogowców, w sieci elektrycznej w mojej okolicy pojawiły się 2 zaniki napięcia. W efekcie mój komputer zaliczył 2 resety pod rząd, z około 10 minutową przerwą między nimi. I po drugim system już nie uruchomił się. Otóż grub miał problem z odczytem partycji boot.

Rozkład partycji wygląda tak:

Kod: Zaznacz cały

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1be21be1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        3916    31455238+   7  HPFS/NTFS
/dev/sda2            3917        5352    11534670   83  Linux
/dev/sda3            5353        7963    20972857+  83  Linux
/dev/sda4            7964       30401   180233235    f  W95 Ext'd (LBA)
/dev/sda5            9269       10182     7341705   83  Linux
/dev/sda6           10183       13054    23069308+  83  Linux
/dev/sda7           13055       15012    15727603+  83  Linux
/dev/sda8           15013       30025   120591891    7  HPFS/NTFS
/dev/sda9           30026       30156     1052226   82  Linux swap / Solaris
/dev/sda10          30157       30401     1967931    7  HPFS/NTFS
/dev/sda11           7964        9268    10482349+  83  Linux

Partition table entries are not in disk order

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00b800b7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       24788   199109578+  83  Linux
/dev/sdb2           24789       27660    23069340   83  Linux
/dev/sdb3   *       27661       29096    11534670   83  Linux
/dev/sdb4           29097       30401    10482412+  83  Linux

Disk /dev/md1: 47.2 GB, 47245754368 bytes
2 heads, 4 sectors/track, 11534608 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table
Fstab do pomocy:

Kod: Zaznacz cały

proc            /proc           proc    defaults			0       0
/dev/sda2       /               ext3    errors=remount-ro,relatime	0       1
/dev/sdb3       /boot           ext2    defaults,relatime			0       2
/dev/sda7       /home           ext3    defaults,relatime			0       2
/dev/sda9       none            swap    sw				0       0
/dev/scd0	/media/cdrom0   udf,iso9660 user,noauto			0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto 			0       0
/dev/sda5       /tmp		ext3	defaults,relatime			0       2
/dev/md1	/media/home	ext3    defaults,users,relatime			0       2
/dev/sda3       /media/public	ext3	defaults,users,relatime			0       2
/dev/sdb1       /media/sdb1	ext3    defaults,users,relatime			0       2
/dev/sda8       /media/doc      ntfs-3g umask=002,user,gid=disk,locale=pl_PL.utf8	0       2
/dev/sda1	/media/xp	ntfs-3g	users,umask=007,gid=disk,locale=pl_PL.utf8		0	0
W rzeczywistości posiadam 3 systemy. Windows XP na sda1 (nie wiem co się tam dzieje od około pół roku), Debian x86-bigmem na sda2 oraz Debiana 64bit na md0, który nie jest tu wypisany ale on nie ma znaczenia. Problem polega na tym, że po tym jak grub przestał spełniać swoją funkcję po "padzie" partycji /boot/ (sdb3) uruchomiłem Knoppiksa w celu odzyskania go. Uruchomiłem fsck dla każdej partycji po kolei aby "zrobił co trzeba". No i niestety zaczęły się schody. Nie umiejętnie posługując się tym narzędziem poczyniłem wiele szkód. Albowiem zgadzałem się na wszystko czego fsck chciał. Po którymś z kolei przebiegu fsck na sdb3, wykonałem jej obraz z pomocą dd. Niestety po zabiegach "naprawczych" partycja do niczego się nie nadawała. Dlatego też utworzyłem na niej nowy system plików. Co dziwne, grub nie chciał się zainstalować na partycji ext3 (taka była pierwotnie) i musiałem utworzyć tam ext2. Z chroota systemu z sda2 przeinstalowałem jądro i uruchomiłem system prawidłowy. Z systemem AMD64 dałem sobie spokój jako, że znajduje się na raidzie i jest to tylko system do testów. No więc, gdy uruchomiłem Debiana x86 ten jak zwykle uruchomił fsck. Główny system plików jak i /home oraz /boot obeszły się bez większych problemów. Tak samo md1 (partycja na dane). Jednak z ostatnią partycją były spore problemy (sdb1). Fsck kazał mi samemu naprawić system plików. Chcąc już skończyć tą zabawę w fsck zgadzałem się na wszystko. Co bardzo zabolało. Okazało się, że Część danych z partycji (raczej większość) przerzucił do katalogu ,,lost&found'', a reszta niestety przepadła. Problem w tym, że część odzyskanych plików straciła swoje nazwy. I tu moje pytania.

Czy jest jeszcze możliwość aby odzyskać resztę danych, których nie znalazłem w postaci plików w katalogu ,,lost&found''?
Czy można w jakiś sposób odzyskać nazwy ,,odnalezionych'' plików?
Co robić, na przyszłość, gdy wyniknie taka sytuacja, że system plików ulegnie awarii, jak go naprawiać aby nie zniszczyć?

Dodam, że partycja sdb1 nie była chyba do końca zniszczona. Wnioskuję to po tym, że prawdopodobnie to na nią robiłem kopię partycji /boot/. A więc zamontowałem ją z powodzeniem. Otóż tylko na niej miałem wolne miejsce. Jak widać, głupota ludzka nie zna granic. Na partycję sdb1 nic od tego czasu nie zapisywałem, przejrzałem tylko katalog odzyskanych danych. Na szczęście najważniejsze zdjęcia się tam znajdują.

Będę wdzięczny za wszelkie wskazówki oraz konstruktywną krytykę.
Pozdrawiam.
ODPOWIEDZ