2013/12/17更新:使用了一段时间,开机时有时会出现一些错误,不过不影响正常使用,不能忍的是会经常更新,所以暂时不推荐使用。


为了方便地重装系统,同时保留用户数据,想到了分离windows系统文件和用户数据。经过各方搜索,终于成功,现总结如下。

主要把Users和ProgramData移出系统盘(Program Files和Program Files (x86)可根据个人需要选择是否移动),这里以从C:\Users和C:\ProgramData移动到D:\Users和D:\ProgramData,win8系统为例。

主要有两种途径,一是在安装系统将要创建用户的时候按Shift+F10进入命令提示符,二是在安装系统后进入修复模式,核心思想都是将Users和ProgramData移动到目标文件夹,在系统盘建立硬连接。

方法一、安装系统时移动

1、将要创建用户的时候按Shift+F10进入命令提示符;

2、复制Users、ProgramData 文件夹到你想使用的分区上

robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ
robocopy "C:\ProgramData" "D:\ProgramData" /E /COPYALL /XJ

请保证 0 Failed,如果不行,可以多试几次,还是不行,请自行想办法,殊途同归(比如可以在在linux下移动)。

参数解释:

/E :: 复制子目录,包括空的子目录。

/COPY:复制标记:: 要复制的文件内容(默认为 /COPY:DAT)。

(复制标记: D=数据,A=属性,T=时间戳)。

(S=安全=NTFS ACL,O=所有者信息,U=审核信息) 。

/COPYALL :: 复制所有文件信息(等同于 /COPY:DATSOU)。

/XJ :: 排除接合点(默认情况下通常包括)。

也有这种用法:

robocopy /copyall /mir /xj C:\Users D:\Users
robocopy /copyall /mir /xj C:\ProgramData D:\ProgramData

参数解释:

/mir :: 镜像目录树(等同于 /E 加 /PURGE)。

/PURGE :: 删除源中不再存在的目标文件/目录。(加入D:\Users原来有数据,使用/PURGE会被删除)。

说明:windows不区分大小写,路径中没有空白字符则不需要转义或加双引号。

3、删除系统盘原文件

这里采用将原文件夹重命名的方式,一来达到了删除的效果,二来备份了原文件夹,这样万一出现问题还可恢复,确保无误后再删除也不迟。

move "C:\Users" "C:\Users2"
move "C:\ProgramData" "C:\ProgramData2"

所有步骤完成之后可以如下删除原文件夹,但现在先跳过。

rmdir "C:\Users2" /S /Q
rmdir "C:\ProgramData2" /S /Q

参数解释:

/S: 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。

/Q: 安静模式,带 /S 删除目录树时不要求确认。

4、创建连接

mklink /J "C:\Users" "D:\Users"
mklink /J "C:\ProgramData" "D:\ProgramData"

参数解释:

Use the /J switch to create a junction that's a hard symlink. (If you use the /D switch, you'll also have to edit the registry, cuz it won't be a hard link.)

5、继续接下来的安装即可。

方法二、安装系统后移动(推荐)

进入修复模式,打开命令提示符,按方法一步骤2,3,4操作,重启电脑即可。

下面谈谈可能会遇到的几个问题。

1、不论用哪种方法,都要确认驱动器盘符,按照方法一多硬盘时更是如此,方法二也会有问题,有时候驱动器盘符不一定和自己期望的一致。

2、在没有发生故障的情况下,win8进入修复模式有两种方法:

In Windows 8 they dropped the use of the F8 key to access the boot menu.

Now to access such menu you can hold Shift before you press Restart (so already within Windows) and you'll be presented with it after the reboot. Another way is to press "Restart now" at the general PC settings:

Boot menu:

Troubleshoot

Advanced options

选择命令提示符即可。

关于分离系统文件和用户数据的弊端:

Using this setting to redirect folders to a drive other than the system volume blocks upgrades.Using ProfilesDirectory to point to a directory that is not the system volume will block SKU upgrades and upgrades to future versions of Windows. ... The servicing stack does not handle cross-volume transactions, and it blocks upgrades.

官方文档:http://technet.microsoft.com/en-us/library/cc722177(v=WS.10).aspx

个人建议:忽略之

cite:

http://acer.it168.com/thread-1205482-1-1.html

http://lifehacker.com/5467758/move-the-users-directory-in-windows-7

http://superuser.com/questions/496493/how-do-i-access-windows-8-recovery-partition-and-how-to-recover-it-to-factory-im

