Napraw uszkodzoną partycję NTFS bez systemu Windows

84

MY NTFS Partition jakoś uległa uszkodzeniu (to relikt z dni, kiedy miałem zainstalowany system Windows).

GParted zrzut ekranu pokazujący różne partycje

Tutaj umieszczam dane wyjściowe debugowania programu fdisk i blkid .

W tym samym czasie dowolny system operacyjny nie może zamontować mojej partycji głównej, która znajduje się obok mojej partycji NTFS. Nie jestem jednak pewien, czy ma to coś wspólnego z tym. Podczas próby zamontowania partycji głównej (sda5) pojawia się następujący błąd

mount: wrong fs type, bad option, bad superblock on /dev/sda5,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

ubuntu@ubuntu:~$ dmesg | tail
[ 1019.726530] Descriptor sense data with sense descriptors (in hex):
[ 1019.726533]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 1019.726551]         1a 3e ed 92 
[ 1019.726558] sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
[ 1019.726568] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 1a 3e ed 40 00 01 00 00
[ 1019.726584] end_request: I/O error, dev sda, sector 440331666
[ 1019.726602] JBD: Failed to read block at offset 462
[ 1019.726609] ata1: EH complete
[ 1019.726612] JBD: recovery failed
[ 1019.726617] EXT4-fs (sda5): error loading journal

Kiedy otwieram gparted (używając Live CD), dostaję wykrzyknik obok mojego dysku NTFS, który stwierdza GParted Zrzut ekranu pokazujący błąd

Czy istnieje sposób na uruchomienie chkdskbez użycia systemu Windows?

Moja próba uruchomienia fsckjest następująca:

ubuntu@ubuntu:~$ sudo fsck /dev/sda
fsck from util-linux-ng 2.17.2
e2fsck 1.41.14 (22-Dec-2010)
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sda

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Aktualizacja: Byłem w stanie naprawić partycję NTFS, uruchamiając polecenie chkdsk z BootCD Hiren, ale wydaje się, że problem superbloku nadal występuje.

Aktualizacja 2: Naprawiono problem z superblokowaniem przy użyciue2fsck -c /dev/sda5

Nemo
źródło
1
Link do powiązanego pytania: askubuntu.com/q/58755/31592
blong

Odpowiedzi:

106

Zainstaluj NTFS-3G z sudo apt-get install ntfs-3g. Następnie uruchom komendę ntfsfix na partycji NTFS.

Na przykład:

ntfsfix /dev/hda6

ntfsfix v2.0.0 (libntfs 10: 0: 0)

Zastosowanie: urządzenie ntfsfix [opcje]

Attempt to fix an NTFS partition.

-h, --help             Display this help
-V, --version          Display version information

Adres e-mail programisty:

[email protected]Strona główna systemu Linux NTFS: http://www.linux-ntfs.org


W przypadku nowszego systemu Ubuntus Możesz używać -bi -dopcjonalnie razem. -bpróbuje naprawić złe klastry i -dnaprawić stany brudne. Tak więc polecenie może być

sudo ntfsfix -b -d /dev/sda6

--help pokazuje im

ntfsfix v2015.3.14AR.1 (libntfs-3g)

Usage: ntfsfix [options] device
    Attempt to fix an NTFS partition.

    -b, --clear-bad-sectors Clear the bad sector list
    -d, --clear-dirty       Clear the volume dirty flag
    -h, --help              Display this help
    -n, --no-action         Do not write anything
    -V, --version           Display version information
RolandiXor
źródło
Czy masz jakieś sugestie dotyczące problemu superbloku? Naprawiłem partycję NTFS.
Nemo
5
Niestety nie jest to pomocna odpowiedź - problemem nie jest naprawienie struktur systemu plików NTFS, ale nieodwracalne błędy odczytu na poziomie urządzenia blokowego (poniżej NTFS). Oznacza to, że (jak już powiedziałem psusi) „twój dysk tostowy” - jedyną opcją jest zakup nowego dysku twardego i przywrócenie go z kopii zapasowej. Jeśli nie masz aktualnych kopii zapasowych, możesz spróbować użyć GNU ddrescue („apt-get install gddrescue”), aby odzyskać jak najwięcej danych do pliku obrazu dysku. Odzyskiwanie dysku Google dla Ubuntu, aby uzyskać dodatkową pomoc.
RichVel
3
@RolandTaylor: Jestem pewien, że miało to być pomocne, ale powiedzenie komuś, aby uruchomił kontrolę systemu plików, gdy w dziennikach widoczny jest nieodwracalny błąd odczytu, nie pomoże. Mogą być w stanie tymczasowo naprawić swój błąd, ale sprzęt dysku naprawdę zawiedzie, a ntfix nie pomaga.
RichVel
5
Przepraszamy, to nie jest poprawne: pierwsza wersja pytania zawierała w dziennikach wiersz „sd 0: 0: 0: 0: [sda] Dodaj. Sense: Unrecovered read read error - auto realocateate failed” w dziennikach - błąd Unrecovered Read (URE ) oznacza awarię dysku. Jeśli pojawią się nieodkryte błędy zapisu , z którymi można sobie poradzić przez chwilę (dysk mapuje bloki), ale URE nie są w porządku. Zobacz podobny błąd na superuser.com/questions/114675/ ... Zobacz en.wikipedia.org/wiki/SMART#cite_note-labs.google.com-1 - ogromna analiza Google.
RichVel,
1
Jeszcze jednym dobrym linkiem na temat URE jest odpowiedź na innej stronie Stack Exchange: unix.stackexchange.com/questions/1869/…
RichVel,
14

