CHKDSK - CHKDSK

chkdsk
CHKDSK WIN10.PNG
chkdsk.exe v akci na jednotce C: ve Windows 10
Původní autoři Tim Paterson
Vývojáři Přispěvatelé SCP , Microsoft , IBM , DR , Datalight , Novell , Toshiba , PhysTechSoft , ReactOS
První vydání 1980 ; Před 41 lety ( 1980 )
Napsáno Jazyk sestavení MS-DOS : x86
FreeDOS , ReactOS : C
Operační systém 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
Plošina Cross-platform
Typ Příkaz
Licence MS-DOS: MIT
FreeDOS, ReactOS: GPLv2

V oblasti výpočetní techniky CHKDSK(zkratka pro „kontrolní disk“) je systémový nástroj a příkaz v DOSu , Digital Research FlexOS , IBM / Toshiba 4690 OS , IBM OS / 2 , Microsoft Windows a souvisejících operačních systémech . Ověřuje integritu systému souborů svazku a pokouší se opravit chyby logického systému souborů. Je podobný fsckpříkaz v Unix a podobné Microsoft ScanDisk které koexistovaly s CHKDSKve Windows 9x a MS-DOS 6.x.

Implementace

Časná implementace ' CheckDisk ' byla CHECKDSK, která byla součástí diagnostiky hardwaru Digital Equipment Corporation , běžící na počátku 70. let 20. století TENEX a TOPS-20 .

SCP 86-DOS

CHKDSKPříkaz byl poprvé zaveden v roce 1980 Tim Paterson a jsou zahrnuty v Seattle Computer Products 86-DOS .

MS-DOS / IBM PC DOS

CHKDSK.COM(mezi několika dalšími soubory COM) v IBM PC DOS 1.0.

Příkaz je k dispozici v systému MS-DOS verze 1 a novější. CHKDSKje implementován jako externí příkaz. MS -DOS verze 2.x - 4.x použít chkdsk.comjako spustitelný soubor. MS-DOS verze 5.xa novější použít chkdsk.exejako spustitelný soubor.

Chyba systému MS-DOS 5.0

CHKDSKa UNDELETEv systému MS-DOS 5.0 mají chybu, která může poškodit data: Pokud tabulka alokace souborů na disku používá 256 sektorů, běh CHKDSK /Fmůže způsobit ztrátu dat a běh UNDELETEmůže způsobit nepředvídatelné výsledky. Obvykle to ovlivňuje disky s kapacitou přibližně násobkem 128 MB. To platí CHKDSK.EXEa UNDELETE.EXEnese datové razítko z 9. dubna 1991. Tato chyba byla opravena v systému MS-DOS 5.0a.

Microsoft Windows

chkdskPříkaz na Windows XP

CHKDSKlze spustit z příkazového řádku DOS , Průzkumníka Windows , Windows Command Prompt , Windows PowerShell nebo Recovery Console .

V operačních systémech Windows NTCHKDSK může také zkontrolovat vadný sektor na povrchu disku a označit ho (v systému MS-DOS 6.xa Windows 9x je to úkol, který provádí Microsoft ScanDisk ). Windows Server verze CHKDSKje RAID -aware a může plně obnovit data v vadných sektorů disku v RAID-1 nebo RAID-5 pole, pokud jiné disky v sadě jsou neporušené.

Fragmenty souborů a adresářů, které jsou považovány za poškozené například v důsledku výpadků napájení při zápisu, překročení délky názvu souboru nebo neplatných znaků v názvu souboru, jsou přesunuty do adresáře pod kořenovým adresářem oddílu, pojmenovány found.000a přejmenovány na obecné hexadecimálně číslované soubory a adresáře začínající file00000000.chka dir_00000000.chk.

V rodině Windows NT se standardní CHKDSKkontrola skládá ze tří fází testování metadat souboru. Hledá chyby, ale neopravuje je, pokud k tomu není výslovně nařízeno. Totéž platí pro povrchové skenování-tento test, který by mohl být extrémně časově náročný na velkých nebo málo výkonných discích, se neprovádí, pokud o to není výslovně požádáno. CHKDSKk provádění oprav vyžaduje výhradní přístup k zápisu do svazku.

