茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1672198 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
F09_471.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

微軟帝國 : [轉貼]關閉開機自動磁碟檢查

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]關閉開機自動磁碟檢查
關閉開機自動磁碟檢查
執行:
Regedit.exe

找到:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/SessionManager


右邊視窗有個字串值叫 BootExecute...
把裡面的值清掉, 開機就不會執行 autochk (chkdsk) 了。
每次執行 chkdsk /f 並回答 'Y', 系統就會把 autochk 指令放在這裡。通常只要執行完就會自動清除BootExecute 裡面的值, 但有時候不會, 所以造成每次重開機就會跑 autochk 的現象。
同理, 要手動在開機時執行 autochk, 在裡面加入指令就行了。

註:autochk 為 Recovery Console 之下的磁碟檢查程式, 在未進入視窗環境之前, 跑的是它, 而不是 chkdsk

詳解 chkntfs.exe 與開機自動磁碟檢查

chkntfs.exe 主要是用來改變開機時自動檢查磁碟的行為。

每當電腦不正常關機時,磁碟機可能會被設定 dirty bit (不乾淨的磁碟),用來表示這個磁碟的內容可能有問題。而 Windows XP 開機時會自動呼叫 autochk.exe 這個程式, autochk.exe 會檢查磁碟機的 dirty bit 是否有被設定,如果有,則 autochk.exe 會呼叫 chkdsk.exe /f 檢查磁碟。

然而有時候檢查磁碟可能太浪費時間以致於我們不想要每次都執行磁碟檢查,這時候可以透過 chkntfs.exe 來跳過某些磁碟的檢查。或是執行 chkdsk.exe /f C: 之後,可能會要求在下次開機時檢查磁碟,如果這時候想取消下次開機時檢查磁碟的排程,也可以透過 chkntfs.exe 來達成。

使用方法
語法如下:
chkntfs volume [...]
chkntfs /D
chkntfs /T[:time]
chkntfs /X volume [...]
chkntfs /C volume [...]

在我的 Windows XP SP2 上 chkntfs.exe 的說明中還有一個參數 /E ,但是這個參數似乎是沒用的。

參數說明如下:

volume
磁碟機代號,字母後面需接上冒號,例如 C: 。

/D
還原成預設行為,也就是檢查所有磁碟,如果磁碟不乾淨,則在該磁碟上執行 chkdsk.exe /f 。

/T:timeout
變更 autochk.exe 的倒數計時時間(秒),如果沒有指定時間,則顯示目前設定的時間。時間倒數中可以按任意鍵跳過磁碟檢查,倒數結束後將自動執行磁碟檢查。

/X
在預設的開機檢查中,排除某些磁碟機的檢查。

/C
開機時檢查特定的磁碟機,如果磁碟機不乾淨,則自動執行 chkdsk.exe 。

chkntfs.exe 與登錄檔
開機時自動檢查磁碟的指令記錄在登錄檔

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager
裡面的 BootExecute 這個字串值。

預設
BootExecute 的預設值是

autocheck autochk *
也就是會自動檢查所有磁碟,對有需要的磁碟執行 chkdsk.exe 。

/D
執行完

> chkntfs /D
之後 BootExecute 的值會變成預設值。

/C
執行完

> chkntfs /C C:
之後 BootExecute 的值會變成

autocheck autochk /m \??\C:
autocheck autochk *
透過

> chkntfs C:
檢查狀態可獲得下列訊息:

檔案系統的類型是 NTFS。
Chkdsk 已排程在下次重新開機時手動地在磁碟區 C: 執行。
/X
執行完

> chkntfs /X C:
之後 BootExecute 的值會變成

autocheck autochk /k:C *
透過

> chkntfs C:
檢查狀態可獲得下列訊息:

檔案系統的類型是 NTFS。
C: 未更動。
只檢查特定磁碟
從 /C 的 BootExecute 值可以知道,

autocheck autochk /m \??\C:
autocheck autochk *
在檢查完 C: 之後,還會繼續檢查所有磁碟,所以如果只想要檢查 C: 的話,可以依序執行下列指令:

> chkntfs /D
> chkntfs /X C: D: E:
> chkntfs /C C:
這樣一來 BootExecute 的值會變成:

autocheck autochk /m \??\C:
autocheck autochk /k:C /k:D /k:E *
也就是說 autochk.exe 會先檢查 C: ,然後剩下要檢查的磁碟機裡面會自動跳過 C: 、 D: 、 E: 不檢查。

dirty bit
dirty bit 用來表示磁碟機乾不乾淨,需不需要執行磁碟檢查。在 XP 裡面要知道某個磁碟機是不是乾淨的,可以透過 fsutil.exe 這個工具來獲取資訊。

查詢
查詢 dirty bit 的指令

fsutil dirty query C:
其結果可能是

磁碟區 - C: 不髒
或是

磁碟區 - C: 不乾淨
設定
設定 dirty bit 的指令為

fsutil dirty set C:
執行後的訊息為:

磁碟區 - C: 已經標記為不乾淨
注意
dirty bit 應該只能手動設定,但不能手動取消。
檢查完磁碟機以後 dirty bit 會自動取消。



原文出處:綠葉之境:關閉開機自動磁碟檢查 - 樂多日誌
參考文件:Microsoft 技術支援:如何在 Windows XP 中執行磁碟錯誤檢查
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|