Właśnie naprawiłem dysk USB za pomocą „testdisk”, wiersza poleceń (ale przyjaznego) narzędzia dla Linuksa. Mój dysk nie był nawet montowany w systemie Windows, a system Windows 8 wykrył jak 6 partycji (gdy dysk miał tylko jedną).

Aby użyć tego narzędzia, zainstaluj je:

sudo apt-get install testdisk

Następnie uruchom:

sudo testdisk

i postępuj zgodnie z instrukcjami. Musisz wyszukać partycje, a następnie zapisać zmiany.

Mam nadzieję, że pomoże to każdemu.

Diego Jancic
źródło
3
to było świetne ... naprawiono zepsutą tablicę partycji na moim zewnętrznym dysku twardym! Dziękuję Ci! V
vellvisher
11

Żeby wyczyścić niektóre z twoich punktów.

Moja próba uruchomienia fsck powoduje:

ubuntu@ubuntu:~$ sudo fsck /dev/sda

...

fsck.ext2: Bad magic number in super-block while trying to open /dev/sda

Nic dziwnego, ponieważ próbujesz fsckować dysk, a nie jego partycję. To, co robi fsck, próbuje rozpoznać typ FS. Ponieważ podałeś mu surową powierzchnię dysku, nie rozpoznaje i używa domyślnego typu - ext, wywołując fsck.ext.

fsck.ext nie znajduje w tej lokalizacji żadnego podpisu FS i próbuje znaleźć superbloki. Ostatecznie zawodzi, ponieważ jego dysk ma tylko typ partycji NTFS.

Właśnie dlatego masz ten błąd.

Prawidłowe polecenie to:

sudo fsck /dev/sda1

To zasiliłoby PIERWSZĄ partycję pierwszego dysku twardego sata, a nie sam pierwszy dysk sata.

Kogo to obchodzi
źródło
to może nie być odpowiedź na rozwiązanie problemu PO, jednak jego informacja to czyste złoto. Wielkie dzięki!
oliverjkb
czy jesteś sda1 ntfs?
Adi Prasetyo
5

Twój dysk tostowy. Sprawdź diagnostykę SMART w narzędziu dyskowym, aby potwierdzić; powinien powiedzieć, że masz mnóstwo złych sektorów i musisz wymienić dysk.

psusi
źródło
5

Zgadzam się z @psusi: dysk wymaga wymiany, zobacz mój komentarz pod zaakceptowaną odpowiedzią. Wykonanie ntfsfixnic nie pomoże, a jedynie opóźnia podstawowe działanie:

  1. jak najszybciej wykonać kopię zapasową wszystkich danych na dysku
  2. zastępując dysk nowym

Naprawdę nie trzeba sprawdzać diagnostyki SMART - i tak wychwytują tylko procent błędów. Czerwone flagi to dwie linie:

[ 1019.726558] sd 0:0:0:0: [sda]  Add. Sense: **Unrecovered read error** - auto reallocate failed
[ 1019.726602] JBD: **Failed to read block** at offset 462

Gdy tylko dysk zacznie dawać nieodwracalne błędy odczytu (URE), należy go natychmiast wymienić i wykorzystać tylko do odzyskiwania danych. (Nadmierny poziom nie-URE wskazuje również, że konieczna jest wymiana).

Dyski należy postrzegać jako materiały eksploatacyjne, które należy wymieniać co kilka lat, dlatego bardzo ważne jest tworzenie naprawdę dobrych kopii zapasowych (zautomatyzowane, codzienne, kompletne i przynajmniej na dysk zewnętrzny).

RichVel
źródło
5

W Ubuntu 14.04 Po prostu spróbuj tego

sudo ntfsfix /dev/sdXY

Gdzie XYjest twoja partycja. ( /dev/sda2w twoim przypadku)

użytkownik335969
źródło
2

fscka gpartedaplikacji nie można użyć do rozwiązania problemu z partycją NTFS. ntfsfixnie należy używać do próby rozwiązania tego problemu.

Zazwyczaj należy używać narzędzi systemu Windows. Jednak chkdsktutaj nie pomaga.

Możesz spróbować użyć testdiskz systemu operacyjnego Ubuntu.

