[未解決]Windows 10 中,重組並最佳化磁碟機的排程永遠不會執行

如果有開啟「重組並最佳化磁碟機」並設定排程,假設是每周執行,過了一個月後,你會發現上次執行時間就是你自己最後一次手動執行最佳化的時間。

我研究了一下,發現在工作排程器中是有該工作的,但是它的執行結果有問題:

DefragTaskError

看一下歷程記錄,會發現該工作會因為電腦在使用中而停止:

DefragTaskError2

仔細看一下該工作,執行的指令是:

%windir%\system32\defrag.exe -c -h -o -$

查詢defrag.exe的參數列表,如下:

Microsoft 磁碟機最佳化工具
著作權 (c) Microsoft Corp.

描述:

	最佳化並重組本機磁碟區上的檔案,以改進系統效能。

語法:

	defrag  | /C | /E  [<task(s)>] [/H] [/M [n] | [/U] [/V]] [/I n]

	其中的  可以省略 (傳統的重組方式),或可指定為:
		/A | [/D] [/K] [/L] | /O | /X

	或者,若要追蹤已在磁碟區上進行的作業:
	defrag  /T

參數:

	值	描述
	/A	在指定的磁碟區上執行分析。
	/C	在所有磁碟區上執行作業。
	/D	執行傳統重組方式 (此為預設值)。但在分層磁碟區上,
		傳統重組方式只會在容量層執行。
	/E	在指定磁碟區以外的所有磁碟區上執行作業。
	/G	最佳化所指定磁碟區上的儲存層。
	/H	以標準優先順序執行作業 (預設為低)。
	/I n	階層最佳化會在每個磁碟區上執行最多 n 秒。
	/K	在指定的磁碟區上執行 Slab 彙總。
	/L	在指定的磁碟區上執行重新修剪。
	/M [n]	在背景以平行方式在每一個磁碟區上執行作業。
		最多 n 個執行緒能以平行方式最佳化儲存層。
	/O	為每種媒體類型執行適當的最佳化。
	/T	追蹤已在指定磁碟區上進行的作業。
	/U	在畫面上顯示作業進度。
	/V	列印詳細資訊輸出,包含分散程度統計資料。
	/X	在指定的磁碟區上執行可用空間彙總。

範例:

	defrag C: /U /V
	defrag C: D: /M
	defrag C:\mountpoint /A /U
	defrag /C /H /V

我注意到,所有參數的前綴都是"/",但是在排程工作中卻是"-“,而就我自己的測試,這會導致所有參數被忽略,而變成預設狀態:「對當前磁碟機(C:),以低優先度模式進行傳統重組」,這如果成功執行,會因為C:位於固態硬碟,從而導致壽命下降。另外就是"-$"沒有列在列表中。

我將指令改為:

%windir%\system32\defrag.exe /c /h /o

並手動執行該工作,這次就會成功完成了。

DefragTaskError3

看起來,微軟的開發人員有點粗心啊…..

附帶一提,我在解決問題的途中有詢問Microsoft Taiwan@Facebook,但是他們似乎搞不清楚我的問題點在哪裡。(不是無法執行最佳化,而是排程無法完成啊大哥….)

2018/6/27 更新:

我發現上述變更會導致開啟最佳化磁碟機時出現要求回復預設設定的小視窗,如果不回復就無法繼續。所以要找別的方法了。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

w

連結到 %s