我刚安装Windows 7 RC1,并想将c:\ users移至d:\ users。 />由于Windows 7创建了一个在恢复控制台中挂载为C:
的保留分区,所以我不得不使用以下命令

robocopy /mir /xj D:\Users E:\Users
mklink D:\Users D:\Users /j


mklink命令中的两个D都正确。
系统重新启动时,在故障恢复控制台中原为D的驱动器将成为C驱动器。

评论

接得好!当我移至Windows 7时,我必须记住该保留的分区详细信息。

请参阅此相关问题(适用于Vista),以及答案:serverfault.com/questions/4624/…

我不能发表评论,所以我正在写这个答案。有人应该警告示例中的/ mir选项(似乎代表“ mirror”):robocopy / mir / xj D:\ Users E:\ Users将删除E:\ Users中所有不在D中的内容:\用户。确实,我想知道/ mir选项是否真的必要。我最终从较旧的安装中删除了非空/ Users文件夹中的许多文件。

将问题作为离题话题而关闭,却有大量支持者和支持者,这不是很搞笑。

这是因为民众使用该网站针对诸如此类的非常实际的问题提出诸如此类的实际问题,但是我们强大而强大的霸主认为这是没有用的,因为他们是几年前学到的东西,而不是像我们这些天一样陷入IT的大混乱中。

#1 楼

安装Windows后,您可以很容易地将整个C:\ Users文件夹移动到其他驱动器:

警告:如果/当您需要执行系统还原时,这样做可能会导致问题。

引导至安装媒体,并进入命令提示符(在安装对话框中按Shift + F10键)。
使用Robocopy将C:\ Users复制到D:\ Users:robocopy c:\Users d:\Users /mir /xj /copyall
a。 /mir告诉robocopy镜像目录,这将复制所有文件
b。 /xj非常重要,这告诉robocopy不要遵循连接点。如果忘记了这一点,将会遇到很多麻烦。
c。 /copyall将复制所有属性,包括ACL和所有者信息
验证文件是否已成功复制创建指向d:\ Users的结点:mklink c:\Users d:\Users /j


就这样。自从Vista顺利运行RTM以来,我一直在使用此过程。

这里也有一篇文章对此进行了解释。只需使用robocopy而非xcopy(如他在本文中所做的那样),以避免可能的ntfs权限问题。用这种方法移动“程序数据”或“程序文件”,您会失望的发现一切都按预期进行,但是Windows更新将不再安装。我不确定Win 7是否已解决。

更新2:@Benjol的博客文章详细介绍了移动配置文件文件夹的方法,该方法将重新创建此方法遗漏的联结。如果您在旧版应用程序中遇到任何问题,请在此处查看,看看他的方法是否可以解决问题。

评论


1 +离线移动+交接点是最简单的解决方案-但我要补充一点,无人值守安装脚本也可以在安装期间完成此操作^

–奥斯卡·杜韦伯恩(Oskar Duveborn)
09年5月14日14:53

这是一个非常不错的技巧……我很高兴有人发布了执行此操作所需的所有步骤。

–mrTomahawk
09年5月14日在15:04

-1:请注意,这种方法不会重新创建所有不是由robocopy复制的联结(nb robocopy即使没有/ xj也无法复制联结,它会创建新文件夹)。这不会停止Windows的运行,但是可能会破坏旧版应用程序,这些旧版应用程序会寻找“我的文档”等文件夹。

– Benjol
09年7月22日在5:31

更改文件夹设置以查看系统文件和隐藏文件。 “用户”文件夹中充满了连接点,这些连接点指向(例如)从“我的文档”到“文档”等。它是与旧版应用程序向后兼容的,因此,根据安装的内容,您可能会或可能不会注意到其中的区别。

– Benjol
09年11月26日在6:48

+1 @Jimmie详细说明了如何执行此操作。我真的厌倦了Windows只是一路狂奔,将用户数据和应用程序安装放在任何地方而无需先问我的烦恼! WTF他们很难改变吗?如果我的主分区是SSD驱动器,并且为了性能而在其上安装了Windows,该怎么办?我敢肯定,不要将使用该分区的窗口用作所有事物的该死的胰腺!

–狼人
2010-12-13 10:02



#2 楼

最简单和建议的方法是将单个特殊文件夹移动到用户目录内,例如文档,音乐,视频等。可以通过以下步骤进行操作:


右键>属性
“位置”选项卡
填写所需的位置,然后单击“移动”

的缺点是它仍将主“用户”文件夹保留在原位置。

困难的方法更加复杂和冒险:
系统驱动器中的用户
配置文件目录位置为


在安装过程中使用无人值守的
安装文件设置User Profile文件夹。 >将单个文件夹移动到用户个人资料中,可以使用资源管理器完成
(它将更新
注册表项
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell
文件夹和
HKEY_CURRENT_USER \ Software \ Mi crosoft \ Windows \ CurrentVersion \ Explorer \ User
Shell文件夹)。

但是,这对我来说还不够好,我想要我的实际用户配置文件
文件夹可以移动到单独的分区/卷,包括注册表
设置。我发现实际上并没有那么难,只要您
可以批量替换
注册表项和值。

这就是我移动用户的方式个人资料
位置。请注意,我要
移动所有配置文件,包括
“公共”和“默认”,因此如果您不想要
,可以跳过其中一些
步骤:



确保您具有系统的完整备份!
将原始的默认配置文件目录复制到新位置
(例如,从C:\ Users \ Default到
D:\ Users \ Default)。
将原始的公共配置文件目录复制到新位置(例如,将C:\ Users \ Public中的
复制到
D:\ Users \ Public中)。
导航到HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows
NT \ CurrentVersion \ ProfileList。
,将Default键的值更改为新的用户配置文件位置
(例如D:\ Users \ Default)。
将公钥的值更改为新的用户配置文件位置(例如D:\ Users \ Public)。
将ProfilesDirectory的值更改为新用户
配置文件位置(例如D:\ Users)。
此时,您需要重新启动并以另一个
用户身份登录,该用户以前从未登录过,因此没有配置文件。
已创建。就我而言,
管理员用户以前从未登录过
,所以我启用了它,以便
管理员可以登录并使用
。您可以通过加载计算机管理
启用Administrator
登录,然后转到“用户帐户”,编辑Administrator的
属性,然后
取消选中“禁用登录”。
登录后在第一次使用新用户帐户登录时,您
会看到“正在创建桌面”和其他
类似的信息,而Windows正在创建个人资料。请注意,应该在
新位置创建
新配置文件。
登录后,尝试关闭尽可能多的应用程序。
这将防止大多数文件被锁定,从而无法复制

