Windows7中如何把“用户文件夹”设置在非系统盘?

by 李笑来 on 2009/11/22

in 计算机相关

Windows7的用户文件夹默认所在位置是系统盘(通常是C盘)下的“\Users”目录之内。该文件夹中储存着所有的用户生成文件,比如你保存在“桌面”上的文件(实际上是保存在C:\Users\YourUserName\Desktop目录之中),再比如你保存在“我的文档”里的文件(实际上是保存在C:\Users\joe\Documents目录之中)。

而随着Windows里安装的软件越来越多,就会有越来越多的“用户生成文件”被保存在“用户文件夹”里。在资源管理器的地址栏里输入“%AppData%”之后回车,就可以看到有多少软件把用户生成数据保存在那里:

appdata

用户文件夹处于系统盘的坏处在于,如若系统盘一旦坏掉,就可能连带用户文件一并丢失;其次,由于(随着使用不断生成的)用户文件处于系统盘,也没办法时常备份“干净的系统盘”。

如果能把用户文件夹挪到另外一块儿硬盘上(或者另外一个硬盘分区上),那么系统维护就会容易得多。平时生成的文件(大多数人放在“桌面”、“我的文档”里的文件最多),都被保存在系统盘(或分区)之外;于是随时都可以在不必担心用户文件丢失的情况下重新安装系统(或恢复系统备份)。


注意,以下假设你想把用户文件夹设置在D盘,假定D盘是NTFS分区。

在安装Windows7的过程中,要求输入用户名及密码的时候,先不如输入任何信息,按“Shift+F10”呼出DOS窗口,输入以下命令:

robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ
rmdir “C:\Users” /S /Q
mklink /J “C:\Users” “D:\Users”

而后关闭DOS窗口,按部就班继续安装直至完成。

如此安装的Windows7,所有“用户特殊文件夹”(User Special Folder)的内容都已经被设置在D盘(非系统盘)上。


如果想要移动已安装好的Windows7中的用户文件夹,那么就要按以下步骤操作(稍微麻烦一点,并且过程中可能会出现无法拷贝文件的情况):

computer-managment-administrator

0. 关闭所有应用程序;
1. 按一下“Windows”键,输入“计算机管理”之后按“Enter”,呼出“计算机管理器”;
2. 鼠标点击“Administrator”,选择属性,而后在随后的对话框中去掉“帐户已禁用”之前的勾,而后关闭“计算机管理器”;
3. 注销当前用户(注意,不是“切换用户”),而后以“Administrator”登录
4. 打开命令行窗口,输入以下命令:robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ /XD “C:\Users\Administrator”
5. 注销Administrator,重新用你的用户名登录Windows7,而后到“计算机管理器”里禁用Administrator;
6. 以管理员身份打开一个DOS窗口,输入以下命令:
rmdir “C:\Users” /S /Q
mklink /J “C:\Users” “D:\Users”

搞定。

{ 1 trackback }

清欢 » 像备份家具一样地备份系统用户配置
2010/04/29 at 00:48

{ 34 comments… read them below or add one }

1 hfantasy 2009/11/22 at 01:54

悲剧,我的只有一个可以用得硬盘分区~

Reply

2 ashi 2010/07/30 at 20:17

刚用win7,太相信这种山寨方法了,结果

Reply

3 cnchenzw 2009/11/22 at 03:22

已经用上了win7了?什么版本啊?

Reply

4 泽林 2009/11/22 at 10:24

笑来老师你好,我的经验是:
全都安装好之后,用管理员账号登陆,把那些文件夹直接剪切复制到另一个盘符去。
这个非常傻的方法在win7似乎是直接管用的……

follow me on twitter:

Reply

5 李笑来 2009/11/22 at 10:35

to 泽林: 那么做好像并不解决问题。

follow me on twitter:

Reply

6 vicent 2010/01/06 at 17:29

我在装系统时,按你说的试了下,结果系统进不了,提示“user profile service服务未能登录,无法加载配置”,是怎么回事啊?要怎么办?

Reply

7 blisdom 2009/11/22 at 12:10

我一般用一种跟干净的方法,需要在安装的时候指定安装参数,具体如下:
建立一xml文件,内容为
================

<?xml version=”1.0″ encoding=”utf-8″?>
<unattend xmlns=”urn:schemas-microsoft-com:unattend”>
<settings pass=”oobeSystem”>
<component name=”Microsoft-Windows-Shell-Setup” processorArchitecture=”x86″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS”> 
<FolderLocations>
<ProfilesDirectory>D:\MyProfile</ProfilesDirectory>
</FolderLocations> 
</component>
</settings>
</unattend>  

================假如文件名为abc.xml,并与setup.exe同目录
则在安装的时候通过命令行输入”setup /unattend:abc.xml”
安装完毕后users目录将会在d:中了,有意思的是,MyProfile目录显示为Users,除非用其他系统登录才发现它.
同样的方法,可以指定其他系统目录,具体可参考WAIK的文档。
 

Reply

8 jump 2009/11/22 at 12:20

笑来老师用的mklink算是最简单安全的了.如果你的C盘比较小,将Program Files也链到其他盘.装什么软件都没问题,只要Program Files真实位置够大

Reply

9 李笑来 2009/11/22 at 12:55

5楼的方法也很好

follow me on twitter:

Reply

10 Kymair 2009/11/22 at 13:05

到倒数第二部的时候,C:\Users里面总有一些文件无法删除。
所以导致最后一步执行失败……

