板上有高手可以解說一下chkdsk的原理嗎? - Windows

Table of Contents

※ 引述《jono103 (不說對不起)》之銘言:
: chkdsk大家都會用 參數也知道
: 但是"原理"呢?
: 在XP底下執行chkdsk,到底對磁碟(or檔案)做了什麼事?
: 或是有想關書籍,請板上高手指引個方向
: 謝謝
原文推文裡面根本就沒有講到原理......

必要知識是磁碟儲存的資料結構
磁碟儲存是以磁區為單位,其中根目錄是儲存在固定的磁區位置

在根目錄這個磁區有一張表格,裡面是檔案/目錄名稱
以及其所在的起始磁區位置

如果指向的是目錄,那在目標磁區會是另外一張目錄表
如果是檔案的話,那就是檔案的開頭了

除此之外,檔案如果被分散的話,還會儲存[接下來的資料在哪個磁區]
不過我不記得這個資料放在哪了...

========================

所以,CHKDSK檢查這些東西
1.目錄表格是否符合結構
2.指向的目標是否存在且有效,名稱是否合法
3.同一個磁區是否被重複指定為目標
(除了特殊設計的如XP整合光碟,理論上一個磁區只會被指定一次)
4.目錄/檔案指標是否遞迴 (A目錄=>B目錄=>A目錄)
5.是否有磁區被標記為使用中,但卻沒有被指定
6.是否有磁區被標記為空,卻被指定了

應該還有其他,不過我忘了

--

All Comments

Brianna avatarBrianna2011-04-05