Odzyskiwanie usuniętej partycji


(Darkvifon) #1

Witam.

Właśnie przez przypadek usunąłem sobie partycję. Układ partycji wyglądał tak (format uniksowy):

/dev/sda1 - ext4 - Ubuntu

/dev/sda3 - ntfs - WinXP

/dev/sda4 - linux-swap

/dev/sda2 - partycja roszerzona

   /dev/sda6 - ext4 - Gentoo

   /dev/sda5 - ext4 - dane

   /dev/sda7 - ext4 - /boot

Wiem, że numeracja jest mocno poplątana, ale to dlatego, że jakiś czas temu sporo mieszałem w partycjach. No ale do rzeczy. Przeinstalowałem dzisiaj Windowsa, który jest na sda3 i przy próbie reinstalacji GRUBa, zauważyłem, że gdzieś zginęła jedna partycja. Obecny układ partycji wygląda tak:

/dev/sda1 - ext4 - Ubuntu

/dev/sda2 - ntfs - WinXP

/dev/sda3 - linux-swap

/dev/sda4 - partycja roszerzona

   /dev/sda5 - ext4 - Gentoo

   dużo niezaalokowanej przestrzeni

   /dev/sda6 - ext4 - /boot

Numerki się uporządkowały, ale to nie to jest problemem. Gdzieś zniknęła mi partycja z danymi. Do tego mam wrażenie, że jeszcze pogorszyłem sytuację, próbując ją ratować. Przy pomocy GParted, utworzyłem tę partycję od nowa. Myślałem, że przestrzeń pozostanie nienaruszona i zostanie "zinterpretowana" jako ext4, a format będzie tylko na życzenie, ale mam wrażenie, że GParted ją i tak sformatował, bo trwało to stosunkowo długo (30 sekund, może minutę, więc może jednak było to szybkie formatowanie?). W panice ponownie usunąłem tę nową partycję.

Da się jeszcze jakoś uratować te dane?

PS: W sumie, to to nie do końca pasuje do tego działu, ale nic lepszego mi nie przyszło do głowy, a do tego się śpieszyłem.


(roobal) #2

Pobierz sobie GParted LiveCD lub RIP Linux, odpal program TestDisk i próbuj odzyskać stary układ partycji i będziesz mógł przywrócić albo całą tablicę partycji albo poszczególne partycje.

To, że numerki się uporządkowały to normalne ale dziwne jest, że zamieniły się rodzajami, bo rozumiem, że teraz sda4 jest partycją rozszerzoną? Zauważyłem taką zależność, że numer partycji zależy od kolejności tworzenia partycji, np. sda1 | sda3 | sda4 | sda1. Jak odpalisz Fdisk to poukłada sobie po kolei ale zwróci informację, że kolejność w tablicy partycji jest inna ale mimo wszystko nie zmienia rodzaju partycji.

Tutaj mógł namieszać Windows albo źle skonfigurowałeś Gruba. Tak w ogóle instalowałeś Gruba z poziomu Ubuntu czy Gentoo? Partycję montowaną w katalogu /boot współdzielisz z Ubuntu, tj. trzymasz tam jądro skompilowane dla Gentoo i jądro z Ubuntu czy osobno?

Pozdrawiam!


(Darkvifon) #3

Próbowałem naprawiać z poziomu LiveCD Ubuntu, ale zrobiłem tylko to, co napisałem + uruchomiłem program gpart, bo czytałem, że może pomóc. Jak trzeba, to mogę wkleić co wywalił (mam też jego wyjście sprzed mojej zabawy GPartedem).

Z tego co widzę, zmieniły się tylko liczby (i jedna partycja). Nawet wolę nową numerację, więc tutaj nie ma żadnego problemu. Tylko zmodyfikowałem /etc/fstab.

Podejrzewam Windowsa. GRUB chyba nie ma takiej mocy, by uszkodzić partycję. Instalowałem z Gentoo - nie lubię GRUBa 2 dołączanego do Ubuntu. Jądra są razem.

