fsck nie może znaleźć fsck.ntfs

33

Na kilku komputerach, które zaktualizowałem z Natty do Oneiric, pojawia się błąd przy każdym uruchomieniu (jeden na każdą partycję NTFS):

Serious errors were found while checking the disk drive for /windows/c.

Press I to ignore, S to skip mounting, or M for manual recovery

Zgodnie z sugestią zawartą w tej odpowiedzi pobiegłem fsckz ręcznej powłoki odzyskiwania. Mam ten wynik:

fsck from util-linux 2.19.1
fsck: fsck.ntfs: not found
fsck: Error 2 while executing fsck.ntfs for /dev/sda1

Nie mogę znaleźć pliku fsck.ntfs i command-not-foundteż nie pomaga. Jak mogę usunąć ten błąd?

Nawiasem mówiąc, kilkakrotnie próbowałem uruchomić system Windows (XP), myśląc, że Windows naprawi systemy plików. Ale najwyraźniej Windows uważa, że ​​systemy plików są w porządku. Dziwne, że dotyczy to wszystkich systemów plików NTFS.

Mogę też obejść ten problem, upuszczając go do powłoki odzyskiwania i wydając mount -a, ale dla moich współpracowników potrzebuję nienadzorowanego rozruchu.

Scott Severance
źródło
1
Nie mogę znaleźć fsck.ntfs, myślę, że powinieneś iść z ntfscklub ntfsfixna partycje NTFS, AFAIK fsckjest głównie używany do partycji ext.
sagarchalise

Odpowiedzi:

36

fsck.ntfsjest zwykle tylko linkiem do ntfsfixktórego jest narzędzie z pakietu, ntfsprogsktóre jest już dostępne przy standardowej instalacji Ubuntu.

Możesz utworzyć połączenie symboliczne między fsck.ntfs i ntfsfix, aby rozwiązać to na stałe:

sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs-3g

Należy pamiętać, że to narzędzie pochodzi z procesu inżynierii wstecznej i nie jest najlepszą opcją do zarządzania systemem plików, system plików NTFS nie należy do świata GNU / Linux.

Micro
źródło
4
Dzięki. Skonfigurowałem dowiązania symboliczne (które już powinny były zostać wykonane) i problem został rozwiązany. Pozostaje tylko pytanie: dlaczego w ogóle brakowało dowiązania symbolicznego? fsck najwyraźniej działa przy starcie systemu. Dlatego błędem jest próba sprawdzenia systemu plików, którego nie jest w stanie obsłużyć. Partycja była - i była - w porządku. Najwyraźniej była to tylko rutynowa kontrola, która zawiodła.
Scott Severance,
1
Zabawne, że ufam społecznościowo inżynierii odwróconego narzędzia o wiele bardziej niż oficjalnemu narzędziu Microsoft, które wcześniej zniszczyło moje doskonale działające partycje NTFS :)
AhHatem
Nie działa mi Ubuntu 12.04.3
zuba
Możesz liczyć więcej na narzędzia oparte na systemie Linux do odzyskiwania instalacji i danych systemu Windows niż narzędzia oparte na systemie Windows. Doświadczyłem również, że Linux pozwala ci robić takie rzeczy, jak umieszczanie znaków zapytania w nazwach plików; jest to oficjalnie dozwolone przez standardy NTFS, ale oto żart: sterownik Windows nie obsługuje tego! Chciałbym wskazać na dedykowane „oparte na Linuksie płyty CD Live Rescue / Repair Live” (lub USB), takie jak SystemRescueCD.
tiktak
Odpowiedź powinna brzmieć: askubuntu.com/a/292889/126984
wakeup
20

Myślę, że można to zauważyć w przypadku niektórych osób, które ntfsfixinstalują się /bin/zamiast /usr/bin. Więc

sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs
sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs-3g

Jeśli już utworzyłeś dowiązanie symboliczne z /usr/bin/

sudo rm -f /sbin/fsck.ntfs
sudo rm -f /sbin/fsck.ntfs-3g

A następnie utwórz ponownie dowiązania symboliczne.

Ruraj
źródło
pozytywnie oceniany, ponieważ a) downvoter nie zostawił komentarza wyjaśniającego downvote, co byłoby co najmniej uprzejmy, i b) po prostu musiał „zlokalizować ntfsfix”, aby znaleźć moje w / bin / ntfsfix, więc wydaje się to przynajmniej istotne.
AL Flanagan
Sugerowałbym dodanie tego jako komentarza do odpowiedzi Micro, a nie jako samodzielnej odpowiedzi.
waldyrious,
To poprawna odpowiedź dla późniejszych wersji ubuntu, takich jak 13.04
wakeup
To działało dla mnie w Ubuntu 14.04!
HarlemSquirrel
5

