查看: 3909|回复: 3
收起左侧

[求助] 【澄空&远景论坛首发】WIN8下安全的移动Metro应用文件夹。

[复制链接]
陌上~烟雨遥
发表于 2012-9-15 10:34:11 | 显示全部楼层 |阅读模式
    转载自远景论坛,原作者:xiaoqiyun  原帖连接:http://bbs.pcbeta.com/viewthread-1135209-1-1.html
   
    这个问题一开始其实就困扰着不少人,虽然多了一个Metro是很不错,不过无奈需要安装的诸多应用会因为如此强制被安装在%SystemDrive%\Program Fiels\WindowsApps文件夹下,结果就是要装Metro之前就非得纠结系统盘容量以及碎片等诸多问题。

    对此微软官方并没有提供什么解决方法(虽然论坛里有一个让你更改注册表内默认Program Files文件夹的方法不过非常坑爹),于是这篇文章就是教各位如何将Metro应用的文件夹改到其他盘符下且保证Metro运行正常的同时保证其拥有和原本文件夹下相同的安全性。

    在进行更改前,你至少需要准备一张能够正常引导你进入Windows7 PE系统的U盘或硬盘或者光盘之类的东西,记住,必须是WINDOWS7,至于到底为何下面会提到。

    然后开始,先打开%SystemDrive%\Program Files文件夹(x86、x64通用,不再赘述)显示隐藏文件,你会看到一个被隐藏的WindowsApps文件夹,这就是Metro应用的默认文件夹。

    对它点右键->属性,在打开的属性窗口中选择安全选项卡,这时你会发现你在安全选项卡里会看到不具有读取权限的权限,所以只能点下面的高级。

    在进入的高级安全窗口中,点击所有者后方的更改,将其更改为你的用户,这里需要注意的是Windows8的用户不再与从前的Windows版本相同,而是是用的是你的WindowsLive账户,所以这里填入的账户必须是你登陆的Live账户邮箱才能正常被登记,而不是输入你的用户名称。

    更改所有者之后点下面的替换子容器所有者,点击应用,应用之后就可以看到下方的权限选项卡列出了一大堆权限,随后,再在权限里添加你的账户为该文件夹完全控制并将其应用到所有子文件夹以及文件的权限,然后就开始就需要准备好截图工具了。

WIN8METROMOVE1.jpg
这里除了权限为"完全控制"之外的账户都需要单独点卡其详细的权限选项卡查看其高级权限并截图,如下图示
WIN8METROMOVE2.jpg
在对这些选项卡截图完毕之后,进入WindowsApps文件夹,随便对里面一个文件夹查看安全选项卡,你会看到里面多出来两个非继承权限,如下图:
WIN8METROMOVE3.jpg
    如上所述也针对这两个特殊的权限进行截图,并保存以上全部截图后,就可以开始重启计算机了。

    重启后进入WIN7PE,将WindowsApps文件夹直接剪切到你想要存放它的位置,接下来就是关键的一步,上面提到的为啥要用Win7PE的理由也就是在这了。

    打开命令提示符,将其定位到原%SystemDrive%\Program Fiels文件夹下,输入命令:
  1. mklink /j WindowsApps <你移动的WindowsApps文件夹的路径>
复制代码
回车,命令成功后,你会在原本的%SystemDrive%\Program Fiels下看到一个新的WindowsApps文件夹图标。

    Mklink命令其实是一个符号链接命令,该命令在PE版系统中只有VISTA以及WIN7PE才能支持,所以这里才需要使用WIN7PE,如果想了解关于符号链接知识的童鞋请移步维基:符号链接

    成功建立符号链接之后,再次重启,这次进入Windows8系统。

    记得上面的截图么?先进入%SystemDrive%\Program Fiels将符号链接的WindowsApps文件夹的权限按照截图内的权限设定。

    这里很多人会碰到第二个问题,就是关于TrustedInstaller权限无论怎么添加都添加不进去。

    其实这里只需要输入用户为NT SERVICE\TrustedInstaller再添加,你会发现TurstedInstaller权限添加成功。

    至于道理为何,简单的说TrustedInstaller权限其实比我们常用的Administrators组更高一个级别属于NT系统底层服务级别的权限,所以如果你直接输入TrustedInstaller默认是从你所具有的权限层去寻找该权限,那自然就没有了,所以在前面需要加入一个定位NT Service。

    这边添加完毕之后,转过头去被移动的WindowsApps文件夹下也如法炮制,但是移动的WindowsApps这边记得将所有者先放一下别更改,同时权限内先将你的账户添加为安全控制应用到所有子文件夹及文件内。

    于是这里开始有人要明白了,不会要我下面的每个子文件夹内那两个特殊的权限也要用这么蛋疼的办法手动添加吧?那万一我应用多还不被玩死?

    自然是不会用这么蛋疼的手动添加方法,所以,又得打开管理员权限的命令提示符了。

    这里提一下,Windows8内在UCA启用时打开管理员权限的命令提示符的快捷操作为:按下Windows键打开开始菜单,直接键入cmd,按下Ctrl+Shift+Enter。

   打开提示符之后,将提示符定位进入移动的WindowsApps文件夹下,这里开始需要第二个提示符命令了
  1. icacls  * /grant "users":(OI)(CI)(RX)
复制代码
执行之后,再次执行:
  1. icacls  * /grant "ALL APPLICATION PACKAGES":(OI)(CI)(RX)
复制代码
再查看一下WindowsApps文件夹内的子文件夹,发现了吗?它们已经都被添加上你原来截图内的权限了。

    然后,再打开开始菜单进入几个Metro应用,下载几个XBOX游戏,如果一切工作正常,那么就大功告成了。

   祝各位好运。

     PS:很多人可能会觉得干脆直接添加一个完全控制的Everyone账户就直接结了,但是这样其实会造成一部分应用出现直接跳出等BUG,而且就算再多添加一个TrustedInstaller账户之后就算这些Metro应用可以运行,但是这样的做法也不符合我所写的"安全"二字,毕竟Metro应用的默认权限配置确实是避免了Metro应用的越权行为,所以为了安全考虑希望各位还是稍微多费点事按照帖子的要求来做。


   


评分

参与人数 1经验 +15 收起 理由
mengld + 15 版区有你更精彩: )

查看全部评分

夜ㄝ殇
发表于 2012-9-16 15:18:19 | 显示全部楼层
确实这么做有点麻烦。暂时还是观望win8吧。感谢lz的分享
huaxuefeng
发表于 2012-9-29 08:15:40 | 显示全部楼层
貌似很复杂,能不能做个一键啥的?
phoenix87
发表于 2012-9-29 08:56:06 | 显示全部楼层
mklink好强大,各种应用啊。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-12 15:49 , Processed in 0.140280 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表