将整个原始用户配置文件文件夹从原始位置复制到新位置。 (例如,
C:\ Users *到D:\ Users)。 (请参阅开始复制后的下一个步骤
。)
在复制过程中需要注意一些事项。
成千上万的.TMP文件已被锁定,并且无法复制。我只是
跳过了这些文件。我按下了
Alt-S,以便可以看到所有
跳过的文件,并确保只有<.TMP文件被跳过。
是的,这花了一些时间,但是至少我有信心我已经掌握了所有东西。
我的文件被复制。使用命令提示符或powershell可以使此过程更容易。
如果遇到某些无法复制的文件,则可以运行procexp。 exe,由sysinternals提供。然后执行查找句柄
,并搜索文件名的一部分。
procexp将告诉您哪些程序正在锁定文件。只要您
尽可能多地关闭程序,
,就不会发生。
查找并下​​载一个程序,该程序将在
注册表上执行搜索和替换。 。我不会建议一个
,因为我没有找到一个能完美运行的单个
程序。我
最后下载了一些不同的免费软件应用程序,并使用了所有这些软件。
使用注册表搜索和替换程序,搜索原始用户。个人资料文件夹,并
将其替换为新的用户个人资料
文件夹(例如,搜索“ C:\ Users”,并
替换为“ D:\ Users”。请注意,
一些我使用的应用程序中的
仅会更改值,而不会更改键名。
但是,需要
更改的键都与MuiCache有关。这些实际上需要更新
。我只是要确定

注销。以相同的用户身份登录。重复步骤14直到没有任何内容。
执行此步骤的原因是,
注销后,某些程序似乎使用旧用户
配置文件路径更新了注册表。
运行regedit.exe。并搜索原始用户配置文件路径,并
确保它不存在t。此步骤的原因是(如步骤13中所述),我不信任我使用的注册表搜索和替换程序的任何
。由于搜索
,我最终需要
手动更新大约十二个键
和值。并替换掉错过的它们。
为了方便地查找不使用注册表和硬编码配置文件路径的程序,请重命名
您的原始配置文件文件夹(例如
重命名C :\ Users to C:\〜Users)。
注销。以通常的用户身份重新登录。除了使用“硬编码”用户配置文件的程序

之外,其他所有内容都应能正常工作。
有两种简单的方法可用于查找使用
的程序。 />“硬编码”配置文件位置,并且
仍在寻找原始用户的配置文件路径。您可以使用上面提到的
procexp.exe技巧,并
在原始的
配置文件位置中搜索句柄。您还可以
监视原始配置文件的位置
,以查看是否创建了任何新文件夹或文件。例如,在我的情况下,FolderShare在目录C:\ Users \ MyUsername \ AppData \ Local \ FolderShare中创建了一些文件夹
和文件。
因此,我更新了FolderShare设置
指向不同的路径,然后
然后删除C:\ Users目录
(请注意,C:\〜Users仍然作为备份存在)。
既然您现在确信所有数据已被移动
(右?????),则可以删除原始用户配置文件位置的
备份
(例如C:\〜用户)。特殊文件夹的位置,以至于很难更改整个用户文件夹结构的位置,我强烈建议您采用简单的方法。

评论


kes!不建议对我更糟糕的敌人进行此过程:-),但是... +1,因为不管看起来有多混乱,它都会起作用。我不知道诸如“ hack”之类的其他事情可能会破坏线路...

–user1797
09年5月14日14:36

我看到了这篇文章,但我想移动整个用户目录,并希望避免在注册表中产生混乱。

–斯科特
09年5月14日在16:35

我要补充一点,移动所有“特殊”目录而不是“用户”的问题是,您无法将AppData作为特殊文件夹移动,并且越来越多的程序将缓存,保存的内容和大量的数据保存在那里。

–水族馆
2011年3月10日在9:01

@Aquarion:但是可以使用“位置”选项卡移动本地,LocalLow和漫游目录:)

–Milind R
2014年9月1日上午10:35

四年来技术的进步确实是无限的。能够重定向目录中几乎每个单独的文件夹及其子目录中的每个单独的文件夹,但不能轻松地重定向任何一个父目录的能力无疑是明智的限制,显然这符合用户群的最大利益。

–水族馆
2014年9月1日下午13:46

#3 楼

这是正确的过程


启动到安装介质,并转到命令提示符(我相信您需要先单击修复)。
使用Robocopy复制C:\ Users到D:\ Users:robocopy c:\ Users d:\ Users / mir / xj / copyall
/ mir告诉robocopy镜像目录,这将复制所有文件。 / xj非常重要,这告诉robocopy不要遵循连接点。如果您忘记了这一点,将会遇到很多麻烦。c。 / copyall将复制所有属性,包括ACL和所有者信息

验证文件是否已成功复制
删除c:\ Users
创建指向d:\ Users的结点:mklink c:\ Users d:\ Users / j


我执行了Jimmie指令,并且几乎可以工作了。但是,我在IE上遇到了一个奇怪的问题,我无法下载文件。我找到了解决下载问题的解决方案,并记录在超级用户上:

评论


谢谢。我无法编辑答案,或者添加您的更改。

–斯科特
2010年5月5日14:22

+1是/ copyall的意思,我很久以前就打算添加它,但从未解决。

– Jimmy R. Houts
2010年9月1日下午2:38

#4 楼

在安装过程中使用无人值守脚本“自动”移动C:\ Users的一些资源。

Microsoft拥有一个知识库,其中包含一些有关移动特殊文件夹的问题,这对通读很有用。

涉及无人参与脚本本身时,有一个名为FolderLocations的元素,该元素具有一个ProfilesDirectory子级,您可以这样指定:部署Vista,其中包括如何处理unattend.xml,这是我从Ramesh Srinivasan撰写的扩展的如何移动特殊文件夹的文章中找到的最佳信息,该文章深入解释了如何执行此操作以及需要注意什么(包括以下事实:即使在运行了无人参与脚本之后(例如,作为setup.exe的参数),仍然存在诸如c:\ documents和设置的连接点,这些连接点指向您需要手动修复的旧位置(如果可能))。 br />

评论


这是在其他位置创建用户配置文件的最简单方法。所有其他非官方的方法(例如,弄乱联结复制或移动文件)使我“用户配置文件服务无法登录。无法加载用户配置文件。”配置文件错误。

– XP1
2012年7月21日在22:58



Windows 8:如何在Windows 8中将用户配置文件重定位到另一个分区或磁盘:sevenforums.com/tutorials/…

– XP1
2012年7月21日在22:59

Windows 7:如何在Windows 7安装过程中在另一个分区或磁盘上创建用户帐户:sevenforums.com/tutorials/…

– XP1
2012年7月21日在22:59

#5 楼

"C:\users"是一个系统文件夹,与Windows XP / 2000 / NT上的"C:\Documents and Settings"等效,因此,即使不是不可能移动文件夹,也确实很难。有多种方法可以解决此问题,方法是通过TweakUI或一些类似的技巧(而不是父文件夹)移动子文件夹,而不是使用父文件夹,有关此问题的文章很多,请参见: -recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/

http://support.microsoft.com / kb / 236621

http://support.microsoft.com/default.aspx?scid=kb;zh-CN;314843

http://support.microsoft .com / default.aspx?scid = KB; EN-US; q310147&ID = KB; EN-US; q310147

但是对于Vista / Windows 7来说,似乎已经完成了此过程更简单。以下是一些文章,告诉您如何在Vista上进行操作,而Windows 7的本质是Windows 7: .html

http://www.technospot.net/blogs/how-to-move-users-folder-to-different-location-in-windows-vista/

http://www.howtogeek.com/howto/windows-vista/moving-your-personal-data-folders-in-windows-vista-the-easy-way/

评论


正如我在答复中所说,您不能将C:\ Users移至其他驱动器。随着链接的重复,您可以在其中移动某些“特殊文件夹”,但是C:\ Users的重定位是不可能的。

–user1797
09年5月14日14:33

#6 楼

这有点晚了...

通过移动单个配置文件而不是整个目录可以避免将c:\ users移到另一个磁盘的问题。

如果您在链接到新目录的c:\ users中保留结点,则所有路径都可以继续使用,就像Jimmie Houts解决方案一样,但是我不会移动管理员,网络服务,公共等因此所有正常的系统功能(例如Windows Update)都将继续正常运行。

Ian

#7 楼

我研究了很长时间。不能做您可以移动“特殊”文件夹(“文档”,“我的音乐”等),但不能重定位“用户”目录。

评论


我能够重新定位用户目录。

–斯科特
09年5月19日在19:10

#8 楼

其中大部分是从他人那里复制的,然后由当前的作者tu servidor进行修改和扩展。

要最轻松地将所有用户文件和用户程序文件从引导驱动器(在我的情况下为SSD) ,请按照以下说明进行操作。

