در محاسبات، CHKDSK (مخفف عبارت «check disk») یک نرم‌افزار سیستم و فرمان در داس، دیجیتال ریسرچ FlexOS , آی بی ام / توشیبا 4690 OS , IBM OS/2، مایکروسافت ویندوز و سیستم عامل‌های مربوطه است. چک دیسک یکپارچگی سامانه فایل بندی یک حجم را بازبینی می‌کند و تلاش می‌کند خطاهای منطقی فایل سیستم را برطرف کند. چک دیسک مشابه دستور fsck در یونیکس و شبیه به Microsoft ScanDisk است که همزمان با `CHKDSK` در ویندوز 9x و ام اس-داس 6.x وجود داشته‌است.

پیاده‌سازی‌ها
-------------

یک پیاده‌سازی ابتدایی از چک دیسک، CheckDisk بوده‌است که بخشی از عیب‌شناسی سخت‌افزار دیجیتال ایکویپ‌منت کورپوریشن بود که در اوایل دهه ۱۹۷۰ بر روی TENEX و TOPS-20 اجرا می‌شد.

### SCP 86-DOS

`CHKDSK` اولین بار در سال ۱۹۸۰ توسط تیم پترسون اجرا شد و در محصولات کامپیوتری سیاتل داس-۸۶ گنجانده شد.

### MS-DOS / IBM PC DOS

 `CHKDSK.` `COM` (در میان چندین فایل COM دیگر) در IBM PC DOS 1.0.
این دستور در MS-DOS در نسخه‌های ۱ و بالاتر موجود است. `CHKDSK` به عنوان یک فرمان خارجی پیاده‌سازی می‌شود. در نسخه‌های 2.x - 4.x ام اس-داس از `chkdsk.com` به عنوان فایل قابل اجرا استفاده می‌شود. در نسخه‌های ام اس-داس 5.x به بعد از `chkdsk.exe` به عنوان فایل قابل اجرا استفاده می‌شود.

#### باگ ام اس-داس 0.5

`CHKDSK` و `UNDELETE` در MS-DOS 5.0 دارای یک اشکال هستند که می‌تواند داده‌ها را خراب کند: اگر جدول تخصیص فایل یک دیسک از ۲۵۶ بخش(sector) استفاده کند، اجرای `CHKDSK /F` می‌تواند باعث از دست رفتن داده‌ها شود و اجرای `UNDELETE` می‌تواند نتایج غیرقابل پیش‌بینی ایجاد کند. این معمولاً دیسک‌هایی با ظرفیت تقریباً مضربی از ۱۲۸ مگابایت را تحت تأثیر قرار می‌دهد. این بر روی `CHKDSK.EXE` و `UNDELETE.EXE` که دارای datastamp از تاریخ 9 آوریل 1991 هستند صدق میکند. این باگ در نسخه MS-DOS 5.0a رفع شد.

### ویندوز مایکروسافت

 دستور `chkdsk` در ویندوز XP
`CHKDSK` را می‌توان از DOS prompt, Windows Explorer, Windows Command Prompt,

Windows PowerShell یا Recovery Console اجرا کرد.

در سیستم عامل های Windows NT, همچنین `CHKDSK` می‌تواند سطح دیسک را برای بد سکتور بررسی کرده و آنها را علامت‌گذاری کند (در MS-DOS 6.x و Windows 9x، این کاری است که Microsoft ScanDisk انجام میدهد) نسخۀ Windows Server از`CHKDSK` دارای RAID- aware است و در صورت سالم بودن سایر دیسک‌های مجموعه، می‌تواند به‌طور کامل داده‌ها را در بد سکتورهای دیسک در آرایه های RAID-1 یا

RAID-5 بازیابی کند.

بخش‌هایی از فایل‌ها و دایرکتوری‌هایی که به عنوان مثال در نتیجۀ قطع شدن برق در حین نوشتن، یکی یا هر دو مورد بیش از حد بودن طول نام فایل و کاراکترهای نامعتبر در نام فایل، خراب تلقی می‌شوند، به فهرستی در زیر ریشه پارتیشن به نام `found.000` منتقل میشوند و به فایل‌ها و دایرکتوری‌های شماره‌دار هگزادسیمی عمومی(generic) تغییر نام داده میشوند که به ترتیب با `file00000000.chk` و `dir_00000000.chk` شروع می‌شوند.

در خانواده ویندوز NT، یک اسکن استاندارد `CHKDSK` شامل سه مرحله آزمایش فراداده فایل است. به دنبال خطاها می‌گردد اما تا زمانی که صریحاً به آن دستور داده نشده باشد آن ها را برطرف نمیکند. همین امر در مورد اسکن سطح نیز صدق می‌کند - این آزمایش، که ممکن است روی دیسک‌های بزرگ یا با کارایی پایین بسیار وقت گیر باشد، انجام نمی‌شود مگر اینکه صریحاً درخواست شود. `CHKDSK` برای انجام تعمیرات، انحصارا به دسترسی نوشتن ولوم نیاز دارد.

