首图,无图无真相
据我所知
此bug已持续约3个月。
此bug目前仍可以在Windows Feature Experience Pack 1000.25997.1000.0版本复现(截至2023/11/21,最新的Windows预览金丝雀通道)
如何复现
1
手动运行系统维护,点击“开始维护"
2
然后打开磁盘碎片整理程序,如果“当前状态”一栏有“第一遍”或者“第x遍”文字,则复现成功。
由于系统维护不仅仅执行磁盘碎片整理,还可能执行其他维护任务,所以可能得等几分钟才能显示正在进行磁盘碎片整理。
修复措施
1
在磁盘碎片整理程序窗口中,修改“已计划的优化”为“关闭”,也就是说取消磁盘碎片整理的计划任务。
2
修改注册表,禁用自动系统维护。(可靠性:How to turn off Automatic Maintenance in Windows?)
由于比较繁琐,我写了一个用于禁用Windows自动维护的命令行脚本。这个脚本会修改注册表以关闭自动维护。
@echo off
SET KEY="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance"
SET VALUE="MaintenanceDisabled"
SET DATA=1
:: Check if registry key exists
reg query %KEY% 2>nul
if %errorlevel% == 1 (
echo Registry key does not exist, creating...
reg add %KEY% /f
)
:: Set the value to disable Automatic Maintenance
echo Setting %VALUE% to %DATA%...
reg add %KEY% /v %VALUE% /t REG_DWORD /d %DATA% /f
:: Confirm the change
echo Checking the new setting...
reg query %KEY% /v %VALUE%
echo Done.
pause
如何使用这个脚本:
- 打开记事本。
- 复制并粘贴上面的脚本到记事本中。
- 将文件保存为扩展名为
.bat
的文件,例如DisableAutoMaintenance.bat
。 - 以管理员身份运行这个
.bat
文件。
不使用脚本手动方法:
修改注册表中的MaintenanceDisabled键:
- 打开注册表编辑器:按住Windows键并按R,然后输入
regedit
并按Enter。 - 导航到以下注册表位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance
。 - 在此位置创建一个名为
MaintenanceDisabled
的DWORD值(如果尚不存在)。 - 双击
MaintenanceDisabled
,将其值设置为1,以禁用自动维护。 - 退出注册表编辑器。
不修复影响
约6个月的时间,产生了高达约30T的读取和写入;正常情况下应为5~7T的写入量。