Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

Win7/Vista 巧用 mklink.exe 实现系统和用户文件的分区存放

2010-1-4 15:56| 发布者: pcBeta| 查看: 1558| 评论: 27|原作者: wonsm|来自: 景友分享

收藏 分享
摘要: 最近因为升级WM上的两个小程序,又重新玩起了Windows系统,正好听说Windows7发布了Beta以及官方中文语言包,就顺便安装了一下,发现Windows7确实在性能和资源占用上要比Vista有不少的改进,特别是系统启动速度快了不少,稳定性不相当不错,看来MS这两年没少花工夫。好了废话不说转 ...

最近因为升级WM上的两个小程序,又重新玩起了Windows系统,正好听说Windows7发布了Beta以及官方中文语言包,就顺便安装了一下,发现Windows7确实在性能和资源占用上要比Vista有不少的改进,特别是系统启动速度快了不少,稳定性不相当不错,看来MS这两年没少花工夫。好了废话不说转入正题!

之前一直在玩ubuntulinux,被它那清晰高效的文件系统和文件结构所深深折服,特别是它的系统文件的结构,可以完全将系统文件和用户自己的文件(包括用户自己的文档、图片等内容和用户自己的大量配置文件)放在完全不同的分区内,这样当系统需要升级或重装时,存放用户文件的分区根本无需有任何变动,当系统重装后,只有还是用这个用户名,那你所有文档和设置都将和重装前完全一样!这就省去了大量的时间和精力,也保证了用户自己重要文件的安全性!

而Windows在安装的时候是无法实现这样的分区存放方式的,但从Vista开始,微软提供了一个它至少10年前就应该提供的文件系统的功能:符号链接,命令行工具是mklink.exe(相当于linux下的ln),这是一个在linux广泛使用的功能,说的简单一点,有点像Windows的.lnk文件,但又完全不一样,一样之处在于访问它和访问目标文件本身没什么区别,不一样之处在于所有第三方程序都需要自己去解析这个.lnk文件,而不像符号链接那样对程序是无缝透明的!

那么这个Vista提供了link有什么好处呢,至少第一个好处就是,当我们安装完Vista或Windows7时,发现系统盘下面没有了名字又长又难以理解的"Documents andSettings"目录,事实上它被当成系统文件隐藏起来了,当你用dia/a的时候还能看到它,但它被link到了另一个新目录:ProgramData,这可以说是Windows的一大改进,它把软件生成的数据和用户自己的数据分离开来了,原先的"Documents andSettings"里的内容事实上被分开来放在”\ProgramData“和”\Users“这两个地方,而后者更像是linux的home目录,或者OSX的Users目录,它将所有用户自己的配置文件(包括注册表的HKEY_LOCAL_USER的内容)以及“我的文档”、“我的图片”之类的用户自己的内容都放在了一起,当然,配置文件相当的都放在一个隐藏的叫“AppData”的目录下面,它和“我的图片”之类都位于“\Users\我的用户名”下面,这几乎和linux以及OSX的文件结构完全一致!

上面说了这么多的铺垫,不知道大家看明白了没,接下来才是最关键的部分了。以上所有这些目录在系统安装完以后,都还在同一个分区下面,一般情况下都是在C:\下面,也就是说C:\Windows和C:\Users都在一起,这样万一我的系统坏了需要重新就很麻烦了,我得先把“C:\Users\我的用户名”目录里的东东都先备份出来(当然你可以说你自己的文件都不是放在C盘里的或者你自己重新定义了“我的文档”的位置,这另当别论,至少你没有好好利用这个目录。而之前像“番茄花园”之类的XP优化版都是默认将“我的文档”重定向到D盘或其它盘上的,这也是为了更方便的让用户管理自己的文档)。

而现在我们有了更方便的方法,那就是用mklink.exe这个小工具,以下是一些简要的步骤:

1。在“计算机管理”里把Administrator用户激活,注销后用Administrator登录;

2。把“C:\Users\我的用户名”整个目录移到其它盘上,假设移到“D:\我的用户名”;

3。用mklink.exe创建目录链接:mklink.exe /D C:\Users\我的用户名 D:\我的用户名,提示会显示链接已经建立,并且会有“<==>”这样一个符号告诉你这两个目录是等同的;

4。重新登录你自己的帐号,发现一切都没有变化,变化的只是你的文件将和系统分离,它们将更安全!

5。下次重装时,还用同一个用户名,先用Administrator登录后把新系统中的"C:\Users\我的用户名"删除(否则mklink.exe会报无法创建链接),再用第3步把你位于D盘上的目录重新做下链接即可