به دلیل نیاز به دسترسی انحصاری به درایو، `CHKDSK` نمی‌تواند دیسک سیستم را در حالت عادی سیستم بررسی کند. در عوض، سیستم بیت کثیف را روی ولوم دیسک تنظیم می‌کند و سپس کامپیوتر را مجددا راه اندازی می‌کند(ریبوت). در طول راه اندازی ویندوز، یک نسخه ویژه از `CHKDSK` به نام `Autochk` (یک برنامه کاربردی حالت بومی) توسط SMSS.EXE شروع می‌شود و اگر بیت کثیف تنظیم شده باشد، سیستم فایل را بررسی و تعمیر می‌کند.

به دلیل نیاز به دسترسی انحصاری و ماهیت زمان‌بر عملیات `CHKDSK` ، ویندوز ویستا یک مدل سلامت سیستم فایل جدید را پیاده‌سازی کرد که در آن سیستم‌عامل خطاها را در ولوم‌هایی که با آنها مواجه می‌شود برطرف می‌کند. در صورتی که مشکل جدی باشد و نیاز به اسکن کامل باشد، Action Center به کاربر اطلاع می‌دهد که در اولین فرصت ولوم را آفلاین کند.

ویندوز ویستا و ویندوز سرور ۲۰۰۸ علاوه بر ارائه فرمان `CHKDSK` ، قابلیت خوددرمانی را که به‌طور پیش‌فرض روشن شده‌است، اضافه کردند. این قابلیت خطاهای سیستم فایل فیزیکی را شناسایی می‌کند و در حین پروسه آنها را برطرف می‌کند؛ بنابراین، بسیاری از مشکلاتی که قبلاً در اجرای `CHKDSK` کشف شده بودند هرگز ظاهر نمی‌شوند. این قابلیت توسط فرمان `fsutil repair` اداره می‌شود.

تمایل `AUTOCHK` برای اصلاح خودکار سیستم فایل در زمانی که کاربر آن را به صراحت درخواست نکرده و ممکن است بخواهد از پیش از داده‌های خود نسخه پشتیبان تهیه کند، مورد انتقاد قرار گرفته است، زیرا تلاش برای تعمیر ممکن است مسیرهای فایل و دایرکتوری را به هم بزند، تضعیف کند و از مالکیت خارج کند، مخصوصا در نصب مالتیبوت که در آن چندین سیستم عامل ممکن است به صورت تداخلی روی یک پارتیشن نوشته شده باشند.

#### باگ اتهامی ویندوز ۷

قبل از انتشار ویندوز ۷، *InfoWorld یک* ادعا از نشت حافظه در `CHKDSK` را گزارش کرد. بر اساس این گزارش، دستور `chkdsk /r` باعث می‌شود مصرف حافظه به حداکثر برسد و سیستم از کار بیفتد. Randall C. Kennedy از *InfoWorld* گزارش اصلی را به "منابع مختلف وب "نسبت داد و گفت که در آزمایشات او، اگرچه خرابی را تجربه نکرده‌، مصرف حافظه به بالای ۹۰٪ رسیده‌است. با این وجود، کندی مصرف حافظه را یک باگ حیاتی که راه اندازی ویندوز ۷ را از مسیر خود خارج می‌کرد، در نظر گرفت و مایکروسافت را محکوم کرد. تام وارن از Neowin اهمیت ارزیابی کندی از افشای اتهامی رد کرد. استیون سینوفسکی از مایکروسافت نیز پاسخ داد که مایکروسافت نیز نمی‌تواند یک خرابی را بازتولید کند، اما طراحی مایکروسافت برای بهبود عملکرد باعث مصرف بالای حافظه میشود، نه نشت. Ed Bott از *ZDNet* نیز این ادعا را با آزمایش‌های خود بررسی کرد و مشاهده کرد که هیچ خرابی ای رخ نمی‌دهد. بات با اشاره به اینکه `chkdsk /r` ، بنا بر نوع طراحی، زمانی که ویندوز آنلاین است روی درایو سیستم کار نمی‌کند، نتیجه‌گیری کرد: «مسلماً این یک خاصیت است، نه یک باگ، و احتمال اینکه سیستمی از این طریق خراب شود، بسیار بسیار کم و کاملاً قابل اجتناب است."

### DR/Novell DOS

DR DOS 6.0 همچنین شامل یک پیاده سازی از دستور `CHKDSK` است.

### FreeDOS

نسخه FreeDOS توسط Imre Leber توسعه یافته و تحت مجوز GNU GPL 2 است.

