.
开头的文件,这在 Linux 下是隐藏文件,但 Windows 文件管理器并不按这个逻辑处理,用户只能主动给所有点号开的文件加上隐藏属性,并文件管理器里设置成不显示。关于软件安装和 数据存放的位置,取决于软件开发者和安装包制作工具的设置。
清除 Windows 中的图标缓存后,Windows 会自动重建对应的图标缓存。
把以下指令保存到 .bat 文件后,执行此 .bat 文件以清除图标缓存 (可以多执行几次):
cd /d %userprofile%\AppData\Local\Microsoft\Windows\Explorer
taskkill /f /im explorer.exe
attrib -h iconcache_*.db
del iconcache_*.db /a
start explorer
pause
或者也可以在 CMD 中以下命令来清除 icon 缓存:
ie4uinit -show
电脑可以进系统,但无法使用正确的快捷键进入 BIOS 配置。在电源选项里把 快速启动 关闭就行。
以管理员身份运行 CMD 并执行 net user administrator /active:yes
。
此时管理员账户已开启,在开始菜单点击用户头像就可以看到切换选项。
用 PowerShell 执行 slmgr /dlv
可以查看详细的激活信息。
注册表定位到 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 下,属性 BackupProductKeyDefault 对应的值是激活码。
在注册表里更改自动断开连接的时间即可:
注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters
值: KeepConn
数据类型: REG_DWORD
范围: 1 - 65535 seconds
默认值:600s = 10min
涉及的注册表项目有:
包含适用于所有用户的默认的文件关联设置
HKEY_LOCAL_MACHINE\Software\Classes
包含只适用当前用户的文件关联的设置 (覆盖 HKEY_LOCAL_MACHINE 项中的设置)
HKEY_CURRENT_USER\Software\Classes
包含用户自定义的打开方式 (勾选始终使用该方式打开时指定的程序)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
在上述注册表路径中删除对应的项目即可。
用 Win+R 调出 '运行' 界面之后,执行 msconfig
打开系统设置,切换到 '启动' 选项卡内可以为程序设置开机启动。
能在这里显示出的软件都是在注册表中有定义的软件,如果软件未在注册表中注册,那么这里可能找不到对应的软件。
对要配置开机启动的程序生成快捷方式后,放到下面指定的目录中。
对当前用户生效: %appdata%\Microsoft\Windows\Start Menu\Programs\StartUp
对所有用户生效: %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp
可以在以下的注册表路径中配置要启动的程序:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run (常用)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run (常用)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
只需要在上面列表中给出的目录下添加一个字符串值,将需要启动的应用程序路径添加到值即可。
wbadmin.exe 是用来管理备份和恢复系统、文件的软件。
vssadmin.exe 也是用来管理 VSS 服务的软件,但是查了很多博客都说这个软件自 Win Server 2008 似乎已经被放弃了。
虽然这个软件依旧可以用,但是用这个软件操作完之后并不能在 Windows Server 备份的 UI 界面上显示正确的结果。
即使操作完再用 wbadmin 检查也不能得到正确输出,但操作确实成功了。
所以尽量不要用 vssadmin.exe,要用 wbadmin.exe 来管理备份。
计算机管理 -> Windows Server 备份 -> 本地备份 选项卡里可以看到所有备份,但是删除备份只能手动敲命令。
用 wbadmin 删除备份之后,在 UI 里可以看到硬盘占用减少了,但是备份数量要刷新之后才能正确显示。
更新系统 / 软件抽风之后,有时会重复设置开机启动,也就是在注册表里添加开机启动项的路径。
重复的开机启动项可能在注册表的以下两个路径中:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
注: 大概率在第一条路径中。
在路径下找到重复项删除即可。
如果无法判断应该删除哪个,那么可以全部删除,然后重新设置开机启动。
SSD 或者 HDD 过热时会主动断电,可能造成 FTL 表损坏,进而出现掉盘。
如果系统盘掉盘则会蓝屏,重启则会进入 BIOS (并且在 BIOS 里依旧找不到装有系统的硬盘);非系统盘掉盘则无法在文件管理器中找到盘符。在掉盘时马上重启系统的话,系统可能依旧无法认到盘。因为硬盘的 FTL 表必须完好,硬盘才能正常工作,但重建 FTL 的过程中会扫全盘数据。而扫全盘数据,很花时间。
所以此时最好的做法是就让机器开着,能进系统的就进系统,不能进系统的就进 BIOS 等着,等上半个小时再重启。不要频繁重启,重启会打断 FTL 的重建过程,这可能让硬盘丢数据。
即使认到盘了,也有可能出现写保护。可以打开 CMD 根据以下步骤操作关闭写保护:
C:\Users\lsz>diskpart
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 1863 GB 0 B *
Disk 1 Online 476 GB 0 B *
Disk 2 Online 465 GB 0 B *
DISKPART> select disk 1
Disk 1 is now the selected disk.
DISKPART> attributes disk
Current Read-only State : Yes
Read-only : Yes
Boot Disk : No
Pagefile Disk : No
Hibernation File Disk : No
Crashdump Disk : No
Clustered Disk : No
DISKPART> attributes disk clear readonly
Disk attributes cleared successfully.
DISKPART> attributes disk
Current Read-only State : No
Read-only : No
Boot Disk : No
Pagefile Disk : No
Hibernation File Disk : No
Crashdump Disk : No
Clustered Disk : No
以管理员身份打开命令提示符执行 bcdedit
命令后,正常来说会得到以下输出:
Windows 启动管理器
--------------------
标识符 {bootmgr}
device partition=\Device\HarddiskVolume1
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale zh-CN
inherit {globalsettings}
default {current}
resumeobject {7b9d4bf4-62ac-11ea-b5c0-80fa5b564e9b}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows 启动加载器
-------------------
标识符 {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows 10
locale zh-CN
inherit {bootloadersettings}
recoverysequence {7b9d4bf6-62ac-11ea-b5c0-80fa5b564e9b}
displaymessageoverride StartupRepair
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {7b9d4bf4-62ac-11ea-b5c0-80fa5b564e9b}
nx OptIn
bootmenupolicy Standard
如果有多余的输出则为其他系统的开机引导。
用 bcdedit /delete <id> /f
删除不需要的引导项,其中 <id>
为 resumeobject 中对应的字符。
需要配置的组策略的路径为: 计算机配置 -> 管理模板 -> Windows 组件 -> BitLocker 驱动器加密
在 BitLocker 驱动器加密 这个根路径下:
BitLocker 驱动器加密 -> 操作系统驱动器:
manage-bde -protectors -add c: -TPMAndPIN
可以为已经加密的 C 盘添加 Pre-Boot PINmanage-bde -status
输出中的 Key Protector 字段显示了用户可以以什么样的方式解密硬盘manage-bde -changepin c:
可以修改 Pre-Boot PINmanage-bde -protectors -add c: -TPM
可以移除 Pre-Boot PIN (也就是开机自动解密)(配置 BitLocker 的时候会提示 '你将不再能够使用 Windows 回复环境,除非手动启用 Windows 恢复环境并将其移至系统驱动器')
在系统盘上建一个恢复分区 (用 diskpart 命令),以管理员身份执行 reagentc /enable
启用恢复分区 reagentc /info
查看恢复分区信息。
凭据管理的路径为 控制面板 -> 用户帐户 -> 凭据管理器 ,也可以使用 Win+R 执行 control userpasswords2 后再从 高级 -> 管理密码 打开凭据管理器。可以从这里删除不再需要的凭据。
其中, Windows 凭据 可以用于连接到 smb 共享或使用 rdp 登录到其他的主机。
双击 smb 目录中的 exe 文件会弹出一个「打开文件-安全警告」对话框,下方有小字:
「此文件位于你本地网络之外的位置。来自你无法识别的位置的文件可能会损害你的电脑。请仅在你信任该位置时才打开此文件。」
要解决这个问题,需要用 Win+R 执行 inetcpl.cpl 或从 控制面板 -> 网络和 Internet -> Internet 选项 打开 Internet 属性 对话框。
在这个对话框内的 安全 -> 选择一个区域以查看或更改安全设置 -> 选中 本地 Intranet -> 点击 站点 -> 点击 高级 进入添加可信网站的对话框。
将 smb server 的 IP 或域名添加到网站列表中即可在执行 smb 中的 exe 文件时不弹出安全警告对话框。
扩容前要确认当前文件系统在创建时使用的簇大小参数:
分配单元大小 (簇/群集大小) | 最大的卷和文件 |
---|---|
4 KB (默认大小) | 16 TB |
8 KB | 32 TB |
16 KB | 64 TB |
32 KB | 128 TB |
64 KB (早期最大值) | 256 TB |
128 KB | 512 TB |
256 KB | 1 PB |
512 KB | 2 PB |
1024 KB | 4 PB |
2048 KB (最大大小) | 8 PB |
Windows Server 2019 及更高版本、Windows 10 1709 及更高版本上,NTFS 支持 8 PB 大的卷 (早期版本最大支持 256 TB)。
如果簇大小选小了,只能导出数据后重新格式化,没有其它方法。
icacls D:\ /setowner <username> /t /c /q
通过任务管理器看到,有一个名为 Microsoft Compatibility Telemetry 的进程经常出现,而且每次出现都会占用很多资源,导致 CPU 或磁盘利用率 100%。
Microsoft Compatibility Telemetry 的中文释义是 微软兼容性遥测 。
打开 控制面板 -> 系统和安全 -> 管理工具 -> 计划任务 ,再进入 任务计划程序库 -> Microsoft -> Windows -> Application Experience 。在中间的窗格中可以看到 Microsoft Compatibility Appraiser 任务的描述为:
如果已选择加入 Microsoft 客户体验改善计划,则会收集程序遥测信息。
显然,用户并不希望微软收集用户的信息。选中这个计划任务,再在右侧窗格找到 所选项 点击 禁用 这个任务就不会再被触发了。
这个问题大多出现在 Windows Server 上面。
以管理员启动 PowerShell 执行 diskperf -Y
。
设置 -> 账户 -> 登陆选项 -> 隐私 -> 更新或重启后,使用我的登陆信息自动完成设备设置并重新打开我的应用 取消勾选。
有些程序只有在用户登入之后才会启动,并且这是自动启动的唯一方式。
一个反例是 V2rayN。这个程序可以使用任务计划程序配置为在开机时,不论用户是否登入都以该用户的身份启动 V2rayN。但在用户真正登入后,无法在右下角的图标托盘中找到 V2rayN 程序的图标。此时可以从任务管理器中看到 V2rayN 程序已经启动。
如果此时再启动一个 V2rayN 则会导致 V2rayN 报错,内容为 v2fly/xray 内核无法监听对应端口。因为开机时启动的 V2rayN 程序已经启动了 v2fly/xray 来监听相应端口,用户登入后启动的 V2rayN 依旧试图启动新的 v2fly/xray 进程来监听已经被监听了的端口,才导致了报错。
所以,用户登入后启动 V2rayN 是让 V2rayN 正确自动启动的唯一方式。为了让程序正确地随机器开机而自动启动,就需要让用户在开机后自动登录。
可以使用微软官方出品的 SysinternalsSuite 套件中的 Autologon.exe/Augologon64.exe 程序来实现开机后用户自动登入的功能:
注意,Autologon 不会验证提交的凭据,也不会验证指定的用户帐户是否允许登录到计算机。尽管密码在注册表中作为 LSA 机密 加密,但具有管理权限的用户可以轻松检索和解密密码。
若要关闭自动登录,则需要在输入用户名之后点击 disable 。此外,如果在系统执行自动登录之前按住 Shift 键,则将为该登录禁用自动登录。
也可以使用手动配置注册表的方式来完成开机后用户自动登录的功能,以下是需要配置的注册表内容:
(太麻烦,推荐使用 SysinternalsSuite 里的 Autologon.exe)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"
"DefaultUserName"="<username>"
"DefaultPassword"="<password>"
; 如果加入了域,还需要下面这条
; "DefaultDomainName"="<fqdn>"
如果手动操作注册表的话,注意上面三 (或四) 个项目的类型都是字符串,即 REG_SZ 类型。可以先到对应注册表路径中看一下这些项目是否存在,原始值是什么。
ms-resource:applistname
在设置里看到这个应用的信息为人脉应用。无法使用右键选项卸载。
下面提供卸载方法:
以管理员身份运行 PowerShell,执行 Get-AppxPackage -AllUsers
获取系统所有已安装应用列表,从列表中找到要卸载的应用的全称,对应 PackageFullName 条目。可以把结果复制到记事本中查找关键字。
找到应用包全名称后,执行 Remove-AppxPackage <PackageFullName>
将 <PackageFullName>
替换为应用包全称即可卸载指定应用。
其他诸如照片、xbox 与天气等应用也能通过这个方法卸载。
OneDrive 会自动强制更新到最新版,而最新版 OneDrive 有 Bug: 文件资源管理器导航窗格中的 OneDrive - Personal 条目在系统注册表中没有相应的键值定义。
这个问题目前已知在 Windows LTSC 2019, LTSC 2021 两个版本的 LTSC 系统中都存在。
解决办法: 将正常 OneDrive 注册表键值合并到最新版中。
注: 网上有教程说,通过编辑组策略的方式让 OneDrive 更新延期圈的版本而不更新生产圈的版本,以使得 OneDrive 停留在没有 Bug 的版本。这个方法没有用,因为目前已知 OneDrive 22.077.0410 在 LTSC 中没有 Bug,而这个版本即使在延期圈也会被更新到有 Bug 的 22.196.0918.0001 版本。所以,只能靠合并注册表的方式来修复此 Bug。
以下是正常 OneDrive 注册表的键值,将文本保存到 onedrive_repair.reg 文件中双击运行即可:
Windows Registry Editor Version 5.00
; for 64bit OneDrive
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\52BBA46-E9E1-435f-B3D9-28DAA648C0F6}]
"Attributes"=dword:00000001
"Category"=dword:00000004
"DefinitionFlags"=dword:00000040
"Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,34,00,30,00,00,00
"LocalizedName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
00,5c,00,53,00,65,00,74,00,74,00,69,00,6e,00,67,00,53,00,79,00,6e,00,63,00,\
43,00,6f,00,72,00,65,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,30,00,32,\
00,34,00,00,00
"LocalRedirectOnly"=dword:00000001
"Name"="OneDrive"
"ParentFolder"="{5E6C858F-0E22-4760-9AFE-EA3317B67173}"
"ParsingName"="shell:::{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
"RelativePath"="OneDrive"
; for 32bit OneDrive
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{A52BBA46-E9E1-435f-B3D9-28DAA648C0F6}]
"Attributes"=dword:00000001
"Category"=dword:00000004
"DefinitionFlags"=dword:00000040
"Icon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,34,00,30,00,00,00
"LocalizedName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
00,5c,00,53,00,65,00,74,00,74,00,69,00,6e,00,67,00,53,00,79,00,6e,00,63,00,\
43,00,6f,00,72,00,65,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,30,00,32,\
00,34,00,00,00
"LocalRedirectOnly"=dword:00000001
"Name"="OneDrive"
"ParentFolder"="{5E6C858F-0E22-4760-9AFE-EA3317B67173}"
"ParsingName"="shell:::{018D5C66-4533-4307-9B53-224DE2ED1FE6}"
"RelativePath"="OneDrive"
在命令提示符使用如下两个命令可以禁止进入修复模式:
bcdedit /set {default} bootstatuspolicy ignoreallfailures
bcdedit /set {current} recoveryenabled No
可以用如下命令恢复其原本的值:
bcdedit /set {default} bootstatuspolicy IgnoreShutdownFailures
bcdedit /set {current} recoveryenabled Yes
如果已经进入修复模式,那么点击命令提示符,执行下列命令即可:
Bootrec /fixmbr
Bootrec /fixboot
bootrec /RebuildBcd
打开 控制面板 -> 系统和安全 -> 管理工具 -> 计划任务 ,再进入 任务计划程序库 -> Microsoft -> Windows 在中间的窗格中可以看到 AitAgent 和 ProgramDataUpdater 两个任务都会收集遥测信息 (就是把系统及程序的相关信息上传到微软)。
显然,用户并不希望微软收集用户的信息。选中这两个计划任务,再在右侧窗格找到 所选项 点击 禁用 这个任务就不会再被触发了。
清除 Windows 中的图标缓存后,Windows 会自动重建对应的图标缓存。
把以下指令保存到 .bat 文件后,执行此 .bat 文件以清除图标缓存 (可以多执行几次):
rem 关闭Windows外壳程序explorer
taskkill /f /im explorer.exe
rem 清理系统图标缓存数据库
attrib -h -s -r "%userprofile%\AppData\Local\IconCache.db"
del /f "%userprofile%\AppData\Local\IconCache.db"
attrib /s /d -h -s -r "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\*"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_102.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_256.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_1024.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_idx.db"
del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_sr.db"
rem 清理 系统托盘记忆的图标
echo y reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v IconStreams
echo y reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v PastIconsStream
rem 重启Windows外壳程序explorer
start explorer
下面的用法只适用于 Windows Server 2008R2 SP1 或者 Windows 7 SP1,注意必须安装 SP1 才行。
解决方法是安装下面列出的两个补丁包,注意选对操作系统和架构,Windows 7 和 Server 2008R2 的补丁包是同一个文件:
https://www.catalog.update.microsoft.com/search.aspx?q=kb4474419
https://www.catalog.update.microsoft.com/search.aspx?q=4490628