TestDiska wypróbuję już jutro, bo zaraz miałem iść spać. Teraz tylko zerknąłem do repo Ubuntu i widzę, że tam jest. Mogę to zrobić spod Ubuntu włączonego z dysku, czy tak nie da rady?


(roobal) #4

Najlepiej uruchom z LiveCD, pewniejsze, a przede wszystkim partycje nie powinny być zamontowane. Jeśli jądra są w /boot, to mogło to trochę zamieszać, choć nie powinno. Piszesz, że wolisz starego Gruba, to rozumiem, że w środowisku chroot instalowałeś ręcznie, a nie przy pomocy skryptu grub-install? Podpowiem tylko, że stara wersja Gruba jest też w repo Ubuntu i wystarczy zainstalować, Grub2 sam się usunie :slight_smile:

TestDisk powinien pomóć odzyskać stary układ. Najlepiej zgraj sobie najważniejsze rzeczy na zewnętrzny dysk lub chociaż płyty, lepiej mieć kopie w razie przyszłych problemów, zwłaszcza gdy kombinuje się coś z dyskiem.

Pozdrawiam!


(Gryf00n) #5

w przywracaniu tablicy partycji oraz wyznaczeniu granic poszczególnych partycji może być także pomocne narzędzie gpart


(Darkvifon) #6

Gparta już użyłem (o czym napisałem).

Coś czułem, że zamontowane partycje będą przeszkadzać, ale wolałem zapytać. GRUBa instalowałem przez chroot używając grub-install. Nie jestem pewny co rozumiesz przez ręcznie, ale chyba nie jest to teraz ważne. Dobrze wiedzieć, że stary GRUB jest w Ubuntu. Teraz mi się to nie przyda, ale może kiedyś...

Jeszcze dzisiaj popróbuję tym TestDiskiem. Napiszę co się udało zrobić.

Dodam, że to raczej nie GRUB namieszał. To musiał być Windows. Jak tylko Windows dał mi szansę na restart, włączyłem Gentoo z płyty i zamontowałem /dev/sda6 do /mnt, by sprawdzić co tam jest z zidentyfikować, która to partycja. Mogłem to zrobić fdiskiem, ale uznałem, że tak będzie szybciej. Zapamiętałem to, bo utraciłem wtedy dostęp do wszystkich komend, bo /bin był symlinkiem do /mnt/livecd/bin. Dobra, dość dygresji, zmierzam do tego, że już wtedy /dev/sda6 to był /boot.

Pozdrawiam!


(roobal) #7

No właśnie, a skrypt grub-install prawdopodobnie zainstalował Grub2.

Uruchomienie Gruba i wykonanie poleceń ręcznie.

Pozdrawiam!


(Darkvifon) #8

Gentoo korzysta ze starego GRUBa, więc grub-install zainstalował to, co chciałem.

Właśnie próbuję coś zdziałać TestDiskiem i niestety wykrywa tylko tę partycję, którą utworzyłem później. Da się jakoś jeszcze odzyskać tę wcześniejszą, czy już po wszystkim?

EDIT: Fałszywy (mam nadzieję) alarm. Odkryłem możliwość głębszego skanowania i jak na razie (ok. 60%) wykrył 5 partycji o takiej etykiecie, jakiej szukam. Napiszę co z tego wyszło.

EDIT2: Oto co wypluł program: image_id: 3391

Dorzucam też to, co dał mi gpart przed utworzeniem tamtej nowej partycji, może się przyda:

** Error: invalid extended ptbl found at sector(171959760).


Begin scan...

Possible partition(Linux ext2), size(51199mb), offset(0mb)

Possible partition(Windows NT/W2K FS), size(30718mb), offset(51199mb)

Possible partition(Linux swap), size(2047mb), offset(81917mb)

Possible partition(Linux ext2), size(30717mb), offset(83964mb)

Possible partition(Linux ext2), size(189532mb), offset(114682mb)