Reply

11 泽林 2009/11/22 at 13:28

to 笑来:怪我啦……阅读不仔细。我的方式只能更改“我的文档”“我的音乐”等等文件夹的存放位置。哈哈哈……

follow me on twitter:

Reply

12 Kia 2009/11/22 at 14:11

笑来:
你可以尝试以下Linux,比如Ubuntu。
Linux下根本不需要担心此类问题。

Reply

13 李笑来 2009/11/22 at 17:18

to   blisdom 
试了下你的方法,更好一些。谢谢你。
 

follow me on twitter:

Reply

14 Parn_Fe 2009/11/23 at 04:49

这个原理应该是把d盘的user目录建个快捷方式放在c盘那里吧?

Reply

15 Zuo 2009/11/23 at 13:43

这步出问题了
6. 以管理员身份打开一个DOS窗口,输入以下命令:rmdir “C:\Users” /S /Qmklink /J “C:\Users” “D:\Users”
 
我把这行字复制进去,他就自动执行了。
都是无法执行,我就把命令提示符窗口关闭了。
然后系统就乱了。
现在所有功能都不能用了,那个附件里面的命令提示符也不见了。
怎么办啊???!!!
请给我回个邮件教教我啊??
zuoning1115@gmail.com

Reply

16 boobs 2009/11/23 at 14:13

robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ rmdir “C:\Users” /S /Q mklink /J “C:\Users” “D:\Users”
 
一行一行的输入还是同时输入,命令行中怎样会车换行呢?

Reply

17 boobs 2009/11/23 at 14:15

说真的,Win7没有了XP时代的Nlite那样强悍的预装设定工具 个性化起来对于我这样的新手而言好麻烦

Reply

18 boobs 2009/11/23 at 15:14

不知道哪个环节错了 无法登陆了 英文意思翻译过来是 登录时用户档案服务失效,用户档案无法读取
 

Reply

19 李笑来 2009/11/23 at 16:42

to boobs: 输入一行,按一次回车键

follow me on twitter:

Reply

20 sexla 2009/11/23 at 16:54

这个方法很不错啊!

Reply

21 boobs 2009/11/23 at 17:00

在安装Windows7的过程中,要求输入用户名及密码的时候,先不如输入任何信息,按“Shift+F10”呼出DOS窗口,输入以下命令:
 
是不是再输入用户名和电脑名称的时候?我记得输入密码是设定好用户名和电脑名称后的事

Reply

22 boobs 2009/11/23 at 17:37

anyway 我是想把C:\Users 转移到 H:\Users
 
除了D:\Users这里以外是不是还要动别的地方?

Reply

23 李笑来 2009/11/23 at 17:57

to boobs: 没错,别的地方不用改了。

follow me on twitter:

Reply

24 boobs 2009/11/23 at 18:15

羊驼啊,这样系统到进不去了……安全模式下如何才能解救呢?

Reply

25 lilo112 2009/11/23 at 20:24

再等等win7 的优化软件或定制版吧,这几个方法对我来说都太复杂又太难了

follow me on twitter:

Reply

26 相忘于江湖 2009/11/23 at 21:19

笑来老师,这样做好以后,如果这个系统坏了,再次重装win7,同样按照这个方法,那存在D盘下的文件会被覆盖吗?
 

follow me on twitter:

Reply

27 yu 2009/11/23 at 21:29

不行啊,执行到  rmdir, 总有一些文件无法删除。比如当前用户的appData里面的文件。

Reply

28 为甚么 2009/11/23 at 22:38

请问笑来老师您用的是盗版还是正版?

Reply

29 boobs 2009/11/24 at 10:02

只不过是某搜索引擎收录的一篇win7技术文章, 刚发现这里是笑来老师的博客,罪过罪过。曾经看过您的“书”,非常不好看的书,很久很曾经的事情了。
早知道换个用户名,大庭广众之下的居然审核通过了,censorshit……
老师要是方便的话教我们以此教程为基础做个批处理放到移动硬盘里多好,这样通过硬盘安装,速度快成本低风险小~~

Reply

30 做好自已 2010/01/03 at 16:24

笑来老师,经过我多次重装系统,发现这样的“移动”,Google chrome 安装不了扩展。用 unattend的方法,系统没有安装成功。这两天安装了十多次系统,最后还是用默认的位置。把自已的数据备份到其他盘,常用备份软件。

follow me on twitter:

Reply

31 ice 2010/02/25 at 20:02

第一种方法,弄好了之后,进入系统后,没有办法使用系统分级了
到最后一部,提示”无法度量存储性能““系统无法正确评估磁盘,数据无效”

Reply

32 烟果果 2010/03/08 at 23:22

确实啊,用这种方法转移的,都遇到
“无法度量存储性能”
“系统无法正确评估磁盘,数据无效”
的问题,应该是win7的BUG,但直接导致Aero Peek灰色。。。至今没有好的解决方案啊!

Reply

33 qqjoke 2010/03/24 at 00:10

(转)把三条命令按照顺序全部在修复模式的命令行下执行更加方便。

robocopy “C:Users” “D:Users” /E /COPYALL /XJ /XD “C:UsersAdministrator”

rmdir “C:Users” /S /Q

mklink /J “C:Users” “D:Users”

Reply

34 ashi 2010/07/30 at 20:19

刚用win7,太相信这个博客了,迁移之后还是出了问题进不了系统。最后还是进linux恢复的。。。大家谨慎试之。

Reply

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Previous post:

Next post: