Czym dokładnie zajmuje się chkdsk?

23

Próbowałem przeczytać trochę o chkdsk, ale nadal nie rozumiem koncepcyjnie, co on robi.

Od Microsoft : „Tworzy i wyświetla raport o stanie dysku w oparciu o system plików. Chkdsk wyświetla także listę i naprawia błędy na dysku. Użyte bez parametrów, chkdsk wyświetla stan dysku na bieżącym dysku.”

Z Wikipedii : „Wyświetla stan integralności systemu plików dysków twardych i dyskietek i może naprawić logiczne błędy systemu plików”.

Ale to wszystko jest bardzo niejasne i nie widziałem dobrego, zwięzłego, jasnego podsumowania tego, co się właściwie dzieje.

Właśnie uruchomiłem polecenie chkdsk i otrzymałem niektóre z następujących wiadomości:

Usuwanie uszkodzonego rekordu atrybutu (128, „”) z segmentu rekordu pliku 120759.

Wartość kontrolna USA, 0x0, w bloku 0x3 jest niepoprawna. Oczekiwana wartość to 0x63.

Wielosektorowy podpis nagłówka w pliku 0x3d5b6 jest niepoprawny.

Usuwanie uszkodzonego segmentu rekordu pliku 251333.

Usuwanie segmentu rekordu pliku osieroconego 251321.

Usuwanie wpisu indeksu z indeksu $ O pliku 25.

Usuwanie wpisu indeksu P1040158123.JPG z indeksu $ I30 pliku 118566.

Czy jest jakieś miejsce, w którym mogę znaleźć sens w tych wiadomościach? Czy w ogóle ma to znaczenie dla użytkownika końcowego? Czy kiedykolwiek usuwa pliki lub tylko indeksy? Z dziennika / danych wyjściowych wygląda na to, że miałem dużo błędów na dysku, ale nie wiem, czy jest to coś, czym powinienem się martwić, czy nie.

Cory
źródło

Odpowiedzi:

9

Myślę, że definicja Microsoft jest całkiem dobra, z twojego pytania-

„Tworzy i wyświetla raport o stanie dysku w oparciu o system plików. Chkdsk wyświetla również listę i koryguje błędy na dysku. Użyte bez parametrów, chkdsk wyświetla stan dysku na bieżącym dysku.”

Z tego, co pokazałeś, twój dysk twardy w zasadzie był trochę uszkodzony, ale wygląda na to, że chkdsk był w stanie go naprawić.

Tego rodzaju rzeczy niestety zdarzają się z czasem (złe wyłączenia / awarie zasilania podczas zapisu itp.) I niekoniecznie trzeba się tym przejmować.

William Hilsum
źródło
Czy to oznacza, że ​​chkdsk nigdy nie usuwa plików? To było główne pytanie, jakie miałem.
Cory
5
Program chkdsk nie usuwa plików, jednak może (częściowo) odzyskać już uszkodzony plik do pliku .chk. A w przypadku poważnej awarii dysku twardego odczyt / zapis może pogorszyć sytuację, więc pierwszą rzeczą do zrobienia jest zapisanie ważnych plików ...
fluxtendu
1
Dzięki. Jednak nadal nie jestem w pełni usatysfakcjonowany tym wyjaśnieniem. „koryguje błędy” jest tak niejasne. Może powinienem po prostu RTFM.
Cory
1
@Cory: aby naprawdę wiedzieć, jakie błędy można poprawić, wymagałoby to dokładnego wyjaśnienia wszystkich funkcji NTFS, struktur danych i wewnętrznych działań, co z pewnością jest możliwe, ale nie w sensowny, krótki sposób. Zasadniczo wszystko, co system plików przyjmuje za pewnik, może pójść nie tak i nawet w przypadku dziennika (chociaż umożliwia to całkiem dobre możliwości samoleczenia); jeśli coś jest nie tak, możesz to naprawić. Przeczytaj trochę, jak działa system plików, a potem prawdopodobnie pomyślisz o wystarczającej liczbie przypadków, w których coś może pójść nie tak i wymaga naprawy.
Joey
Nie usuwa plików jako takich, ale może wyrządzić więcej szkody niż pożytku, jeśli na dysku zostaną usunięte / utracone dane, które chcesz odzyskać, ponieważ może zastąpić klastry, które uważa za wolne. Kiedyś zniszczyłem usunięte pliki na dysku FAT, uruchamiając nad nim CHKDSK, co uniemożliwiło odzyskanie niektórych plików, które przed skanowaniem oprogramowanie cofające nadal zgłaszało, że może je przywrócić. Zasadniczo nie uruchamiaj go na dysku, z którym już masz problemy.
Daniel Saner
10

Moje 2 centy, głównie dla przyszłych czytelników, biorąc pod uwagę wiek tego wątku.

Niektórzy użytkownicy są niewątpliwie nieświadomi, że tak naprawdę istnieją dwa poziomy działania chkdsk, wybierane przełącznikiem linii poleceń: ukośnik F (chkdsk / f) i ukośnik R (chkdsk / r). Oba instruują chkdsk, aby naprawił znalezione błędy, ale różnica polega na tym, że slash F NIE sprawdza dysku pod kątem uszkodzonych sektorów, podczas gdy slash R tak.

Jednym ze sposobów myślenia o tym jest: /Frozwiązanie problemów z oprogramowaniem, /Roprogramowaniem ORAZ sprzętem, ponieważ uszkodzone sektory są faktycznym fizycznym uszkodzeniem powierzchni dysku. /Rrobi w zasadzie to, co robił stary program SpinRite („przyzwyczaił się”, ponieważ dzisiejsze dyski o dużej pojemności w większości przekraczają jego możliwości); analizowanie każdego sektora na dysku, bez względu na to, czy zawiera on dane, czy jest całkowicie puste, oraz próbę odczytania ORAZ przeniesienia znalezionych danych do dobrych sektorów. Następnie zaznacza uszkodzone sektory jako złe, aby system Windows NIE używał ich ponownie, skutecznie „usuwając” uszkodzone sektory z systemu.

Jak można się spodziewać, wykonanie tej /Ropcji zajmuje kilka godzin, więc nie siedź i wpatruj się w nią, czekając na zakończenie. :)

Ogólnie jestem wielkim krytykiem Microsoftu, ale nawet ja muszę przyznać, że dobrze to zrobili z tym narzędziem; właściwie użyte jest łatwo warte tyle samo, co samodzielne programy, które sprzedają za 40 do 100 dolarów (osobna uwaga: to samo można powiedzieć o defragmentacji, która jest również zawarta w systemie Windows; wykonuje równie dobrą i prawdopodobnie lepszą pracę niż komercyjne defraggery).

Mike Mounier
źródło
2

Zgadzam się z odpowiedzią Wila w kwestii tego, co to jest duży obraz. Prawdopodobnie nie musisz się martwić, co oznaczają komunikaty o błędach.

To powiedziawszy, jeśli rozumiesz komunikaty o błędach, musisz zrozumieć, w jaki sposób wybrany system plików NTFS / FAT / formatuje dysk. Myślę, że książki Russinovich z Microsoft Press omawiają NTFS i jestem pewien, że istnieją inne bezpłatne zasoby internetowe, np. Ta strona na pierwszy rzut oka wydaje się przyzwoitą dyskusją NTFS. Ale najprawdopodobniej jest to więcej szczegółów niż trzeba się martwić.

dsolimano
źródło