Freigeben über


chkdsk w Windows 8 - wierzchołek góry lodowej

chkdsk

chkdsk jest narzedziem, które powoli odchodzi do lamusa. rzadko kiedy jest potrzeba zeby go uruchamiac - czyzby dyski sie nie psuly? jesli ktos go uruchomil w Windows NT6.2+ zapewne spostrzegl pojawienie sie nowych przelaczników:

PS C:\WINDOWS\system32> chkdsk /?
Checks a disk and displays a status report.

CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B] [/scan] [/spotfix]

  volume Specifies the drive letter (followed by a colon),
                      mount point, or volume name.
  filename FAT/FAT32 only: Specifies the files to check for
                      fragmentation.
  /F Fixes errors on the disk.
  /V On FAT/FAT32: Displays the full path and name of every
                      file on the disk.
                      On NTFS: Displays cleanup messages if any.
  /R Locates bad sectors and recovers readable information
                      (implies /F, when /scan not specified).
  /L:size NTFS only: Changes the log file size to the specified
                      number of kilobytes. If size is not specified, displays
                      current size.
  /X Forces the volume to dismount first if necessary.
                      All opened handles to the volume would then be invalid
                      (implies /F).
  /I NTFS only: Performs a less vigorous check of index
                      entries.
  /C NTFS only: Skips checking of cycles within the folder
                      structure.
  /B NTFS only: Re-evaluates bad clusters on the volume
                      (implies /R)
  /scan NTFS only: Runs a online scan on the volume
  /forceofflinefix NTFS only: (Must be used with "/scan")
                      Bypass all online repair; all defects found
                      are queued for offline repair (i.e. "chkdsk /spotfix").
  /perf NTFS only: (Must be used with "/scan")
                      Uses more system resources to complete a scan as fast as
                      possible. This may have a negative performance impact on
                      other tasks running on the system.
  /spotfix NTFS only: Runs spot fixing on the volume
  /sdcleanup NTFS only: Garbage collect unneeded security descriptor
                      data (implies /F).
  /offlinescanandfix Runs an offline scan and fix on the volume.

The /I or /C switch reduces the amount of time required to run Chkdsk by
skipping certain checks of the volume.

te przelaczniki to: scan, forceofflinefix, perf, spotfix, sdccleanup oraz offlinescanandfix. zeby wyjasnic celowosc owych przelaczników trzeba siegnac w glebiny systemu - do podnózy tytulowej góry lodowej, poniewaz to co widac w chkdsk to wlasnie sam wierzcholek.