首先,创建一个还原点,以防万一:
1。单击“开始”按钮,右键单击“计算机”,然后单击“属性”,打开“系统”。
2。在左窗格中,单击“系统保护”。如果系统提示您输入管理员密码或确认,请输入密码或提供确认。
3。单击“系统保护”选项卡,然后单击“创建”。
4。在“系统保护”对话框中,键入描述,然后单击“创建”。

之后:转到系统恢复/命令提示符:
用Win7 Install DVD引导,选择语言,货币和键盘,然后单击“下一步”。
在“立即安装”屏幕上,选择“修复计算机”
系统恢复选项将询问您是否要“修复并重新启动”,选择“否”。
然后确保Windows 7被列为已安装的可用于恢复的操作系统之一,并且已选中它,然后按下一步。
将为您提供恢复工具列表。
选择“命令提示符”。

查找从Win7介质加载的虚拟Windows驱动器(可能是C或X),找到实际的Windows / SSD驱动器(D或E)并找到您的HDD(普通硬盘)(D或E)。

在我的系统中,通常是C = SSD,带有Windows,D = HDD数据驱动器

使用Win7 Update介质,恢复模式下的驱动器设置不同,因此:
X:虚拟/临时Windows驱动器,
E:实际的Windows / SSD驱动器,
D:HDD,我想放置\ Users的硬盘。 >有人报告说,“系统恢复”模式将按以下方式设置其驱动器:
C:虚拟/临时Windows驱动器
D:实际的Windows / SSD驱动器
E:HDD,他们想将/用户开启。

在命令提示符下,您将使用Robocopy(NOT xcopy!)将c:\ Users复制到d:\ Users,然后删除旧的c:\ Users,然后从c:\ Users到D:\ Users建立符号链接。请注意,您必须按顺序执行这些操作,并且在执行此操作之前,您必须没有ad:\ Users目录。

注意:在系统恢复命令提示符窗口中,驱动器与他们将在您退出恢复模式之后!因此,请调整以下命令以了解驱动器处于恢复模式的方式,然后稍后再进行纠正。

我使用过: \ Users

要将/ Users从Windows / SSD移至HDD。
/ mir告诉robocopy镜像目录,这将复制所有文件和权限。
/ xj非常重要的是,这告诉robocopy不要遵循连接点。如果您忘记了这一点,将会遇到很多麻烦。
确保没有文件复制失败(FAILED列= 0)。

然后必须从Windows中删除旧的Users文件夹/ SSD(c :)驱动器,然后才能创建符号链接:
我使用过:
rmdir / S / QE:\ Users

创建指向的NTFS链接/符号链接到新的Users文件夹:

我使用了:
mklink / JE:\ Users D:\ Users

使用/ J开关创建一个结点硬符号链接。 (如果使用/ D开关,则还必须编辑注册表,因为它不是硬链接。)使用/ J,当Windows查找C:\ Users目录时,它将找到它!但是它将在HDD而不是SSD上。棘手!

要查看已创建内容的证明,仍在命令提示符窗口中,进入实际的Windows / SSD并执行“ dir”命令,您将看到:
“用户[D:\ Users]”

现在重新启动,您将在HDD上看到/ Users,然后就可以了。无需进一步配置或摆弄。新的用户配置文件以及所有特定于用户的数据都将存储在d:驱动器上。它是可以实现的,而无需在注册表中进行任何混乱,搜索和替换值,也不必以任何方式与新的配置文件发生混乱。完全忘记了。

评论


这似乎是Jimmie R. Houts答案的较长版本,但它没有解决任何新内容或他的答案的问题(不复制符号链接)。

–詹姆斯·麦克马洪
09年12月5日在14:01

#9 楼

这不是您真正需要的,但是如果在Windows 7中,则一个很好的替代方法是更改​​库的位置。通过这种方法,您可以将文档,图片等保存,但不能将所有配置文件保存在D驱动器中。

昨晚我创建了一个可能对您有用的工具:设置库。