如何在每次重新啟動時執行 chkdsk?

如何在每次重新啟動時執行 chkdsk?

前不久有一個問題,在出現登入畫面之前執行程式,我認為他的具體意思是他想根據圖片在啟動時運行 chkdsk,但他確實想運行一個不同的程式。

好吧,我專門回答了 chkdsk,我想有些人可能會找到我的解決方案“如何在每次重新啟動時運行 chkdsk?”有趣的。

答案1

基本上,如果您只想每次啟動時運行 chkdsk /f 或 chkdsk /r ,您可以將其設置為在關閉時運行,而不是嘗試使其在HKLM\SYSTEM\CurrentControlSet\Control\Session Manager.

具體方法如下:

建立一個檔案 C:\WINDOWS\system32\confirm.txt,y其中包含 JUST。

然後建立 C:\WINDOWS\system32\Chkdsk_Reboot.bat,其中包含以下程式碼:

echo y > confirm.txt
chkdsk c: /f /x < confirm.txt

現在,如果您有 XP Pro 或其他專業級作業系統,請開啟 gpedit.msc>電腦設定>Windows 設定>腳本>關機,並將 Chkdsk_Reboot.bat 新增為關機腳本。

下次重新啟動時,您將執行 chkdsk 命令。

我不確定這是否適用於 XP home,因為它沒有 gpedit.msc。您也許可以建立此目錄結構並在其中新增批次文件,但我不確定它是否有效,因為主頁不使用群組原則:C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown

在此輸入影像描述

答案2

chkdsk已設定為在每次啟動時運行。

檢視HKLM\SYSTEM\CurrentControlSet\Control\Session Manager並找到名為 的多字串 ( REG_MULTI_SZ) 條目BootExecute。值“ autocheck autochk *”表示chkdsk將在啟動時運行,但是您不會看到它,因為它在後台運行,搜尋磁碟錯誤。

如果chkdsk偵測到某些磁碟問題,那麼您將看到藍色畫面並進行全磁碟掃描。

編輯:

自動檢查選項範例,根據這裡(部分:「髒位與登錄「Autochk」條目」):

Sample command              Resulting registry entry 
==============              ========================
Chkdsk C: /F                Autocheck autochk /p \??\C: 
Chkdsk C:\mountpoint /F     Autocheck autochk /p \??\VOLUME{GUID} 
Chkntfs D: E: /X            Autocheck autochk /k:D /k:E * 
Chkntfs G: /C               Autocheck autochk /m \??\G: 

相關內容