w Windows Vista pojawily sie zmiany optymalizacyjne w aplikacji chkdsk, dzieki której uzyskano spore róznice w czasie weryfikacji. tyle... tyle ze w ciagu kazdego roku rosna pojemnosci dysków oraz ilosci danych, jakie sie na nich przechowuje, w zwiazku z czym skanowanie pozostaje nadal czasochlonnym procesem. juz w tym miejscu mozna odpowiedziec na pytanie 'czy dyski sie mniej psuja?'. bardziej prawidlowym pytaniem byloby 'czy system plików mniej sie psuje?' poniewaz nie wszystkie usterki systemu plików wynikaja z powodu awarii dysku [wrecz przeciwnie]. najczestszym powodem sa przypadkowe restarty oraz bledy w obsludze pamieci procesu, który po dysku pisze. w Vista pojawila sie opcja 'samo-naprawy' [self-healing], która czuwa nad tym, aby reperowac tego rodzaju bledy w tle. pojawienie sie tej opcji spowodowalo, ze kiedy recznie uruchomimy 'czekdiska', praktycznie zawsze wszystko jest w porzadku. zapewne pamietacie, ze w Windows XP bylo na odwrót - zawsze jakies tam smieci sie znalazly. takie zmiany wymagaly wprowadzenia pewnych zmian na poziomie kernela NTFS. na dzien dzisiejszy nie tylko uzytkownicy nie wiedza co to w ogóle jest checkdisk, ale zapominaja o tym równiez admini (; jednak w przypadku koniecznosci skanowania, moze ono nadal trwac nawet kilka godzin...

wraz z Windows NT6.2 sytuacja ulegla jeszcze dramatyczniejszym zmianom [na lepsze]! inzynierowie doszli do wniosku, ze trzeba jakos zaradzic owym dlugim czasom skanowania. optymalizacja checkdiska do tego celu nie wystarczy - nalezy wprowadzic wieksze zmiany w calym systemie plików i jego obslugi.

Nowy Model Sluzby Zdrowia

...którym mozemy cieszyc sie przynajmniej w swoim Windows. w wersjach NT6.o i 6.1 dysk mógl byc 'zdrowy' lub.. nie. w przypadku kiedy zdrowy nie jest, jest wprowadzany w tryb offline do czasu wyleczenia. w nowym modelu zostalo utworzonych 18 róznych stanów zdrowia [ang. "verbs"] oraz jest mozliwosc wprowadzenia nowych, jesli zajdzie taka potrzeba. dzieki temu:

  • system notyfikacji jest przejrzystszy. osoba korzystajaca z systemu dokladniej wie jak bardzo powazna jest sytuacja i czy nalezy reagowac szybko, czy mozna po prostu obserwowac dalszy rozwój wypadków. chodzi oczywiscie o klarowna informacje czy trzeba zrestartowac serwer i przeczekac caly ten czas az sie przeskanuje...
  • sam system potrafi dokladniej dobrac rozwiazanie do konkretnego przypadku i zminimalizowac potrzebe skanowania offline.

system samo-naprawy zostal poprawiony, dzieki czemu w8/w12 potrafi zreperowac sporo wiecej problemów w trybie online niz bylo to mozliwe wczesniej.'weryfikacja' opisywana w trzecim kroku uruchamia specjalna usluge "Spot Verifier" [svsvc] dodana w tej wersji systemu. usluga nie dziala 'na co dzien' - jest wzbudzana przez sterownik systemu plików. celem tej uslugi jest doglebniejsze zbadanie problemu. po identyfikacji uszkodzenie ma przypisany 'stan zdrowia', wysylana jest odpowiednia notka do administratora, a jesli jest mozliwosc naprawy bez koniecznosci przechodzenia w tryb offline - jest to wykonywane.

najciekawsze sa moim zdaniem ostanie stwierdzenia - 'naprawa w ciagu kilku sekund' oraz 'wstrzymanie operacji I/O dla CSV'. wprowadzony zostal termin "spotfix" - czyli krótkie okienko do naprawy bledów. zamiast sprawdzac i weryfikowac caly system plików, naprawiana jest wylacznie usterka. dzieki temu, bez wzgledu na ilosc plików i wielkosc dysku, naprawa zajmuje tylko kilka sekund - a wiec czas na jaki trzeba wylaczyc dysk jest minimalny. dla dysków CSV czas ten zostal zminimalizowany do zera [SIC!] co oznacza, ze dla wysoko-dostepnych systemów zwiekszona jest ich wysoko-dostepnosc (;

dodam jeszcze, ze od wersji Poweshell 3.o, czyli standardowo od Windows NT6.2, dodany zostal commandlet "repair-volume", dzieki czemu 'chkdsk' staje sie zupelnie zbytecznym narzedziem.

Przyszlosc

o ile na dzien dzisiejszy chkdsk uzywa sie rzadko lub wrecz sporadycznie - czy w przyszlosci nie bedzie w ogóle takiej potrzeby? tak jak w przypadku defragmentacji - pojecie to stracilo na waznosci dla dysków SSD, tak checkdisk straci na waznosci przy wykorzystaniu nowego systemu plików - ReFS, co jest widoczne juz w samej nazwie: "Re" w nazwie jest od "Resilience" czyli "zywotnosc". slowa tego uzywa sie w kontekscie niezawodnosci. pierwsza odslone tego systemu mozna podejrzec w Windows NT6.2, jednak do calkowitej przesiadki na niego musi minac jeszcze chwila.

ah! no tak!

bylbym zapomnial powrócic do meritum, czyli wyjasnienia dzialania nowych przelaczników:

  • /scan - to standardowa opcja, czyli skanowanie online. podczas tego skanowania wykonywane sa wszystkie naprawy, które da sie wykonac nie przechodzac w tryb offline. ma dwa dodatkowe przelaczniki:
  • /forceofflinefix - wylacza reperacje. znakuje wszystkie znalezione bledy, ale wszystkie bledy beda musialy byc przeprowadzone w trybie offline
  • /perf - zmienia zarzadzanie zasobami systemu, przydzielajac wiekszy priorytet dla sprawdzania bledów. nalezy unikac, poniewaz moze znaczaco wplynac na inne uslugi.

/spotfix - nowy tryb naprawy - zamiast robic pelen przebieg, dysk jest na krótka chwile przelaczany w tryb offline i naprawiane sa tylko bledy wykryte w przebiegu online.

/sdccleanup - uruchomienie garbage collectora, który zajmuje sie wyczyszczeniem nieprawidlowych deskryptorów [security descriptors] - najczestszy blad wystepujacy w poprzednich wersjach NTFS

/offlinescanandfix - to w zasadzie zmuszenie czekdiska do dzialania w stary sposób - zmienia stan dysku na offline i wykonuje caly skan i napraw.

eN.

autor: nExoR