Zapisałem obraz ISO na dysku twardym za pomocą sudo dd if=image.iso of=/dev/sda
. Miałem na myśli /dev/sdc
, a teraz uruchomiony sudo fdisk -l
zwraca tylko jedną partycję na / dev / sda, podczas gdy powinno być 6. Czy można odzyskać moje dane?
Nie zamknąłem (zrestartowałem) jeszcze komputera.
hard-drive
data-recovery
dd
Baaing Cow
źródło
źródło
dd
ponownie pokazał swoją brzydką twarz „Data Destroyer” :-( Nadpisał on główną część dysku (odpowiadającą rozmiarowi pliku ISO). Dane, które tam były, zostały utracone. Czy masz dość nową kopię zapasową pliki, na których utratę nie możesz sobie pozwolić? W przeciwnym razie musisz przygotować się do ciężkiej pracy w celu naprawy tablicy partycji i systemów plików, najlepiej na sklonowanej kopii za pomocą Testdisk , a jeśli to się nie powiedzie, jeszcze trudniejszej pracy w celu odzyskania danych pliku, które można znaleźć „za” część dysku, która jest nadpisana. Możesz w tym celu użyć PhotoRec . Zobacz ten link, cgsecurity.orgdd
ponownie pokazał swoją brzydką twarz„ Data Destroyer ” - z tymdd
, że nie ma to nic wspólnego z bezpośrednim dostępem do urządzenia dyskowego jako root. Każde inne narzędzie mogłoby mieć ten sam efekt.cat image.iso > /dev/sda
miałby dokładnie taki sam efekt. Lubpv ...
. A nawet do pewnego stopniavi /dev/sda
. W rzeczywistości przypomina mi to historię, w której Linus Torvalds próbował połączyć się z siecią za pomocą swojego dysku twardego zamiast modemu, zastępując początek swojego dysku uzgadnianiem połączenia telefonicznego . Nie ma z tym nic wspólnegodd
..iso
plik? Czy przerwałeśdd
, czy też dobiegł końca?dd
ten sposób (w tym celu), więc myślę, że ostrzeżenie „Data Destroyer” jest istotne, chociaż całkowicie prawidłowe ostrzeżenie powinno być dłuższe: „Nie używaj wiersza poleceń, takiego jaksudo dd if=image.iso of=/dev/sdx
klonowanie do masy urządzenie pamięci masowej. Użyj narzędzia, które pomaga zidentyfikować i wybrać właściwe urządzenie docelowe i które ma końcowy punkt kontrolny, dzięki czemu możesz dwukrotnie sprawdzić, czy sklonujesz plik ISO na właściwym urządzeniu docelowym, np. StartupDiskCreator, Dyski, mkusb , Win32DiskImager. ”Odpowiedzi:
Ponieważ komputer jest nadal włączony, masz duże szanse na zapisanie rzeczy.
Po pierwsze,
sysfs
wyświetla jądro w widoku pamięci tablic partycji. W tej chwili twoje jądro nie odczytało ponownie tabeli dysku i pamięta twoje partycjonowanie. Wewnątrz/sys/block/sda/
powinien znajdować się jeden katalog dla każdej partycji. Każdy taki podkatalog zawiera plikstart
i pliksize
, które reprezentują lokalizację i rozmiar partycji, w sektorach. Uruchom,fdisk
a następnie ponownie utwórz każdą partycję (w kolejności!) Z informacjami w jejsysfs
katalogu. Pamiętaj, że musisz także utworzyć nową tablicę partycji. Upewnij się, że twoja nowa tablica partycji jest taka sama jak poprzednia. Możesz to sprawdzić/sys/block/sda
. Jeśli widziszsda1
dosda7
chociaż masz tylko 6 partycji, prawdopodobnie masz MBR, a poza tym prawdopodobnie GPT. Musisz także ustawić flagi i typy dla tych partycji. Spójrz/etc/fstab
i spróbuj zebrać informacje o typach partycji, które masz, a następnie sprawdź Wikipedię, aby przekonwertować je na kody dla swojego schematu partycjonowania.Ponieważ wydaje się, że jesteś w stanie korzystać z systemu plików, prawdopodobnie
dd
nie udało się go zastąpić, ponieważ większość ważnych bitów systemu plików znajduje się z przodu. Sprawdź,/etc/fstab
które partycje odpowiadają danej części twojego systemu, a następnie wykorzystaj ilośćdd
skopiowanych danych, aby oszacować, ile nuknąłeś. Jeśli nadpisałeś tylko część systemu plików, dobry produktfsck
może być w stanie go trochę naprawić (ale straciłeś sporą część danych).Najprawdopodobniej nadpisałeś
/boot
. Będziesz musiał ponownie zainstalować jądro (zaptitude
) i ponownie zainstalować GRUB2 (zgrub-install
) (który zniszczył zarówno pierwszy, jak i drugi etap). GRUB2 jest skonfigurowany z plikami w/etc
, więc nie będziesz musiał ręcznie niczego tworzyć .źródło
/sys/block/sda/*/{start,end}
i odtwórz swoje partycje z tymi informacjami”: czy mógłbyś trochę się rozwinąć? Nie jest to trywialna operacja i wydaje się być głównym punktem twojej skądinąd doskonałej odpowiedzi.sudo parted
,unit s
,print all
,quit
.bashrc
i inne pliki kropkowe z katalogu domowego i wszystkie/etc
, oprócz prawdziwych danych) na inny dysk, gdy uruchomiony jest komputer . tar.gz to dobry format do kopiowania całych katalogów (ponieważ zachowuje uprawnienia i inne rzeczy)./boot
Takie ponowne formatowanie jest całkowicie „bezpieczne” (modulo dosłownie wszystko inne o tej sytuacji ), ponieważ jądro niczego nie jest niepewne.Przepraszam, że poczytałem o twoim pechu
Wydaje mi się, że nie masz bieżącej kopii zapasowej i przepraszam, że przeczytałem o twoim pechu
gdzie użyłeś litery dysku
x
=,a
więc nadpisałeś początek dysku twardego, na którym zapisałeś wiele cennych danych.Nie jesteś pierwszą osobą i obawiam się, że nie ostatnia osoba dotknięta tym problemem.
dd
jest zalecane na wielu stronach internetowych do takiego wykorzystania. Jest to potężna, ale niebezpieczna metoda, ponieważ robi to, co każesz, bez pytania. Z tego powodu jest często nazywany „niszczycielem danych”.@marcelm komentuje, że ten pseudonim jest niesprawiedliwy. Ma rację, że zapisywanie bezpośrednio do pliku urządzenia jako root powoduje ryzyko . Pamiętaj więc, że możesz łatwo zastąpić dysk i zniszczyć cenne dane, pisząc do odpowiedniego pliku urządzenia
/dev/sdx
. (Bezpieczniejsze narzędzia są wymienione na końcu tej odpowiedzi).Odzyskaj tablicę partycji, systemy plików i / lub zawartość pliku
Rób tak mało, jak to możliwe z dyskiem, a przede wszystkim nie zapisuj na nim niczego, ponieważ może to pogorszyć sytuację, zastępując dane, które nadal można odzyskać.
Jeśli twoje dane są cenne, powinieneś pracować na sklonowanej kopii , a nie na oryginalnym (częściowo nadpisanym) dysku. Zobacz ten link, przewiń w dół do „Zaawansowana naprawa tablicy partycji, systemu plików i / lub odzyskiwania plików”
Napraw tablicę partycji i system plików pendrive
Jeśli posiadasz tablicę partycji GUID, GPT, na końcu dysku znajduje się kopia zapasowa tablicy partycji
/dev/sda
i możesz przywrócić główną tablicę partycji z tej tabeli kopii zapasowej za pomocą narzędziagdisk
. Szczegółowe informacje można znaleźć w instrukcji obsługiman gdisk
.Możesz zarządzać przywracaniem tablicy partycji i systemów plików za pomocą Testdisk z
http://cgsecurity.org
Przeczytaj instrukcje na stronie internetowej CGSecurity, a także łącze dostarczone przez @ElderGeek. Partycje zniknęły po utracie zasilania podczas instalacji
Możesz także przywrócić tablicę partycji i systemy plików za pomocą gpart / gparted zgodnie z linkiem dostarczonym przez @CSM,
HOWTO: Przywróć utracone partycje do usuniętej lub uszkodzonej tabeli partycji
PhotoRec : Jeśli nie uda się odzyskać tabeli partycji i systemów plików, nadal można odzyskać niektóre dane plików. Pliki w nagłówku, może 1-1,5 GB, są nadpisywane i gubione, ale pliki za tą częścią napędu nadal tam są. PhotoRec z http://cgsecurity.org to narzędzie, które może odzyskać dane „z powierzchni dysku” bez systemu plików. Do identyfikacji wykorzystywane są typowe dane na początku popularnych typów plików.
Poniższy link zawiera szczegółowe informacje o PhotoRec,
https://www.cgsecurity.org/wiki/PhotoRec
Pliki należy zapisać na partycji na oddzielnym dysku.
Nie można odzyskać struktury katalogów i zwykle nie jest możliwe odzyskanie nazw plików (a nie uprawnień i praw własności), i występują problemy, gdy pliki są pofragmentowane, ale PhotoRec może odzyskać wiele plików (nie tylko zdjęcia, a także wiele innych popularnych typów plików). Ale i to jest duże, ale ciężko jest przebrnąć przez ogromną liczbę nieposortowanych plików, aby zidentyfikować naprawdę ważne pliki, których nazwy należy zmienić na znaczące.
Bezpieczniejsze narzędzia do tworzenia napędów rozruchowych USB za pomocą Ubuntu
W przyszłości skorzystaj z narzędzia, które pomoże Ci zidentyfikować i wybrać odpowiednie urządzenie docelowe i które ma końcowy punkt kontrolny, abyś mógł na przykład dwukrotnie sprawdzić, czy sklonujesz plik ISO na odpowiednie urządzenie docelowe, na przykład
W systemie Linux:
gnome-disks
,W systemie Windows: Win32DiskImager .
Możesz także użyć narzędzi do wyodrębniania , które zapewniają na przykład końcowy punkt kontrolny
źródło
testdisk
. Również skrypt otoki, aby uniemożliwićdd
pisanie na twoim / sda / sdb / cokolwiek też jest dobrym pomysłem.Twoje
dd
polecenie zastąpiło tablicę partycji / dev / sda i wszystkie dane aż do rozmiaru image.iso.Więc najlepsze, co możesz osiągnąć, to przywrócić tablicę partycji (z dokładnymi rozmiarami), aby odzyskać przynajmniej partycje pod koniec / dev / sda.
źródło
Bez przywracania z kopii zapasowej nie ma możliwości pełnego odzyskania. DD zastąpiło tablicę partycji i niektóre dane urządzenia.
źródło
Jeśli dysk jest podzielony na partycje
/
i/home
partycje, a/home
partycja znajdowała się za/
partycją, możesz odzyskać dane. MBR, który zawiera listę większości partycji, został zastąpiony. Jednak gparted może odzyskać twoją/home
partycję.Ten post na forach Ubuntu zawiera kilka pomysłów, jak to zrobić; Odkryłem to, wyszukując „partycję odzyskiwania partycji gparted”.
Po znalezieniu utraconej partycji (może znajdować się w partycji rozszerzonej), należy dodać ją jako jedyną partycję w tabeli partycji.
Gdy to zrobisz, będziesz musiał ponownie zainstalować Linuksa, mówiąc, aby zachować odzyskaną partycję jako
/home
.źródło
Testdisk na ratunek
Mogę osobiście poręczyć za Testdisk, który zapisał moje dane po tym, jak wielokrotnie kopiowałem i wklejałem instrukcje
/dev/sdb
oraz zmieniałem je na/dev/sdd
moje USB. Tylko raz zapomniałem go zmienić i tam poszedłem/dev/sdb
do śmietnika.Skonfiguruj system, aby nigdy nie pisać
/dev/sda
Zdecydowanie polecam utworzenie skryptu opakowania: Zapobiegaj zniszczeniu dysku SSD lub HDD przez `dd` . Zapewnia to
dd
nie pisze się/dev/sda
lub ewentualnie/dev/sdb
czy jakichkolwiek innych urządzeń pamięci masowej.źródło