让你的Windows系统盘保持苗条
很多TX经常抱怨C盘空间过小带来的一系列的问题,其实对于Windows7来说,系统盘(一般为C盘)只需10G就足够,当然是执行完接下来说的操作之后的情况下,并且系统盘会一直保持有3G左右的空闲空间。让Windows系统盘保持苗条,最可靠的办法是稳定地移动系统盘中ProgramFiles、Users(Win7)、ProgramData(Win7)等Usercreate内容目录到非系统盘,使得Windows系统盘不再随着安装软件以及使用时间而日益臃肿。
在 NTFS 分区中,有一项非常值得推荐但基本上已被人们遗忘的特性——junction,它类似于 Linux/Unix 系统下通过 ln 命令创建的软链接或硬链接。
以下是具体操作的精简版步骤(假设将 Windows 7 系统盘 C 中的 Program Files、Users、ProgramData 移动到 D 盘):
一、复制 Program Files 目录
不能直接使用资源管理器复制,我们需要使用 xcopy 命令来保留此目录的所有权限设置:
xcopy "C:\Program Files" "D:\Program Files" /E /H /K /X /Y /C (此命令将文件从 C 盘复制到 D 盘,具体参数的含义可参考 xcopy /?)
二、修改注册表
修改注册表,将相关路径指向新位置:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion]
"ProgramFilesDir"="D:\Program Files"
"CommonFilesDir"="D:\Program Files\Common Files"三、重启后关闭 iphlpsvc 服务
因为该服务使用了 sqmapi.dll,所以需要关闭:
net stop iphlpsvc四、删除或重命名原 C:\Program Files 目录
可以将其删除或暂时重命名,例如改为 "C:\Program Files_old"。但在此之前,需要先取得所有权并添加改写权限,建议使用 XT 工具来实现此目的。
五、创建 Junction 文件夹映射
使用以下命令创建链接:
mklink /J "C:\Program Files" "D:\Program Files"可通过 mklink /? 查看具体参数含义。
六、复制 ProgramData 目录
使用 xcopy 复制 ProgramData 目录:
xcopy C:\ProgramData D:\ProgramData /E /H /K /X /Y /B /C 七、修改注册表
修改注册表,将相关路径指向新位置:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Folders]
"Common Desktop"="D:\Users\Public\Desktop"
"Common Start Menu"="D:\ProgramData\Microsoft\Windows\Start Menu"
"CommonVideo"="D:\Users\Public\Videos"
"CommonPictures"="D:\Users\Public\Pictures"
"Common Programs"="D:\ProgramData\Microsoft\Windows\Start Menu\Programs"
"CommonMusic"="D:\Users\Public\Music"
"Common Administrative Tools"="D:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools"
"Common Startup"="D:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
"Common Documents"="D:\Users\Public\Documents"
"OEM Links"="D:\ProgramData\OEM Links"
"Common Templates"="D:\ProgramData\Microsoft\Windows\Templates"
"Common AppData"="D:\ProgramData"八、重启后处理 C:\ProgramData 目录
重启后,可将 C:\ProgramData 目录删除或暂时重命名。同样,需要先取得所有权并添加改写权限,建议使用 XT 工具。
九、创建 ProgramData 的 Junction 文件夹映射
使用以下命令创建链接:
mklink /J C:\ProgramData D:\ProgramData十、修改其他注册表项
修改以下注册表项,将涉及到的盘符从 C 改为 D:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]下的Default、ProfilesDirectory、Public三个值的数据。[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListS-1-5-21-3843801140-3458922274-3296897442-500]下的ProfileImagePath数据改为D:\Users\Administrator。[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]下有关 C 的改为 D。[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]下的数据中,将包含C:\Users的都改为D:\Users。
十一、复制 Users 目录
使用 xcopy 复制 Users 目录:
xcopy C:\Users D:\Users /E /H /K /X /Y /B /C十二、注销并重新登录
注销并重新登录系统,然后删除 D:\Users\Default User 目录。
十三、创建 Junction 并解决权限错误
创建链接并解决权限问题:
mklink /J "D:\Users\Default User" D:\Users\Default
cacls "D:\Users\Default User" /S:" D:PAI(D;;CC;;;WD)(A;;0x1200a9;;;WD)(A;;FA;;;SY)(A;;FA;;;BA十四、删除原 C:\Users 目录并创建 Junction
删除 C:\Users 目录,并创建链接:
rm /s /q C:\Users
mklink /J C:\Users D:\Users完成上述操作后,Windows 系统盘将不再随着软件的安装和使用时间的增长而变得越来越臃肿。
「倘若有所帮助,不妨酌情赞赏!」
感谢您的支持!
使用微信扫描二维码赞赏
这样的习惯我也曾经也有过很长一段时间,非固态时期这样的方法的确很有用
@林檀
这么多年下来已经离不开固态硬盘了~