Vzhledem k požadavku monopolizovaného přístupu k jednotce CHKDSKnemůže systémový disk zkontrolovat v normálním systémovém režimu. Místo toho systém nastaví špinavý bit na svazek disku a poté restartuje počítač. Během spouštění systému Windows je pomocí SMSS.EXE spuštěna speciální verze s CHKDSKnázvem Autochk(aplikace v nativním režimu ) a kontroluje a pokouší se opravit souborový systém, pokud je nastaven špinavý bit.

Kvůli požadavku na výhradní přístup a časově náročné povaze CHKDSKoperace implementoval systém Windows Vista nový model stavu systému souborů, ve kterém operační systém opravuje chyby na svazcích, jak na ně narazí. V případě, že je problém vážný a je vyžadováno úplné skenování, Action Center upozorní uživatele, aby svazek v první řadě přepnul do režimu offline.

Windows Vista a Windows Server 2008 přidaly kromě poskytování CHKDSKpříkazu schopnost samoléčení, která je ve výchozím nastavení zapnutá . Detekuje fyzické chyby systému souborů a za běhu je potichu opravuje. Mnoho problémů dříve objevených při běhu se tedy CHKDSKnikdy neobjeví. Je spravován fsutil repairpříkazem.

Kritika byla zaměřena na tendenci AUTOCHKautomaticky upravovat systém souborů, pokud to uživatel, který si může přát předem zálohovat svá data, výslovně nevyžádal , protože pokus o opravu může způsobit vyškrábání, podkopání a odmítnutí cest souborů a adresářů, zejména na multiboot instalace, kde může mít více operačních systémů rušivě zapsáno do stejného oddílu.

Údajná chyba systému Windows 7

Před vydáním Windows 7 , InfoWorld hlášeny údajné únik paměti v CHKDSK; podle zprávy chkdsk /rby příkaz způsobil, že spotřeba paměti dosáhne maxima a systém spadne . Randall C. Kennedy z InfoWorld připsat původní zprávu „ různých webových zdrojů “ a řekl, že v jeho testech, spotřeba paměti dosáhne více než 90%, ačkoli on neměl dojít k havárii. Nicméně Kennedy vzal spotřebu paměti za kritickou chybu, která by vykolejila spuštění Windows 7 a pokáral Microsoft. Tom Warren z Neowinu odmítl Kennedyho hodnocení významu údajného úniku. Steven Sinofsky ze společnosti Microsoft také odpověděl, že Microsoft nemohl reprodukovat ani havárii, ale že velká spotřeba paměti byla záměrná, aby se zlepšil výkon, a ne únik. Ed Bott ze ZDNet také přezkoumal tvrzení svými vlastními testy a poznamenal, že nedojde k žádnému krachu. Bott poznamenává, že chkdsk /rpodle návrhu nefunguje na systémovém disku, když je Windows online, Bott dospěl k závěru, že „je to pravděpodobně funkce, nikoli chyba, a pravděpodobnost, že někdy systém takto havarujete, je velmi, velmi malá a zcela lze se vyhnout. "

DR/Novell DOS

DR DOS 6.0 také obsahuje implementaci CHKDSKpříkazu.

FreeDOS

FreeDOS verze byla vyvinuta Imre Leber a je pod licencí GNU GPL 2 .

ReactOS

chkdskPříkaz na ReactOS

Implementace ReactOS je založena na volném klonu vyvinutém Markem Russinovichem pro Sysinternals v roce 1998. Byl přizpůsoben ReactOS Emanuele Aliberti v roce 1999 a podporuje svazky pomocí souborového systému FAT32 . Příkaz nepodporuje svazky používající souborový systém Btrfs , přestože jej ReactOS podporuje od verze 0.4.1.

Viz také

Reference

Další čtení

externí odkazy