CHKDSK
Oryginalni autorzy | Tima Patersona |
---|---|
Deweloperzy | SCP , Microsoft , IBM , DR , Datalight , Novell , Toshiba , PhysTechSoft , współtwórcy ReactOS |
Pierwsze wydanie | 1980 |
Napisane w |
MS-DOS : asembler x86 FreeDOS , ReactOS : C |
System operacyjny | 86-DOS , MS-DOS , PC DOS , MSX-DOS , SISNE plus , OS/2 , eComStation , ArcaOS , FlexOS , DR-DOS , ROM-DOS , 4690 OS , PTS-DOS , Windows , FreeDOS , ReactOS |
Platforma | Międzyplatformowe |
Typ | Komenda |
Licencja |
MS-DOS: MIT FreeDOS, ReactOS: GPLv2 |
Strona internetowa |
|
W informatyce CHKDSK
(skrót od „check disk”) jest narzędziem systemowym i poleceniem w systemach DOS , Digital Research FlexOS , IBM / Toshiba 4690 OS , IBM OS/2 , Microsoft Windows i pokrewnych systemach operacyjnych . Sprawdza systemu plików woluminu i próbuje naprawić logiczne błędy systemu plików . Jest podobny do polecenia fsck
w Uniksie i podobny do Microsoft ScanDisk , który współistniał z CHKDSK
w Windows 9x i MS-DOS 6.x.
Implementacje
Wczesną implementacją „CheckDisk” był CHECKDSK , który był częścią diagnostyki sprzętu Digital Equipment Corporation , działający na TENEX i TOPS-20 z początku lat 70 .
SCP 86-DOS
Polecenie CHKDSK
zostało po raz pierwszy zaimplementowane w 1980 roku przez Tima Patersona i włączone do Seattle Computer Products 86-DOS .
MS-DOS/IBM PC DOS
Polecenie jest dostępne w wersji MS-DOS 1 i nowszych. CHKDSK
jest zaimplementowany jako polecenie zewnętrzne. Wersje MS-DOS 2.x - 4.x używają chkdsk.com
jako pliku wykonywalnego. Wersje MS-DOS 5.x i nowsze używają chkdsk.exe
jako pliku wykonywalnego.
CHKDSK
może również pokazywać użycie pamięci, było to używane przed wprowadzeniem polecenia MEM.EXE
w MS-DOS 4.0, aby pokazać użycie pamięci. W DR DOS parametr /A
ograniczył dane wyjściowe do pokazania tylko użycia pamięci.
Błąd MS-DOS 5.0
CHKDSK
i UNDELETE
w MS-DOS 5.0 mają błąd, który może uszkodzić dane: Jeśli tabela alokacji plików na dysku wykorzystuje 256 sektorów, uruchomienie CHKDSK /F
może spowodować utratę danych, a uruchomienie UNDELETE
może spowodować nieprzewidywalne skutki. Zwykle dotyczy to dysków o pojemności w przybliżeniu będącej wielokrotnością 128 MB. Dotyczy to CHKDSK.EXE
i UNDELETE.EXE
z datą 9 kwietnia 1991. Ten błąd został naprawiony w MS-DOS 5.0a.
Microsoft Windows
CHKDSK
można uruchomić z wiersza poleceń systemu DOS , Eksploratora Windows , wiersza polecenia systemu Windows , programu Windows PowerShell lub Konsoli odzyskiwania .
W systemach operacyjnych Windows NT CHKDSK
może również sprawdzać powierzchnię dysku pod kątem uszkodzonych sektorów i oznaczać je (w systemach MS-DOS 6.x i Windows 9x jest to zadanie wykonywane przez Microsoft ScanDisk ). Wersja CHKDSK
dla systemu Windows Server obsługuje RAID i może w pełni odzyskać dane z uszkodzonych sektorów dysku w macierzy RAID-1 lub RAID-5, jeśli inne dyski w zestawie są nienaruszone.
Fragmenty plików i katalogów uznane za uszkodzone w wyniku, na przykład, przerw w dostawie prądu podczas zapisywania, nadmiernej długości nazw plików i/lub nieprawidłowych znaków w nazwach plików, są przenoszone do katalogu w katalogu głównym partycji o nazwie found.000
i przemianowano na ogólne pliki i katalogi o numerach szesnastkowych, zaczynające się odpowiednio od file00000000.chk
i dir_00000000.chk
.
W systemach z rodziny Windows NT standardowe skanowanie CHKDSK
składa się z trzech faz testowania metadanych pliku. Wyszukuje błędy, ale ich nie naprawia, chyba że zostanie to wyraźnie nakazane. To samo dotyczy skanowania powierzchni — ten test, który może być niezwykle czasochłonny w przypadku dużych lub mało wydajnych dysków, nie jest przeprowadzany, chyba że wyraźnie zażądano. CHKDSK
wymaga wyłącznego prawa zapisu do woluminu w celu wykonania napraw.
Ze względu na wymóg zmonopolizowanego dostępu do dysku CHKDSK nie
może sprawdzić dysku systemowego w normalnym trybie systemowym. Zamiast tego system ustawia brudny bit w woluminie dysku, a następnie ponownie uruchamia komputer. Podczas uruchamiania systemu Windows , SMSS.EXE uruchamia specjalną wersję CHKDSK
o nazwie Autochk
( aplikacja w trybie natywnym ) , która sprawdza i próbuje naprawić system plików, jeśli ustawiony jest brudny bit.
Ze względu na wymóg wyłącznego dostępu i czasochłonność operacji CHKDSK
w systemie Windows Vista zaimplementowano nowy model kondycji systemu plików, w którym system operacyjny naprawia napotkane błędy woluminów. W przypadku, gdy problem jest poważny i wymagane jest pełne skanowanie, Action Center powiadamia użytkownika o konieczności przełączenia woluminu w tryb offline przy pierwszej dogodnej okazji.
W systemach Windows Vista i Windows Server 2008 oprócz udostępniania polecenia CHKDSK dodano domyślnie włączoną funkcję samoleczenia
. Wykrywa fizyczne błędy systemu plików i po cichu naprawia je w locie. Dlatego wiele problemów wykrytych wcześniej podczas uruchamiania CHKDSK
nigdy się nie pojawia. Jest zarządzany przez naprawy fsutil
.
Krytyka dotyczyła tendencji firmy AUTOCHK
do automatycznego modyfikowania systemu plików, gdy użytkownik nie zażądał tego wyraźnie, chcąc wcześniej wykonać kopię zapasową swoich danych , ponieważ próba naprawy może zakłócić, podważyć i odrzucić ścieżki do plików i katalogów, zwłaszcza na instalacja wielosystemowa , w której wiele systemów operacyjnych mogło zakłócać zapis na tej samej partycji.
Domniemany błąd systemu Windows 7
Przed wydaniem systemu Windows 7 firma InfoWorld zgłosiła rzekomy wyciek pamięci w CHKDSK
; według raportu chkdsk /r
spowodowałoby osiągnięcie maksymalnego zużycia pamięci i awarię systemu . Randall C. Kennedy z InfoWorld przypisał oryginalny raport „ różnym źródłom internetowym ” i powiedział, że w jego testach zużycie pamięci osiągnęło ponad 90%, chociaż nie doświadczył awarii. Niemniej jednak Kennedy wziął zużycie pamięci za krytyczny błąd, który uniemożliwiłby uruchomienie systemu Windows 7 i skarcił Microsoft. Tom Warren z Neowin odrzucił ocenę Kennedy'ego dotyczącą znaczenia rzekomego wycieku. Steven Sinofsky z Microsoft odpowiedział również, że Microsoft również nie mógł odtworzyć awarii, ale ogromne zużycie pamięci było zgodne z projektem, aby poprawić wydajność, a nie wyciek. Ed Bott z ZDNet również przejrzał twierdzenie za pomocą własnych testów i zauważył, że nie nastąpi żadna awaria. Zauważając, że chkdsk /r
z założenia nie działa na dysku systemowym , gdy system Windows jest w trybie online, Bott doszedł do wniosku, że „jest to prawdopodobnie funkcja, a nie błąd, a prawdopodobieństwo, że kiedykolwiek spowoduje to awarię systemu w ten sposób, jest bardzo, bardzo małe i całkowicie możliwe do uniknięcia”.
DR/Novell DOS
DR DOS 6.0 zawiera również implementację polecenia CHKDSK
.
Darmowy dos
Wersja FreeDOS została opracowana przez Imre Lebera i jest objęta licencją GNU GPL 2 .
ReactOS
Implementacja ReactOS jest oparta na darmowym klonie opracowanym przez Marka Russinovicha dla Sysinternals w 1998 roku. Została dostosowana do ReactOS przez Emanuele Aliberti w 1999 roku i obsługuje woluminy używające systemu plików FAT32 . Polecenie nie obsługuje woluminów korzystających z Btrfs , chociaż ReactOS obsługuje go od wersji 0.4.1.
Zobacz też
Dalsza lektura
- Wolverton, Van (1990). Polecenia systemu MS-DOS: Microsoft Quick Reference, wydanie czwarte poprawione . Microsoft Press . ISBN 978-1556152894 .
- Kathy Ivens; Briana Proffita (1993). OS/2 Wewnątrz i na zewnątrz . Osborne McGraw-Hill . ISBN 978-0078818714 .
- Frisch, Eleen (2001). Dokumentacja kieszeni poleceń systemu Windows 2000 . O'Reilly'ego . ISBN 978-0-596-00148-3 .