Win10系统分区C盘根目录下总自动生成Recovery文件夹,该怎么阻止?

Win10系统分区C盘根目录下总自动生成Recovery文件夹,该怎么阻止?

Mike,

谢谢回复!

由于wmic命令确实在21H1后有所改动,因此可能会出现不同以往的情况发生...

那极可能正是 导致21H2系统一启动就总自动生成Recovery文件夹 的原因所在。

AutoReboot、SendAdminAlert、WriteDebugInfo、WriteToSystemLog 这四个的值都要为 False,

即:运行如下四条命令进行设置之后,都 False 成功地站住了脚,系统才不会每每生成Recovery文件夹~

wmic recoveros set AutoReboot = False

wmic recoveros set SendAdminAlert = False

wmic recoveros set WriteDebugInfo = False

wmic recoveros set WriteToSystemLog = False

看来极有可能是微软开发团队在21H2改动了wmic命令相关程式 (尚需调整或有待改进呢),

于是便导致了将WriteDebugInfo设置为False后却站不住脚,

进而又导致了系统每每自动生成Recovery…

这样子情状,就不是我们普通用户所能左右的了…

我忽地想到了个暂时性的法子~

做一个如下的XML文件:

RmvCRootFdrs.xml

<Date>2021-12-01T12:12:12</Date>

<Author>Builtin\Administrators</Author>

<Description>Delete C:\Recovery folder.</Description>

<URI>\RmvCRootFdrs</URI>

<BootTrigger>

<Enabled>true</Enabled>

</BootTrigger>

<LogonTrigger>

<Enabled>true</Enabled>

</LogonTrigger>

<Principal id="Author">

<UserId>NT Authority\System</UserId>

<RunLevel>HighestAvailable</RunLevel>

</Principal>

<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>

<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>

<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>

<AllowHardTerminate>false</AllowHardTerminate>

<StartWhenAvailable>false</StartWhenAvailable>

<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>

<IdleSettings>

<StopOnIdleEnd>false</StopOnIdleEnd>

<RestartOnIdle>false</RestartOnIdle>

</IdleSettings>

<AllowStartOnDemand>true</AllowStartOnDemand>

<Enabled>true</Enabled>

<Hidden>false</Hidden>

<RunOnlyIfIdle>false</RunOnlyIfIdle>

<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>

<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>

<WakeToRun>false</WakeToRun>

<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>

<Priority>7</Priority>

<Exec>

<Command>D:\Software\Settings\MoveRootFdrs\RmvCRootFdrs.bat</Command>

</Exec>

该 RmvCRootFdrs.xml 文件用于向 Task Scheduler 中导入可删除掉C:\Recovery文件夹的任务。

再做一个如下的批处理文件:

SchDelRmvCRootFdrs.bat

schtasks /delete /tn "\RmvCRootFdrs" /f

该 SchDelRmvCRootFdrs.bat 批处理文件暂时还用不上,是要待21H2改进之后(即改好了而令C:\Recovery不再自动生成之后),再去运行它以删除RmvCRootFdrs这个任务。

再做一个如下的批处理文件:

SchAddRmvCRootFdrs.bat

schtasks /create /tn "\RmvCRootFdrs" /xml "D:\Software\Settings\MoveRootFdrs\RmvCRootFdrs.xml" /f

该 SchAddRmvCRootFdrs.bat 批处理文件用以向 Task Scheduler 加入RmvCRootFdrs任务。

再做一个如下的批处理文件:

RmvCRootFdrs.bat

if exist "C:\EFI" (

robocopy "C:\EFI" "C:\Windows\EFI" /E /COPYALL /XJ

takeown /F "C:\EFI" /R /A /D Y

icacls "C:\EFI" /grant Administrators:F /T /C

rd /s /q "C:\EFI"

)

if exist "C:\PerfLogs" (

robocopy "C:\PerfLogs" "C:\Windows\PerfLogs" /E /COPYALL /XJ

takeown /F "C:\PerfLogs" /R /A /D Y

icacls "C:\PerfLogs" /grant Administrators:F /T /C

rd /s /q "C:\PerfLogs"

)

bcdedit /set {current} recoveryenabled No

wmic recoveros set AutoReboot = False

wmic recoveros set SendAdminAlert = False

wmic recoveros set WriteDebugInfo = False

wmic recoveros set WriteToSystemLog = False

if exist "C:\Recovery" (

takeown /F "C:\Recovery" /R /A /D Y

icacls "C:\Recovery" /grant Administrators:F /T /C

rd /s /q "C:\Recovery"

)

该 RmvCRootFdrs.bat 批处理文件用以删除C:\Recovery文件夹。

将 RmvCRootFdrs.xml、SchDelRmvCRootFdrs.bat、SchAddRmvCRootFdrs.bat、RmvCRootFdrs.bat 都保存在同一个文件夹内,我是都存放到了 D:\Software\Settings\MoveRootFdrs\ 这个路径之下 (如果想要放置到其它路径下,需要将上述四个文件里边的该路径,都替换成想要的路径,即可) 。

滑鼠右击 SchAddRmvCRootFdrs.bat 批处理文件,再点击弹出的快捷菜单中 “Run as administrator”,

然后会弹出 User Account Control 对话框窗口,点击其中的 [Yes] 按钮,

然后弹出了 Command Prompt 窗口,来运行该批处理文件,以将RmvCRootFdrs任务加载到Task Scheduler中去。

这样每次系统启动或重启时,或每有用户登录时,就会触发Task Scheduler中的RmvCRootFdrs任务开始执行,以运行RmvCRootFdrs.bat批处理来删掉C:\Recovery文件夹。

该临时法子,很笨拙,我自个都不甚满意…

有待于请微软进一步改进21H2系统啦,

其他高人若有更佳解决方案,在下愿洗耳恭听,请不吝赐教!

谢谢Mike!谢谢坛上高者诸君!

相关数据

手机关机设置在哪里
365审核要多久

手机关机设置在哪里

📅 07-02 👁️ 4367
鼓頰條鰍
365bet提款规则

鼓頰條鰍

📅 07-09 👁️ 6078
话费套餐不能升级容易降级难
365bet提款规则

话费套餐不能升级容易降级难

📅 07-06 👁️ 2838