http://www.zdnet.com/dont-move-your-windows-user-profiles-folder-to-another-drive-7000022142/

http://technet.microsoft.com/en-us/library/cc722177(v=WS.10).aspx

windows分离系统文件和用户数据的更多相关文章

  1. Chrome 用户数据配置文件夹保存路径在哪?(Mac OS X/Windows/Linux)

    在重装系统之前都想要对 Chrome 中的数据进行备份,以能够在重装系统后恢复这些数据.但是除了一些玩 Chrome 很长时间的用户,鲜有人知道 Chrome 的用户数据到底保存在什么地方.如果你也有 ...

  2. 【php爬虫】百万级别知乎用户数据爬取与分析

    代码托管地址:https://github.com/hoohack/zhihuSpider 这次抓取了110万的用户数据,数据分析结果如下: 开发前的准备 安装Linux系统(Ubuntu14.04) ...

  3. SQL Server 2016五大优势挖掘企业用户数据价值

    SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...

  4. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  5. Windows 8 应用开发 - 本地数据存储

    原文:Windows 8 应用开发 - 本地数据存储      在应用中通常会遇到用户主动或被动存储信息的情况,当应用关闭后这些数据仍然会存储在本地设备上,用户下次重新激活应用时会自动加载这些数据.下 ...

  6. 在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)

    原文:在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据) 我们都知道,在asp.net中修改 ...

  7. 快速构建Windows 8风格应用4-FlipView数据控件

    原文:快速构建Windows 8风格应用4-FlipView数据控件 本篇博文主要介绍为什么使用FlipView控件.什么是FlipView控件.如何使用FlipView控件和FlipView控件最佳 ...

  8. 快速构建Windows 8风格应用6-GridView数据控件

    原文:快速构建Windows 8风格应用6-GridView数据控件 本篇博文主要介绍什么是GridView数据控件.如何构建常用的GridView数据呈现样式. 什么是GridView数据控件? G ...

  9. Windows下Python读取GRIB数据

    之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...

随机推荐

  1. 前端技术Bootstrap的hello world

    ----对于用户来说,界面就是程序本身.那么一个漂亮的web一定是你继续使用这个应用的前题. 这一节我们来一起写个Bootstrap的hello wrold. Bootstrap Bootstrap  ...

  2. 想要愉快入住酒店?缺了它还真不行!(含PPT)

    编者注:别想歪了!我们说的是“机器学习”~ 在携程技术中心推出的线上公开课程[携程技术微分享]上,来自携程酒店研发的BI经理潘鹏举,介绍了如何借助大数据和算法,通过机器学习去克服酒店服务行业挑战,给用 ...

  3. Scrum 项目4.0--软件工程

    1.准备看板. 2.任务认领,并把认领人标注在看板上的任务标签上. 林宇粲:处理数据的存储:目前先进行数据库表的分析和创建. 蔡舜:对复利计算,单利计算,代码进行编写. 王昕明:编写一些用户登录,操作 ...

  4. Winform开发框架之通用数据导入导出操作的事务性操作完善

    1.通用数据导入导出操作模块回顾 在我的Winfrom开发框架里面,有一个通用的导入模块,它在默默处理这把规范的Excel数据导入到不同的对象表里面,一直用它来快速完成数据导入的工作.很早在随笔< ...

  5. C# FTP远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)

    今天用代码删除FTP服务器上的目录时候,报错:远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件). 习惯性的google,不外乎以下几点: 1.URL路径不对,看看有没有多加 ...

  6. BI之SSAS完整实战教程3 -- 创建第一个多维数据集

    上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...

  7. 编程Bug集

    (基础)将“/”用于取余符号,导致非预想结果——1小时后才找到错误原因 9.16

  8. 【jQuery基础学习】09 jQuery与前端(这章很水)

    这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的. 关于网站结构 文件结构 前端文件分三个文件夹放 images文件夹用来存放将要用到的图 ...

  9. 发布在IIS的网站,可以用本机IP登录访问,用localhost不可登录访问

    之前在IIS发布一个测试的网址,但是用本机IP可以访问,用localhost不可访问

  10. (旧)子数涵数·C语言——让C帮你做计算

    之前,我们学过了我们的第一个C程序--hello World.现在开始进一步学习,想一想如何让C帮你做计算. 我们先来看代码(我没有新建,还是用之前的hello world.cpp): 好,因为之前在 ...