如果你登录系统就是用的帐号本身就是Administrator怎么办?用PE启动!有人已经在PE下测试过mklink.exe是可用的,当然在PE下你得用绝对路径来执行,在系统分区上搜索一下mklink.exe所在的目录即可。

前几天我的Windows 7总是无法与PPC同步,就重装了一下,用上面的步骤重新后,发现我所有的用户相关的配置都还存在,包括注册表里的HKEY_LOCAL_USER的内容,收藏夹,IE的cookies,等等内容。。。

用mklink.exe实现系统和用户目录分离只是一个简单应用,事实上有了链接这个功能后,我们还能将更多的东西分离出来存放,比如Windows的Temp和Log目录等(可以参考这个帖子:http://www.51nb.com/forum/tid774315),这些在linux都是完全可以独立挂载到其它分区上的,要是Vista/Windows 7在安装的时候就能让用户选择将用户目录重定向到其它分区就完美了!

更多Windows 7 技巧讨论,请移步至远景论坛 Windows 7版块(http://bbs.pcbeta.com/forum.php?gid=181


1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

发表评论

最新评论

2009-5-13 19:51 PCBETA网友 ..*.*
强贴!!I Like !
2009-5-13 19:48 PCBETA网友 ..*.*
学到新东西,好高兴
2009-5-13 19:43 PCBETA网友 ..*.*
这样系统盘就要装纯系统,所有其他目录都要移到别的盘.否则重装后用户配置文件和实际系统对不上号.
2009-5-13 19:29 PCBETA网友 ..*.*
这种情况 其实直接改 那些文件的location 更方便吧~
papayaxp 发表于 2009-5-13 19:16

改location要改很多次。。每次重装都要改一次。。
这个命令主要是重装之后一次搞定 而且很多程序配置文件和系统的配置都不用重新去设了~~
2009-5-13 19:18 PCBETA网友 ..*.*
图形化操作简单易懂,敲命令真的很累的。不知道现代人都懒嘛
2009-5-13 19:16 PCBETA网友 ..*.*
这种情况 其实直接改 那些文件的location 更方便吧~
2009-5-13 19:11 PCBETA网友 ..*.*
原来得用mklink /D C:\Users\Echo E:\Echo
不需要exe后缀。
2009-5-13 18:58 PCBETA网友 ..*.*
刚在win7下尝试了下 提示失败~
C:\Users\Administrator>mklink.exe /D C:\Users\Echo E:\Echo
The syntax of the command is incorrect.
2009-5-13 18:44 PCBETA网友 ..*.*
哇 这个太强大了 学习了~!!!!
2009-5-13 16:20 PCBETA网友 ..*.*
不错,顶一下,收藏。
2009-5-12 14:13 PCBETA网友 ..*.*
好帖,收藏
2009-5-12 10:52 PCBETA网友 ..*.*
好文章,支持一下
2009-5-12 01:17 PCBETA网友 ..*.*
符号链接其实windows2000里就有了,只是没有直接提供命令而已
2009-5-12 01:11 PCBETA网友 ..*.*
我新装的WIN 7100 rc怎么没有mklink这个命令啊
2009-5-9 15:17 PCBETA网友 ..*.*
本帖最后由 lmzrh 于 2009-5-9 15:19 编辑

6# tsorgy

问下怎么把建立的JUNCTION设置成系统属性啊
attrib +s +h +r ***X
这样修改的是目标文件夹的属性,那个JUNCTION属性不变,,,,怎么办啊
tsorgy 发表于 2009-2-26 14:13


添加一个命令行选项“/L”就可以了,如:attrib +s +h /L junction,这样就会把系统属性应用到junction上而不是junction所指向的目标文件夹了。
2009-5-9 14:56 PCBETA网友 ..*.*
很好的方法,测试可用。
2009-2-26 20:40 PCBETA网友 ..*.*
路过,来看看
2009-2-26 14:51 PCBETA网友 ..*.*
微软一直在眼睛linux,看来学了不少东西,那个ln命令的确很有用。
2009-2-26 14:46 PCBETA网友 ..*.*
这个是对那些精简系统的高手们去制作GHO版本有用到啊
2009-2-26 14:40 PCBETA网友 ..*.*
在xp里用过junction, mklink看来是同一个功能吧
前提是ntfs分区才行

查看全部评论(27)

验证码 换一个
远景网官方微博 远景网人人小站
投递新闻
回顶部
Copyright (C) 2005-2019 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件