分享

[完整版]小容量C盘有救啦——成功转移Metro应用安装目录

 昵称8833669 2012-12-02
经过数天的实践,终于发现了Metro应用原来可以不再C盘运行,我已经转移到了D盘,而且不是用映射,是直接读取的。没有任何副作用和安全性的问题。之前走了很多弯路,只是因为注册表的权限问题。我甚至尝试把整个ProgrameFiles 路径转移出系统盘都没能改变Metro应用的安装位置。那么下面会简略的讲一下操作过程。PS:本人很少上论坛,也没有时间说得太详细。这说的已经比较直白了,有点基础的人应该看得懂的。
1,卸掉你所有Metro应用(这是转移的前提,已经安装的应用是无法转移的,因为注册表已经记录了安装位置,要改大量的路径不现实,所以要统统卸掉。)那么结果是只剩下桌面、IE10 和应用商店。
2,进入PE,最好是Win7PE ,因为我木有用过早期PE,不知道有没有那功能。在PE里面显示隐藏和系统文件,找到 C\Program Files\WindowsApps文件夹,获取管理员权限,进去里面会看到有Windows默认的应用,理论上是可以统统删掉的(不过我没删,所以也不知道删掉的后果,不过我想应该不会有问题,因为Ie10和应用商店并不在那里面,求小白鼠试一下)
3,进入WinPe ,必备的软件是Wim工具。 在这里简略说一下Wim的重要性。会看权限的人应该明白WindowsApps文件夹的所有者是TrustedInstaller,即使获取管理员权限也只能读取。因此这种权限为Metro应用提供了足够的安全性,一般病毒无法入侵,也无法更改文件夹里的任何内容。我们要更改,就需要改变所有者。但我们一但改变所有者,就再也无法在把所有者变回TrustedInstaller,相当于这个文件夹可以被系统进程任意读写了,也就失去了安全性。而在PE里面,我们显然可以无视TrustedInstaller这个所有者而对文件夹进行复制和剪切操作。但即便是剪切一个文件夹,它的所有者也会变成SYSTEM。原来的权限没办法移植到新的文件夹上。但是通过Wim工具,我们就可以对文件夹或者文件的权限进行完全拷贝。我们只需要把一个文件夹打包成Wim映像,然后在新的位置解压。生成的文件夹便具有原文件夹的所有权限(包括里面每一个文件的权限)。所以我们必须在PE里面把C盘的WindowsApps打包成Wim,然后在D盘解压(即便是个空文件夹也必须那么做)然后回到Win8,看看移植的WindowsApps文件夹,如果你无法打开它,那就成功了~
PS:使用Wim打包的这一步,仅仅是出于保留Metro应用原有的安全性而做的。如果你觉得没必要,你可以直接复制WindowsApps文件夹。(我所使用的Win7PE版本对文件夹右键是可以直接打包Wim的,但我并不知道那是什么版本的PE。。。。)
4,接下来是注册表操作,Win+X以管理员身份运行CMDregedit打开注册表。至于具体路径,因为实在是太长啦我看着都头晕,干脆直接搜索吧!因为只有一个匹配项,绝对不会错的,直接查找“C:\Program Files\WindowsApps”勾选“全字匹配”,就是名为PackageRoot一项   !(或按WIN+R 打开运行,输入:regedit  打开注册表  找到 :HKEY_LOCAL_MACHINE-------SOFTWARE-------Microsoft--------Windows------CurrentVersion--------Appx之后看到右边有 PackageRoot  字符之后,把路径改在别的盘(比如:D:\Program Files\WindowsApps)(需要先修改权限,不然无法进行修改)   先在D盘创建文件夹。之后把路径C:\Program Files\WindowsApps  替换成   D:\Program Files\WindowsApps
                           
1.png
这一项就是Metro应用的安装目录。改成你拷贝Apps文件夹的位置。看到这里,以为行了?你改改看?改不了吧?
5,修改权限,找到 注册表左边的 CurrentVersion--------Appx 点击右键-------找到  权限
1.jpg

点编辑里的权限,可以看到这一项只有TrustedInstaller可以完全控制,不过我们可以改

2.png 

点“高级”进去,看左上角的所有者是TrustedInstaller(我改完才截的图所以。。。)点“更改”,弹出的对话框点“高级”3.png

然后是立即查找,找到自己电脑现在登陆着的账号

4.png

这个作为所有者也是比较安全的,只有你自己可以更改,你甚至可以把其他用户的写入权限给去掉。所有者设置好后,给系统管理员(双击)添加“完全控制”的权限,如下

5.png

然后确定即可,这时你就可以改PackageRoot的路径了。

6.png

改完之后重启生效,如果你想验证一下是否成功,你可以试一试上应用商店随便装个应用。然后进PEC盘的Programe Files\WindowsApp文件夹直接直接删掉(虽然迟早都要删)如果应用没掉,那么可能是注册表那一步弄错了。回到Win8,你会发现刚才下的应用安然无恙,还能打开。反正我是一次就成功,没有出现任何副问题,刚开始会有应用装完之后打不开,卸载了再安装一次就成功了。我现在已经装了几十个应用,都能成功打开,C盘也没有再出现WindowsApp文件夹了。之所以要分享出来,是当我刚开始遇到这个问题,上百度找了几天,都没找到解决办法,所以我必须写出来,让受同样困扰的人走出困境。我不求回报,只是分享自己的经验而已。
顺带说一下,Win8的体积优化大概就这几点:

转移虚拟内存——休眠文件大小设置为50%——删除驱动备份升级补丁备份——转移用户文件夹(AppData——转移各种TEMP(环境变量)——转移Metro应用。

有网友问“C盘搬家”之类的,能不能对Win8使用,其实质就是上面转移用户文件夹的那一步,移动用户文件(例如桌面)是可以的,但移动“应用程序配置”风险非常大!win8对Appdata文件夹相当敏感!我试过在PE下复制Appdata文件夹到非系统盘,然后修改对应注册表,也会导致Metro界面出不来,所以用软件进行转移,风险是相当大的,因为Metro出不来就进入不了传统桌面,就无法再更改注册表,只能重装。

不过正确的操作方法是可以顺利转移的。必须在PE里用Wim工具打包克隆整个Appdata文件夹到非系统盘(原文件夹必须保留,可以手动删除应用配置,大概只剩50M)。然后就可以用Win7优化大师进行转移(系统优化——系统文件夹——选更改后择不移动文件)不过懂注册表的最好自己手动改注册表)(PS:这货确实是可以在Win8用的,删除驱动备份和升级补丁备份那一步还必须靠它(系统清理),其他东西就千万不要乱优化了(尤其是清理注册表,会变砖的!毕竟和Win7不一样)

如果软件不装在C盘的话,那么转移后系统C盘大概会占用12~14G 增大后应该不会超过16G,因此只留了20GC盘装win8也是可以接受的,不必用担心C盘会红。使用32GSSD也是个不错的选择。
所以如果上面列出的优化都有做的话,那么Win8系统是不可能塞满20G的。

补充内容 (2012-11-8 03:46):
泪流满面终于可以补充了,要告诉大家一个BUG,就是无论用mklink还是改注册表,都会导致原生系统自带应用无法安装成功,例如照片天气联系人那堆。不用试了。解决办法就是保留C盘Apps文件夹,用PE删掉不用的包。

补充内容 (2012-11-8 04:29):
泪流满面啊,终于可以补充了,最近发现了BUG一直不知道怎么发布。就是无论用mklink还是改注册表都会导致系统自带应用无法安装或闪退(除了游戏和音乐),唯一解决办法就是保留C盘的Apps文件夹,PE进去删掉不用的东西

补充内容 (2012-11-8 04:34):
所以有很多人反映弄不成功,有一部分是因为系统自带的应用装不上了,如果不删除C盘的WindowsApps文件夹,是可以正常运行的(已经改了注册表的情况下。)但是一旦卸载之后就不能安装。注册表改回C盘则可以安装。

补充内容 (2012-11-8 04:44):
总的来说,遇到不能安装的应用(多为原来自带),只能让其留在C盘(改注册表前先安装好)。而且千万不要手贱点卸载,否则要把注册表改回来(再重启)才能重新安装。但其他商店里下的应用则可以不安装在C盘。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多