sudo apt-get update # zaktualizuj bazy danych oprogramowania

sudo apt-get install testdisk # zainstaluj testdisk

sudo testdisk # uruchom testdisk

Przejdź na stronę http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step, aby uzyskać pomoc w korzystaniu z tego narzędzia.

heynnema
źródło
Może warto dodać, że błędy we / wy zwykle oznaczają umierający dysk lub jego część. Esp. jeśli NTFS jest tak uszkodzony, nie można go naprawić za pomocą narzędzia chkdisk ani żadnych narzędzi systemu Windows.
Thomas Ward
@ThomasWard masz całkowitą rację ... Błędy we / wy zwykle oznaczają więcej problemów. „@karel” kazał mi dodać to tutaj jako kontynuację linku, który umieścił w innym pytaniu ... więc nie przeczytałem wszystkich szczegółów tutaj ... a pytanie ma już zaakceptowaną odpowiedź, z aktualizacjami.
heynnema
1

Jak powiedzieli inne odpowiedzi, w tym przypadku prawdopodobnie jest to zły dysk ...

Ale z korzyścią dla innych, którzy zmagają się z faktycznym uszkodzeniem NTFS - narzędzie ntfsfix jest bardzo ograniczone w porównaniu z chkdsk Microsoftu. Postaraj się rozpocząć instalację systemu Windows - najlepiej z najnowszą wersją systemu Windows, ponieważ Microsoft prawdopodobnie stale ulepsza program chkdsk (mam nadzieję ...) Nowsze wersje systemu Windows są często dostępne za darmo jako wersje próbne. Jeśli problem dotyczy dysku USB, możesz spróbować zainstalować system Windows w coś takiego jak VirtualBox i przekazać maszynie wirtualnej kontrolę nad urządzeniem USB.

eug
źródło
1

Niestety, darmowe narzędzia dostępne w systemie Linux są bardzo ograniczone w zakresie naprawiania partycji NTFS.

Najprawdopodobniej nadal możesz odzyskać swoje dane, korzystając z dodatkowego MFT przechowywanego na końcu dysku. Zwykle nie jest używany, ale powinien zawierać aktualną wersję struktury katalogów. Istnieje duża szansa, że ​​nie wystąpiły błędy dysku.

W przeszłości z powodzeniem korzystałem z GetDataBack NTFS, produktu Runtime Software (komercyjnego, 79 $) . Jest to jedno z niewielu narzędzi NTFS (jedyne?), Które działa w WINE i jako Linux LiveCD , a bezpłatna wersja demonstracyjna powinna wystarczyć, aby sprawdzić, czy twoje dane nadal tam są. Jeśli tak, Twoje dane mogą być warte zakupu narzędzia.

LiveCD działa na Knoppix Linux i ma zainstalowane wszystkie narzędzia. Pamiętaj, że nadal potrzebujesz klucza licencyjnego, aby móc korzystać z narzędzi, ale powinno wystarczyć, aby sprawdzić, czy działa na Twoim komputerze.

Oświadczenie: Nie mam powiązań z oprogramowaniem Runtime poza tym, że kupiłem ich produkt kilka lat temu.

jmiserez
źródło
+1 nie dlatego, że mam doświadczenie z tym, co zawiera ta odpowiedź; wznosi się za podnoszenie świadomości na temat mniej znanych alternatyw dla rzeczy takich jak Parted Magic.
Graham Perrin
0

Ta odpowiedź prawdopodobnie będzie działać tylko w wersji 10.04 (lucid) i nowszych wersjach Ubuntu!

Spróbować sudo ntfsfix -b /dev/sda2.

  • Potrzebujesz zainstalowanego NTFS-3GZainstaluj ntfsprogs . Jeśli go nie masz, możesz zainstalować go w Centrum oprogramowania, klikając ten link lub z poziomu terminala ( Ctrl+ Alt+ T), uruchamiając następujące polecenia:

    sudo apt-get update
    sudo apt-get install ntfs-3g
    
DeGe
źródło
4
Dlaczego warto korzystać z NTFSProgs, gdy NTFS-3g jest instalowany domyślnie? NTFSProgs nie żyje, ponieważ został całkowicie scalony z NTFS-3g. Przejście do tego pierwszego może powodować więcej problemów niż rozwiązuje.
TSJNachos117,
1
NTFSProgs nie jest już częścią archiwów pakietów po 12.04.
kynan
0

Właśnie miałem ten sam problem na 3 TB NTFS USB. Wielki dramat, jak można sobie wyobrazić.

Najpierw próbowałem naprawić to na pudełku Windows mojej żony. Brak przyjemności.

sudo ntfsfix / dev / sdcx bardzo szybko to naprawił.

Brawo! Z powrotem w biznesie. Naprawdę trzeba uzyskać nowy dysk i szybko sformatować go do odpowiedniego, dorosłego systemu plików.

Monkeybus
źródło