Windows 合集
🚩必做
- 关闭实时保护
- 关闭自动更新
- 定时创建还原点
如果系统驱动有问题、难以修复而且没有创建还原点,全新安装新系统也可以,Windows 不会抹除所有数据,受影响的只有注册表和 C:\Windows
文件夹下的数据。用户文件夹会被备份到 C:\Windows.old
中,QQ 和微信聊天数据、ssh/clash 等配置文件夹可以从其中复制过来。程序需要重新安装。
通过任务计划程序创建还原点
参考这个 博客。
开启系统还原
可以在 Windows 开始菜单搜索中搜索“还原”,找到“创建还原点”,也可以找到“系统属性 > 系统保护”,这两个方式都能来到同一个功能面板,对系统驱动器启用系统还原即可。
创建任务计划
可以在 Windows 开始菜单搜索中搜索“计划”,找到“任务计划程序”进入。
点击右侧的“创建计划任务”,选择“不管用户是否登录都要运行”,启用最高权限,配置别动(不要选 Windows 10!会导致配置失效)。别急着点确定,翻到第二页“触发器”,选择“启动时”,点击确定。
创建触发器之后应该和下面一样:
接下来选择操作,选择“启动程序”,程序填 powershell.exe
(不用浏览,PATH 里面肯定能找到),参数填:
-ExecutionPolicy Bypass -Command "Checkpoint-Computer -Description "Startup RestorePoint " -RestorePointType "MODIFY_SETTINGS""
接下来在“条件”选项卡里面关闭唤醒时启动(这样是不是每次开机才跑一次而不是每次唤醒就跑一次?)和不充电时不启动,然后点击确定,输入账户密码(可能时因为设置了更高权限运行)即可创建。因为我创建的位置是在根,所以能在下图找到我计划的任务。
可以重启电脑检查一下是否有新的还原点创建。
组策略和注册表的关联
组策略和注册表的内容是分别存储的,修改组策略并不会直接修改注册表。仅仅是在组策略刷新时,策略文件中的内容会被同步到注册表中。而且,组策略只维持自己的缓存,从不读取注册表中的值!
当注册表不经过组策略编辑器被改动时,如果想要使用组策略管理相关项,可能需要先显式设置组策略中的项目为另外一个值,然后再改过来。
https://superuser.com/a/1192458
Local group policy settings (which is what I believe you are referring to in your post) are stored in
registry.pol
files located inC:\Windows\system32\GroupPolicy
. These files overwrite the corresponding keys in the registry every time the system performs a group policy refresh. The editor never actually reads the registry to see what settings it contains.其中
C:\Windows\system32\GroupPolicy
是一个隐藏文件夹。
家庭版下强行开启组策略编辑器,操作不生效?
编辑组策略后观察 registry.pol
文件,发现数据的确被写入了。比如启用“Windows 更新不包括驱动程序”,对应的文件如下:
其中 01 00 00 00
表示“已启用”。这里看上去是一个字符按照两个字节存储,而整数又是 4 字节小端存储。
使用 gpupdate /force
强行刷新组策略,在 事件查看器 > Windows 日志 > 系统
中,能看到:
已成功为此计算机处理组策略设置。已经检测到并应用了 1 个组策略对象的新设置。
但策略设置并没有被同步到注册表中。
Windows 家庭版启用组策略编辑器
可以用脚本启用,但是不推荐!虽然能编辑,但内容并不生效。可以转而使用注册表来完成相同的功能。网上流传的脚本如下(需要管理员权限):
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
pause
更改 Windows 用户文件夹名称
首先取消 OneDrive 对于桌面的同步!防止旧用户名被删除后还被桌面使用。
https://www.elevenforum.com/t/enable-or-disable-built-in-administrator-account-in-windows-11.709/
https://www.tenforums.com/tutorials/89060-change-name-user-profile-folder-windows-10-a.html
然后还要修改 USERNAME 环境变量(需要在控制面版里面找到用户)。
是否要创建软链接?==如果不创建软链接,很多东西就需要重新安装,包括 Obsidian、VS Code、Notepad3、miniconda3 和安装在用户上的字体。==还有很多注册表项目……所以最好还是留个软链接。
效益?不如重新创建一个用户。
为 Java 注册关联文件
使用 Java_HOME,然后在环境变量中引用。环境变量可以从开始中搜索进入。Jar 文件的关联需要使用 cmd(powershell 不行)的 assoc 命令和 ftype 命令。如果有旧的关联,需要换一个名字!不要用同一个名字来关联!
命令 | 效果 |
---|---|
ftype jarfile | 查看该程序类型当前的关联 |
ftype jarfile= | 清空当前的关联 |
ftype jarfile="path/to/javaw.exe" -jar "%1" %* | 关联该程序为使用 jar 打开 |
assoc .jar | 查看该文件类型当前的关联 |
assoc .jar=jarfile | 和名称为 jarfile 的项目连接起来 |
另外,在 Java SE9 之前,windows 上的 GUI 程序不会随着显示屏缩放设置缩放。所以我升级到了 Java11。
开机输入密码后进用户界面慢
可能是暂存目录太大了,影响系统工作。用 cd %temp%
进入目录,用 explorer .
打开这里,然后删掉里面所有的文件(可能需要显示隐藏文件)并重启。由于缓存目录过期会自动清理,所以有时候会有一种过一段时间开机又正常了的假象。上次清理的时候缓存目录有 10G。下面两个帖子提到了这一点:
https://www.reddit.com/r/techsupport/comments/gh0v9e/long_black_screen_before_login_windows_10/
https://www.tenforums.com/performance-maintenance/155024-startup-takes-too-long-winlogon-init.html
WiFi 有网络但是还是有小地球
可能是 DNS 服务器 ping 不通,可以试一下 ping。如果 ping 不上,看看能不能把静态配置的 DNS 服务器改成自动获取。
安全中心闪退
https://m.ithome.com/html/570853.htm
高 CPU 问题
Windows Defender
改注册表、组策略里面有个二级选项可以关闭 Windows defender 的实时保护(不太好找)。
上一级的 关闭 Mircosoft Defender 防病毒
看上去是无效的?
如果通过注册表修改,设置下面这个项目:
项 | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection |
---|---|
DWORD | DisableRealtimeMonitoring |
值 | 1 |
实时保护关闭之后还要在 Windows Defender 页面关掉其他几个相关项目,否则实时保护会自动打开。如果不在组策略中关闭实时保护,则重启后实时保护会自动打开,所以这两件事都要做。
Microsoft 兼容性遥测
这个看上去可能靠谱一点:
这个是微软 Windows 10 的兼容性检测助手,
按下“Win+R”,输入 services.msc 打开服务。
进入到服务列表找到
Connected User Experiences and Telemetry
,Program Compatibility Assistant Service
服务项打开服务,将服务进行禁用。
WSL localhost 在 Firefox 上连接很慢
这张图给出了原因。
防止 Windows 更新在更新的时候降级驱动
如果是专业版,就编辑组策略:
还可以修改注册表:
项 | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate |
---|---|
DWORD | ExcludeWUDriversInQualityUpdate |
值 | 1 |
但是这样做不是很保险,我记得我有个设备设置了这个但是驱动还是被降级了。最好是直接永久停止 Windows 更新检查。
Word 文档关闭时显示“正在保存”很长时间
在隐私设置中关闭全部联机体验。会使得自动保存不可用,频繁手动保存即可。
MSYS2 的 ls
无法正确显示中文文件名
可能是环境变量 LANG
没有被设置。设置它的值为 zh_CN.UTF-8
即可。(en_US.UTF-8
也是可以显示中文的,这就是没有设置的问题,可以用 locale
检查。)
LC_ALL
的优先级大于 LANG
,默认是没有设置的,也不需要管。
⚠关闭 Windows Search 中的联网建议
有时候会在联网建议的时候卡住,导致不能正常搜索本地软件。
在 HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows
表项中增加 Explorer
项目,然后在其中增加一个名为 DisableSearchBoxSuggestions
的 DWORD (32-bit) Value
,将其值改成 1。
2025 年 1 月 8 日:上述方法好像没用,还是出现了无法搜索本地软件的情况。打开任务管理器,右键然后重启 Windows Explorer 就好了。不知道如何永久解决。