Jeśli masz partycję NTFS automatycznie podłączaną podczas uruchamiania, jedynym powodem może być to, że dodałeś ją ręcznie lub za pomocą jakiegoś narzędzia /etc/fstab(nie uwzględniając WUBI).

Jeśli system próbuje sprawdzić partycję podczas uruchamiania, oznacza to, że w odpowiednim wierszu /etc/fstabznajduje się szóste pole, a jego wartość to 1lub 2.

ntfsfixnie jest domyślnie połączony z fsck.ntfsi zapewnia jedynie ograniczone możliwości sprawdzania, jak wyjaśniono na stronie podręcznika:

ntfsfix to narzędzie, które naprawia niektóre typowe problemy z NTFS. ntfsfix NIE jest wersją chkdsk dla Linuksa. Naprawia tylko niektóre podstawowe niespójności NTFS, resetuje plik dziennika NTFS i planuje sprawdzenie spójności NTFS dla pierwszego rozruchu w systemie Windows.

Typowym rozwiązaniem nie jest tworzenie dowiązania symbolicznego, ale usunięcie lub ustawienie 0szóstego pola w /etc/fstab.

enzotib
źródło
2
W rzeczywistości nie jest to dokładnie dokładne. Podczas instalacji istniejące partycje NTFS są automatycznie dodawane do fstab bez ręcznej edycji fstab. Powinny więc zostać dodane w rozsądny sposób. Nie obchodzi mnie, czy zostaną sprawdzeni, czy nie. Po prostu nie chcę niepotrzebnych komunikatów o błędach pojawiających się przy starcie, gdy w rzeczywistości nie ma błędu.
Scott Severance,
Nigdy nie widziałem takiego zachowania w starszych wersjach Ubuntu, gdy miałem partycje NTFS. Przypuszczam, że to nowe funkcje, teraz, gdy już nie używam NTFS. Przy okazji nie powiedziałeś, czy w fstab jest niezerowa liczba.
enzotib,
To może wyjaśniać problem: na danym komputerze rzeczywiście jest niezerowa liczba w fstab. Na innym komputerze wcześniej miałem ten sam problem, ale zniknął po ponownej instalacji, aby rozwiązać inny problem. Nowe fstab ma szóste pole ustawione na zero. Wygląda więc na to, że domyślne ustawienia zmieniły się między Natty i Oneiric, a uaktualnienie nie spowodowało żadnych konwersji.
Scott Severance,
1
Uważam, że argument „pass” jest dokładnie w takiej kolejności, w jakiej partycje powinny być montowane automatycznie, więc wydaje się to nowe w Oneiric. Właśnie zaktualizowałem niedawno i miałem pass = 3 ustawiony na moich partycjach NTFS i nigdy nie miałem żadnych problemów aż do pierwszego uruchomienia w Oneiric. Utknął na jakimś głupim stroju ukrytym wśród nieistotnych komunikatów o błędach. Nie fajnie, aby serwer czekał na naciśnięcie klawisza podczas uruchamiania.
KarlP
5

Odpowiedź Micro działała dla mnie, jednak mój 11.10 (uaktualniony z 11.04) nie miał ntfsprogs. ' sudo apt-get install ntfsprogs' rozwiązało to, a następnie sugestia linku działała dobrze.

RobDavenport
źródło
3

Problemem jest brakujące dowiązanie symboliczne do jednego /usr/bin/ntfsfixlub /bin/ntfsfix. Możesz utworzyć potrzebne linki za pomocą:

sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs
sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs-3
Wes
źródło
To działało dla mnie na Ubuntu 14.04 LTS 13 kwietnia 2015 r.
HarlemSquirrel
1

Mam ten sam problem po przypadkowej instalacji ntfsprogs. Myślę, że w zależnościach jest błąd, ponieważ po instalacji ntfsprogswszystkich dysków NTFS zaczął się montować tylko do odczytu.

Kiedy zawróciłem ntfs-3g, fsck.ntfszniknął.

WIĘC:

sudo apt-get install ntfsprogs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  ntfs-3g
The following NEW packages will be installed:
  ntfsprogs
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.

ALE:

apt-cache showpkg ntfs-3g
Package: ntfs-3g
Versions: 
1:2011.4.12AR.4-2ubuntu3 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_oneiric_main_binary-amd64_Packages) (/var/lib/dpkg/status)
...
Provides: 
1:2011.4.12AR.4-2ubuntu3 - ntfsprogs 

Nie jestem pewien, jakie powinno być właściwe zachowanie, ale bądź tego świadomy.

Vlalex
źródło
Myślę, że więc mój usb nie jest użyteczny, ponadto proszę potwierdzić: ntfsfix / dev / sdc1 Montowanie woluminu ... Dysk zawiera nieczysty system plików (0, 0). FAILED Próba poprawienia błędów ... Przetwarzanie $ MFT i $ MFTMirr ... Odczytywanie $ MFT ... OK Odczytywanie $ MFTMirr ... OK Porównywanie $ MFTMirr do $ MFT ... OK Przetwarzanie $ MFT i $ MFTMirr zakończyło się pomyślnie . Ustawianie wymaganych flag na partycji ... OK Opróżnianie dziennika ($ LogFile) ... OK Nie udało się zsynchronizować urządzenia / dev / sdc1: Błąd wejścia / wyjścia Sprawdzanie alternatywnego sektora rozruchowego ... OK
Ashish Karpe
Wersja woluminu NTFS to 3.1. Partycja NTFS / dev / sdc1 została pomyślnie przetworzona. Nie udało się zsynchronizować urządzenia / dev / sdc1: Błąd wejścia / wyjścia Nie udało się odmontować partycji
Ashish Karpe
0

Na Ubuntu 14.04 pakiet nie jest dostępny od stycznia 2015

  1. sudo ln -s /bin/ntfsfix /sbin/fsck.ntfs
  2. sudo ln -s /bin/ntfsfix /sbin/fsck.ntfs-3g
  3. sudo apt-get install ntfsprogs

    Package ntfsprogs is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    E: Package 'ntfsprogs' has no installation candidate
    
unixcreeper
źródło
0

Spróbuj wymusić ponowne mapowanie uszkodzonych sektorów za pomocą tego skryptu: https://techoverflow.net/blog/2015/01/07/fixing-bad-blocks-on-hdds-using-fixhdd.py/

lustro: https://github.com/unxed/fixhdd

Ten skrypt sprawdza dziennik systemowy pod kątem błędów we / wy co 5 sekund i zapisuje zera w uszkodzonych sektorach, aby zmusić kontroler dysku twardego do ich ponownego mapowania. Przykład użycia: sudo fixhdd.py --loop / dev / sda

użytkownik191894
źródło
1
Witamy w Ask Ubuntu! Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Kevin Bowen
-1
$ man fsck

fsck - sprawdź i napraw system plików Linux

Aby naprawić uszkodzony system NTFS w systemie GNU / Linux, możesz użyć ntfsfix, który jest częścią ntfs-3g w następujący sposób:

$ ntfsfix /dev/sdc1
binarytrails
źródło
-1: Ta odpowiedź nie ma związku z pytaniem.
Scott Severance
@ScottSeverance / me został odrzucony, głosując za nie ignorowaniem aplikacji narzędziowej, jak podano w ich instrukcji - tylko na forach Ubuntu haha
binarytrails
Pytanie dotyczyło fsck.ntfstego, że nie można go znaleźć podczas uruchamiania. Oczywiście zgłoszenie strony podręcznika jest nieistotne, ponieważ fscknie zostało wywołane ręcznie. Ponadto, sytuacja nie pojawiły się w pierwszej kolejności z wyjątkiem faktu, że w jednym czasie fsck.ntfs nie istnieje na domyślnej instalacji Ubuntu.
Scott Severance
@ScottSeverance Dziękujemy za stwierdzenie, że Twój wątek jest nieaktualny!
binarytrails 23.03.16
Jest całkiem możliwe, że to pytanie jest nieaktualne (chociaż nie mogę zadać sobie trudu, aby to sprawdzić, więc mogę powiedzieć na pewno). Nie jest to jednak powód, dla którego głosowałem za odrzuceniem tej odpowiedzi. Nawet jeśli został opublikowany przed rozwiązaniem mojego problemu, nawet nie zaczyna odpowiadać na zadane pytanie. Zapytałem o błąd, który pojawił się podczas uruchamiania i przerwał proces uruchamiania. Błąd wskazał, że system szukał fsck.ntfs, który nie istniał w systemie. W jaki sposób wyjaśnienie, które narzędzie jest odpowiednie do naprawiania błędów dysku, może pomóc mi rozwiązać mój błąd rozruchu?
Scott Severance