Possible extended partition at offset(304215mb)

   Possible partition(Linux ext2), size(1027mb), offset(304215mb)

End scan.


Checking partitions...


* Warning: more than 4 primary partitions: 6.

Partition(Linux ext2 filesystem): primary 

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary 

Partition(Linux swap or Solaris/x86): primary 

Partition(Linux ext2 filesystem): primary 

Partition(Linux ext2 filesystem): invalid primary 

Partition(Linux ext2 filesystem): invalid primary 

Ok.


Guessed primary partition table:

Primary partition(1)

   type: 131(0x83)(Linux ext2 filesystem)

   size: 51199mb #s(104856192) s(63-104856254)

   chs: (0/1/1)-(1023/254/63)d (0/1/1)-(6526/254/63)r


Primary partition(2)

   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)

   size: 30718mb #s(62910539) s(104856255-167766793)

   chs: (1023/254/63)-(1023/254/63)d (6527/0/1)-(10442/254/62)r


Primary partition(3)

   type: 130(0x82)(Linux swap or Solaris/x86)

   size: 2047mb #s(4192960) s(167766795-171959754)

   chs: (1023/254/63)-(1023/254/63)d (10443/0/1)-(10703/254/58)r


Primary partition(4)

   type: 131(0x83)(Linux ext2 filesystem)

   size: 30717mb #s(62910408) s(171959886-234870293)

   chs: (1023/254/63)-(1023/254/63)d (10704/2/1)-(14619/254/57)r

Mógłby mnie ktoś pokierować dalej? Ja już dość napsułem. Interesuje mnie partycja o etykiecie Drive, ok. 185 GB.


(roobal) #9

Szybkie szukanie działa po łebkach, zaczyna szukać od ok. 30 - 40%, co nie ma sensu, wtedy należy wybrać deeper search, czyli głębsze szukanie. U Ciebie z tego co widzę, TestDisk znalazł stary układ partycji i teraz możesz to wszystko przywrócić. Jak tego dokonać? Według instrukcji use left/right Arrow keys to CHANGE partition charakteristic, czyli strzałkami w lewo lub prawo zmieniasz charakterystykę partycji. Żaby przywrócić partycję lub kilka partycji, wciskasz strzałkę parwą/lewą do momentu, gdy przy partycji pojawi się litera P lub L, to zależy od tego czy partycja była podatwowa (primary) czy logiczna (logical). Potem wciskasz enter i zapisujesz partycję.

Pozdrawiam!


(Darkvifon) #10

Przy pomocy P przejrzałem najpierw pliki i niestety dwie są uszkodzone, a jedna pusta (nie wiem gdzie się podziały pozostałe dwie). Chyba nic z tego nie wyjdzie. Myślę jeszcze nad przywróceniem samych plików, a nie partycji. Wydaje mi się, że one tam jeszcze gdzieś są. Co o tym myślisz?

Tak się jeszcze zastanawiam co oznacza to "D" przy prawie wszystkich partycjach. Jeśli dobrze rozumiem, to są to partycje skasowane, ale te partycje jak najbardziej istnieją.

PS: Czy Ty nigdy nie śpisz? :wink:


(roobal) #11

Możesz próbować odzyskać pliki.

Pozdrawiam!


(Darkvifon) #12

W sumie, zależy mi tylko na ok. pięciu plikach, które się mocno zmieniły przez ostatni miesiąc (wtedy robiłem kopię zapasową). Nawet jeśli coś się uszkodziło, to jest małe prawdopodobieństwo, że akurat te pliki.

Jeszcze tylko jedno pytanie. Znasz jakiś dobry program do odzyskiwania plików z ext4? Większość dostępnego softu odzyskuje tylko z windowsowych partycji.

Dzięki za poświęcony czas.


(roobal) #13

Bardzo rzadko mi się zdarza, że muszę coś odzyskiwać, więc zbytnio programów nie znam ale TestDiskiem odzyskiwałem pliki z Ext4 bez problemu.

Pozdrawiam!