### ReactOS

 دستور `chkdsk` در ReactOS
پیاده سازی ReactOS بر پایه یک کلون رایگان است که در سال 1998 توسط مارک راسینویچ برای سیس اینترنالز توسعه داده شد.در سال 1999، توسط Emanuele Aliberti با ReactOS تطبیق داده شد و ولوم‌ها را با استفاده از سیستم فایل FAT32 پشتیبانی می‌کند. این فرمان از ولوم‌ها با استفاده از سیستم فایل Btrfs پشتیبانی نمی‌کند، اگرچه ReactOS از نسخه 0.4.1 از آن پشتیبانی می‌کند.

جستارهای وابسته
---------------

* یکپارچه سازی

منابع
-----

1. ↑  "FlexOS User's Guide" (PDF). *www.bitsavers.org*. 1986. Archived from the original (PDF) on 25 September 2019. Retrieved 2020-09-14.
2. ↑  "Archived copy". Archived from the original on 2019-04-14. Retrieved 2019-07-20.`{{cite web}}`: نگهداری یادکرد:عنوان آرشیو به جای عنوان (link)
3. ↑  "134-TENEX JOBZRO.MAC". *BitSavers*. 1979-09-16. Archived from the original on 27 January 2019. Retrieved 20 November 2021.
4. ↑  "Xerox Palo Alto Research Center" (PDF). Under Tenex .. Hardware Maintenance Procedures .. Recovery from Checkdsk Errors
5. ↑  "86-DOS User's Manual - Version 0.3" (PDF). Archived from the original (PDF) on 2019-07-14. Retrieved 2019-06-09.
6. ↑  "MS-DOS and Windows command line chkdsk command". *www.computerhope.com*.
7. ↑  "When Not to Use MS-DOS 5.0 `CHKDSK` and `UNDELETE` Commands". *Support* (1.1 ed.). Microsoft. 16 November 2006.
8. ↑  "Description of the Windows XP Recovery Console for advanced users". *Support* (8.0 ed.). Microsoft. 11 July 2013. Retrieved 4 September 2014.
9. ↑  "What Are the FOUND.000 Folder and FILE0000.CHK File in Windows?".
10. ↑  "Delete File when Path Too Long or Name Ends with Dots or Space".
11. ↑  "An explanation of the new /C and /I Switches that are available to use with Chkdsk.exe". *Microsoft Support*. Microsoft. 1 December 2007. Archived from the original on 24 October 2014. Retrieved 25 January 2019.
12. ↑  "Troubleshooting Disks and File Systems". *Windows XP Professional Resource Kit*. Microsoft. 3 November 2005. Retrieved 4 September 2014.
13. ↑  Bangalore, Kiran (10 May 2012). Sinofsky, Steven (ed.). "Redesigning chkdsk and the new NTFS health model". *Building Windows 8*. Microsoft.
14. ↑  Chen, Ken (4 August 2014). "NTFS Self-Healing is An Overlooked but Useful Feature in Windows 7". *Next of Windows*.
15. ↑  Pawar, Amit (13 February 2008). "Self-healing NTFS in Windows Server 2008 and Windows Vista". *Amit Pawar - Infrastructure blog*. Microsoft.
16. ↑  "Will Scandisk or CHKDSK Cause Computer Data Loss?". *Data Recovery Blog*. 8 February 2017.
17. ↑  "Disable or Stop Auto CHKDSK During Windows Startup • Raymond.CC". *Raymond.CC*. 23 February 2008.
18. ↑  "How to Fix a Corrupted Windows NTFS Filesystem With Ubuntu". *MakeUseOf*. 22 September 2010.
19. ↑  Kennedy, Randall C. (5 August 2009). "Critical Windows 7 bug risks derailing product launch". *InfoWorld*. IDG. Retrieved 19 February 2015.
20. ↑  Warren, Tom (5 August 2009). "Windows 7 RTM contains a rather nasty chkdsk bug". *Neowin*. Retrieved 19 February 2015.
21. ↑  Bott, Ed (5 August 2009). "A killer Windows 7 bug? Sorry, no". *ZDNet*. CBS Interactive.
22. ↑  "DR DOS 6.0 User Guide Optimisation and Configuration Tips" (PDF). Archived from the original (PDF) on 2019-09-30. Retrieved 2019-08-13.
23. ↑  "ibiblio.org FreeDOS Package -- chkdsk (FreeDOS Base)". *www.ibiblio.org*.
24. ↑  "reactos/reactos". *GitHub*.

پیوند به بیرون
--------------

* اسناد رسمی در مورد Microsoft CHKDSK
* اجرای CHKDSK منبع باز که با MS-DOS نسخه ۲٫۰ ارائه می‌شود