摘要
在每次推出新版本的操作系统之时,组织都会开始一个最终将导致大面积部署新技术的过程。有助于成功完成此部署的一个关键因素便是用户设置的迁移,具体来说,便是获得现有系统中的所有自定义设置,然后将这些设置恢复到新部署的系统中。在 Microsoft Windows Vista 下,这种部署活动因改进后的 Microsoft Windows User State Migration Tool(用户状态迁移工具,USMT)而得到了改观,该工具有助于迁移过程顺畅且无差错地进行。本文介绍了企业和个人执行迁移工作的方式,以及如何让这些迁移活动获得成功。
| 迁移难题概述 | |
| 不同的迁移策略 | |
| Windows Vista 在迁移方面的功能增强 | |
| 迁移方案 | |
| 总结 |
每次发布新版本操作系统的时候,希望利用新功能的组织都会开始一个最终导致大面积部署新技术的过程。有助于成功完成此部署的一个关键因素便是用户设置的迁移,具体来说,便是获得现有系统中的所有自定义设置,然后将这些设置恢复到新部署的系统中。本白皮书将重点关注迁移工作的数据收集和恢复过程,尽管部署活动强调的是操作系统的更新换代。在 Microsoft Windows Vista 下,这种部署活动因改进后的 Microsoft Windows User State Migration Tool(用户状态迁移工具,USMT)而得到了改观,该工具有助于迁移过程顺畅且无差错地进行。本文介绍了企业和个人执行迁移工作的方式,以及如何让这些迁移活动获得成功。
根据具体的迁移方案,有两个工具可用于设置迁移:
| • | PC 到 PC 的迁移使用“PC 迁移助手”(PC Migration Assistant),它是迁移过程的一个图形化界面。该工具支持个人迁移——即在非企业环境下执行的迁移,或者是由每个用户执行的企业迁移。 |
| • | 远程迁移或者那些使用 USMT V3.0 执行的迁移,USMT 是一个命令行界面,可通过脚本来执行迁移过程,提供了一个标准且可复用的企业迁移过程。 |
本文将对上述两个工具加以介绍,但将重点介绍 USMT,因为默认情况下本工具比图形化工具拥有更加丰富的功能。
不论组织的规模如何,部署工作的成功与否通常取决于其复杂性和多样性是否得到了降低。成功的操作系统部署活动通常依赖于经过测试的部署过程,这些过程可以重复并且具有高度的准确性。这是为什么必须尽可能降低多样性的一个原因——部署过程中的多样性越高,过程失败的可能性就越大。
为了降低复杂性并提高标准化程度,组织应选择一组硬件和软件,并将它们配发给所有用户。这意味着实现一个可作为所有系统安装活动基准的标准化操作环境 (SOE)。SOE 应包括标准的硬件驱动程序、核心操作系统功能、核心生产力应用程序(尤其是在使用批量许可的情况下)以及核心实用工具。此外,它还应遵照组织的企业策略,包含一组标准的安全功能。使用这样的 SOE 可极大降低部署工作的挑战性。
在迁移规划中,组织和个人均应首先找出要迁移的内容,包括个人用户设置、应用程序和应用程序设置、个人数据文件以及文件夹。找出要迁移的应用程序尤其重要,因为无法获得哪些应用程序将被逐步淘汰的信息。在迁移设置和数据时,最重要概念之一便是:恢复到目标计算机上的信息必须仅包含必需的信息。即便是出于备份目的而导致收集的源数据比要恢复的信息更多,恢复那些目标系统上不会安装的应用程序的数据和设置也会造成冗余现象,并且在新部署的计算机中引入不稳定因素。
如果多个用户共享一个系统,那么设置传输过程的复杂性还会增加。在这种情况下,源计算机包含多个用户的配置文件,每个配置文件都必须得到保护。这是进行有效性验证的另一个机会。配置文件可能已经废弃不用,因为用户不再使用该计算机或者已经离开组织。与此类似,在个人迁移情况中,迁移工作应当仅针对那些会在新系统上重新使用的配置文件。
注意:USMT 和迁移助手之间在几方面存在重大差异。由于其互动式本性,迁移助手必须运行在用户的上下文环境中,必须对系统中的每个用户重复执行某个操作,除非是在管理员的上下文中使用它。USMT 可以批模式运行,并且可捕获系统中的所有配置文件。此外,USMT 可筛选掉那些最近未在系统中登录的用户。USMT 和迁移助手都可将现有用户映射到新帐户(例如,将某个配置文件从工作组移动到域帐户)。 |
个人和组织的迁移活动都可能涉及若干不同的部署类型。这些类型包括:新操作系统的简单系统升级(或就地安装);并列式的计算机更换,涉及将数据从一台计算机移动到另一台计算机;以及干净安装(或者说擦除后再安装),使用相同的系统,但是擦除了所有硬盘数据以执行新的安装。在上述三种情况中,就地升级是目前最容易管理的方式,因为它对系统执行的是非破坏性的升级。在任何情况下,“在执行任何类型的迁移之前首先对系统进行备份”都是所有人应遵循的最佳做法。
在 Microsoft Windows XP 或 Microsoft Windows 2000 系统中,设置和个人数据保存在用户的配置文件内(参见图 1)。该配置文件包括的文件夹结构经过精心设计,旨在包含用户使用应用程序和工具执行正常操作所需的所有数据——如果应用程序和工具针对这些操作系统进行设计。旧有应用程序在迁移时经常存在很多问题,因为它们既不能在默认位置保存设置,也不能在默认位置保存数据。在这种情况下,必须在开始迁移之前确定这些设置和数据在系统中的存放位置。与此类似,某些组织在系统中使用两个或更多的文件夹来保存用户数据。一个文件夹是受保护的,而其他文件夹则不受保护。在进行迁移时,需要移动所有用户文件夹,以实现更成功的迁移。

图 1. Windows XP 中用户配置文件的结构。
注意:Windows Vista 迁移工具仅支持将 Windows Vista、Windows XP 和 Windows 2000 作为迁移数据的来源。迁移助手仅支持将 Windows Vista 作为目标系统,但是 USMT 可将 Windows Vista 和 Windows XP 作为目标系统。 |
在企业环境下(尤其是那些使用 Microsoft Active Directory 目录服务的环境),可通过集中存储用户配置文件的策略来简化迁移过程。有两种策略支持此目标。第一种策略使用漫游配置文件。在这种情况下,配置文件保存在某个中央位置,无论用户何时登录到计算机,配置文件都可用。在迁移系统时,无需扫描工作站上的用户设置,因为它们已经保存在服务器上。但是,在从较老版本的 Windows 升级到 Windows Vista 时,这种方法会失效,因为 Windows Vista 中的配置文件结构不同于源操作系统的配置文件结构。
保护用户数据的另一种方法是使用文件夹重定向。文件夹重定向使用组策略扩展将用户数据和设置自动重定向到一个中央位置。这使得组织能够保护用户数据并定期进行备份。文件夹重定向支持对用户配置文件中的四个关键文件夹进行重定向:
| • | Application Data(应用程序数据)存储了所有特定于应用程序的设置。 |
| • | Desktop(桌面)包含保存在桌面上的所有数据。 |
| • | Start Menu(开始菜单)包括了用户个人的所有快捷方式。 |
| • | My Documents(我的文档)保存所有用户数据。My Documents 还包含 My Pictures(图片收藏)文件夹,该文件夹保存用户的所有图像。 |
虽然文件夹重定向为大部分用户数据提供了保护并且支持迁移,但是为了获得 100% 的用户数据,在迁移过程中仍然需要使用迁移工具。文件夹重定向没有涵盖 Favorites(收藏夹)和 Templates(模板)这样的项目(参见图 1)。默认情况下,USMT 支持对表 1 的第一列中列出的所有元素进行迁移。
| 表 1. USMT V3 默认迁移的文件和设置 | |
| USMT 迁移 | USMT 不迁移 |
Microsoft Internet Explorer 设置 Microsoft Outlook Express 存储 拨号连接 桌面 电话和调制解调器选项 辅助功能选项 经典桌面 命令提示符设置 收藏夹 字体 文件夹选项 任务栏设置 鼠标和键盘设置 快速启动设置 屏幕保护选择 声音设置 地区选项 “我的文档”文件夹 “图片收藏”文件夹 我的视频 我的音乐 我收到的文件 | 硬件相关设置 驱动程序 密码 应用程序 同步文件、.dll 文件或其他可执行文件加密文件系统 (EFS) 证书,虽然在某些情况下,如果目标系统是 Windows Vista,也会迁移 EFS 证书。 |
此外,可对 USMT 进行自定义,将其他元素包括在内,因为它使用 XML 格式的文件作为迁移过程的输入。简而言之,要实现成功的迁移,使用诸如 USMT 或迁移助手这样的迁移技术非常必要。
前面提到的三种迁移方案是:升级、并列和“擦除并安装”。在三种方案中,第一种最容易,因为即便出于备份的目的需要在开始迁移时收集信息,它经常也不需要对设置进行恢复。如果升级过程失败,在首次登录之前,Windows Vista 会自动回滚升级过程并恢复用户的原始桌面。当然,现在很少有组织愿意选择就地升级方式,因为他们希望使用一个过程来替换所有系统内容。全面彻底的替换可保证 PC 在部署之后便处于一个已知状态,并且不包含任何先前操作系统或先前使用行为的残存数据。
实际上,组织经常利用新操作系统部署项目来执行 PC 的循环或轮换,将系统从一个用户移动到另一个用户。这种循环在开始时,首先购买一批新系统,然后将其作为中心部署池使用。这些新系统的能力超过现有系统,因此首先交付给组织中最需要它们的用户。然后,对第一次交付过程中替换下来的 PC 重新制作映像,并交付给第二集团的用户使用,而第二集团用户的 PC 则再循环给其他用户使用,依此类推。这种轮换方法需要设立一个临时实验室,以便对系统进行准备。由于较老的系统通过这个临时区域进行轮换,组织经常需要利用这个机会正确地清除所有数据和系统组件,让接收计算机的用户认为系统就像是新的一样。这种方案通常依赖于并列式迁移(参见图 2),那些需要在 PC 上运行现存的旧程序的组织最常使用此方案。

图 2. 并列式迁移方案。
这种迁移类型一般包含三个步骤:
1. | 原始系统(或者说源系统)经过扫描,将文件和设置以压缩格式复制到中间存储区中。 |
2. | 在第二步中,新的目标系统收到 SOE 映像以及必需的补充应用程序。 |
3. | 最后,将用户设置恢复到目标系统。 |
图 2 列出了两个相应的 USMT 命令:ScanState 和 LoadState,但是此过程与使用迁移助手时的过程完全相同。
注意:应在恢复用户状态之间将所有必需的应用程序安装到目标系统上,这虽然并不是必须的做法,但却是一种很好的做法,因为许多应用程序需要在执行恢复工作之前进行安装。 |
其他组织可能已经部署了支持新操作系统的 PC 并且喜欢通过远程安装来减少对用户的影响。在这种情况下,他们应执行“擦除并安装”式的部署(参见图 3)。这些部署的成本通常更为低廉,因为无需将所有系统从一个位置运送到另一个位置。

图 3. “擦除并安装”式的迁移方案。
这种迁移类型一般包含稍有不同的三个步骤:
1. | 系统经过扫描,将文件和设置以压缩格式复制到中间存储区中。 |
2. | 在第二步中,可以选择将硬盘重新格式化,然后安装 SOE 映像和必需的补充应用程序。 |
3. | 最后,将用户设置恢复到系统。 |
图 3 再次列出了两个 USMT 命令,虽然也可以使用迁移助手完成这项工作。显然,迁移助手只能用在互动式安装过程中。希望自动执行此过程并将其应用于大量 PC 的组织可编写脚本来完成 USMT 过程。
无论使用何种迁移类型,都需要进行细致的规划和构思。图 4 描绘了所有迁移过程的规划过程。该过程首先需要全面收集源 PC 上的内容的详细清单。在这里,关键在于确定系统上存在哪些应用程序,更具体来说,是该系统的用户实际需要使用哪些应用程序。除非组织使用全面软件管理系统和策略,否则会经常发现许多应用程序都是源系统不再需要使用的。在开始迁移之前需要执行此清理过程,否则可能会迁移一些无效数据。对于要在迁移过程中包括的那些应用程序,应让相关问题专家 (SME) 来确定每个应用程序必须迁移的设置和数据,这一点十分重要。在完成这一步骤后,准备一个全面的脚本,确保所有数据都能够被收集到。USMT 默认收集几种应用程序数据类型,但是组织可能有一些没有包括在默认类型中的自定义应用程序。使用 USMT 工具修改并升级现有迁移脚本,或者创建自定义脚本。通过实际执行迁移,收集源数据,将数据保存在中间位置(例如位于中央的文件共享)以及将数据恢复到其他系统,可测试自定义脚本是否工作正常。再一次通过 SME 来验证恢复操作的结果是否正确。在将脚本发布给生产部署小组之前,可根据需要进一步改进此过程。

图 4. 迁移过程。
注意:中间存储区的空间大小根据每个组织使用的本地存储策略而定。例如,决定迁移数据大小的一个关键要素便是电子邮件的存储。如果电子邮件存储在某个中央位置,那么数据集将比较小。如果电子邮件存储在本地和脱机存储文件中,那么数据集将比较大。尤其是,移动用户的数据集通常都大于工作站用户。在转向全面迁移之前,应执行一些测试并收集网络清单,确定数据集的平均大小。对于这种类型的评估活动,ScanState 提供了一个选项,可以仅扫描内容并生成一个空间评估文件(在对 ScanState 命令使用 /p 开关时,会创建一个 usmtsize.txt 文件)。 |
默认情况下,ScanState 会压缩所有数据,然后将数据上传到中间存储位置。这样既可缩短上传的时间,也可以减少占用的带宽。然后,当数据传输到目标系统后,LoadState 下载整个压缩存储,然后将其解压缩到目标计算机上。可以命令 ScanState 不在上传期间压缩数据,但是这种做法应该仅仅用于故障排查的目的。强烈建议在实际迁移过程中使用经过压缩的存储。
微软在几代 Windows 中均提供了一些迁移工具供用户使用。例如,USMT 的先前版本 USMT V2.6 支持从 Windows XP 或 Windows 2000 迁移到 64 位或 32 位版本的 Windows Server 2003 和 Windows XP。Windows Vista 中的新版本 USMT v3.0 得到了显著改进,具有更强功能。以下是一些例子:
| • | ScanState 和 LoadState,这两个命令现在可以由使用 XML 格式的一些关键脚本进行驱动。 |
| • | USMT 能够移动那些包含使用 EFS 进行了加密的文件的配置文件。 |
| • | 源操作系统只能是 Windows Vista、Windows XP 和 Windows 2000。更早版本的 Windows 不受支持。 |
| • | 目标操作系统只能是 Windows Vista 和 Windows XP。 |
| • | 如果目标系统为 Windows XP,那么不会迁移 Cookie、网络驱动器和打印机设置。 |
| • | 如果存在 Microsoft Outlook Express 或远程访问设置 (Remote Access Settings),如果目标系统是 Windows XP,则只会迁移 Outlook Express 的邮件文件和 Remote Access Settings 的电话簿文件。如果目标系统是 Windows Vista,则会根据每个组件的迁移清单中的说明迁移所有相关设置。 |
此外,这两个命令还具有几个新功能。更多相关信息,请参见“用户状态迁移工具 3.0 使用入门”中的 USMT 3.0 新增功能一节:http://go.microsoft.com/fwlink/?LinkId=56486。
USMT 3.0 还会加载操作系统设置。如果目标系统是 Windows Vista,USMT 将使用 Component Manifests for Windows Vista(Windows Vista 组件清单)来迁移操作系统设置。Windows Vista 为操作系统加载的每个组件都创建一个清单文件。这意味着,无论使用 ScanState 收集哪些设置,LoadState 都只会在目标计算机上加载哪些具有对应清单文件的设置。如果目标系统是 Windows XP,USMT 则依赖于一个特殊脚本 MigSys.xml,因为这个版本的 Windows 不包括清单文件。
注意:在 Beta 2 版本的 Windows Vista 中,可用清单文件的数量有限,因此只有一些经过选择的操作系统组件能够迁移到 Windows Vista。 |
USMT 包括了几个支持迁移的默认 XML 文件。可以自定义这些文件以满足组织自身的需求。USMT v3.0 和先前版本之间的主要差异之一是:如果使用 ScanState 工具指定了文件,那么也必须在 LoadState 工具中指定这些文件。根据迁移目标是 Windows Vista 还是 Windows XP,需要使用不同的文件。
| • | 如果目标是 Windows Vista,可使用 MigApp.xml 和 MigUser.xml 文件。此外,可以创建或生成一个 Config.xml 文件。 |
| • | 如果目标是 Windows XP,则还需要另外一个文件 MigSys.xml。 |
每个 XML 文件都有其目的。
| • | MigApp.xml 用于控制要迁移的应用程序设置。可在迁移过程中包括或排除该文件中列出的应用程序。 |
| • | MigUser.xml 用于确定要迁移的用户文件夹、文件、文件类型和桌面设置。它不控制迁移哪些用户。 |
| • | MigSys.xml 通常仅用于目标系统是 Windows XP 的情况,并且包含一些控制要迁移的操作系统和浏览器设置的信息。对于 Windows Vista 迁移,USMT 需要使用 Repositories for Windows XP and Windows 2000 来确定要迁移的数据。 |
| • | Config.xml 是一个自定义文件,通过一个特殊的 ScanState 开关参数 /genconfig 创建。理想情况下,该选项用于生成一个满足组织独特需要的自定义配置文件。为了以最佳方式使用该选项,首先应确定要迁移的所有应用程序。然后,加载一个包含每个应用程序的系统。在该系统上运行 ScanState /genconfig,收集要从组织中的任何计算机上迁移的用户、操作系统和应用程序设置的列表。如果 Windows Vista 是源系统或目标系统,为了控制迁移的操作系统组件,由其需要使用该文件。如果没有包括 Config.xml,USMT 将迁移 Windows Vista 中的所有默认组件。 |
使用 XML 格式可让管理员以标准化的方式与两个 USMT 命令交互,并有利于迁移过程的自定义。更多相关信息,请参见“用户状态迁移工具 3.0 使用入门”中的如何更改默认行为一节。
在迁移到 Windows Vista 时,组织和用户都将因为迁移助手和 USMT 的显著改进而获得更惬意的迁移体验。依靠为 USMT 提供的 XML 文件可以标准化方式来自定义迁移过程。现在,是尽可能测试这些迁移的时候了,以便为 Windows Vista 的正式发布做好准备。测试工作应尽可能包括一个完整的迁移过程。
创建 USMT 脚本的过程与生成支持迁移的 Config.xml 文件一样容易。在创建该文件后,可以编辑它以确定要在迁移过程中包括和排除的内容。包括和排除的基本格式和在 XML 文件中指定“yes”和“no”一样简单。每个组件都有一个 migrate = 小节;将该小节设置为 yes 或 no 就能告诉 USMT 是否包含该组件。
应花些时间检查每个迁移文件的内容,以实现更加完整的迁移过程。由于它们使用纯文本格式,可以使用记事本这样的文本编辑器来编辑 XML 文件。
除了提供经过改进的迁移工具之外,Windows Vista 还在系统映像制作、系统远程管理以及增强软件部署方面包括了一些新功能。Windows Imaging 格式尤其能够提供更强的部署能力,因为它使用基于文件的磁盘映像制作技术。在收集数据之后,映像文件可作为系统卷加载,并能更轻松地对它们进行编辑,不仅降低了维护负担,而且避免了多个重新制作映像的情况。WIM 使用户能够将单个映像部署到具有不同语言要求的、不同类型的计算机硬件上,并且全面支持 SOE 概念。
注意:有关 Windows Imaging 格式的更多信息,可以在微软 TechNet 网站上找到:http://www.microsoft.com/technet/windowsvista/expert/ximage.mspx。 |
将 Windows Vista 经过改善的部署工具集成到部署测试中,以端到端方式测试这组新增的强大技术。具体来说,将 USMT 脚本集成到部署测试中,了解在每种情况下哪些脚本工作得最好。运行 Windows XP 或 Windows 2000 的组织应花些时间创建测试环境,让它们的技术人员全面熟悉在 Windows Vista 发布之后能够使用的这些技术。目前使用 Microsoft Systems Management Server (SMS) 的组织能够充分利用新的 USMT,并将其与 SMS 的 Operating System Feature Pack 集成,以执行远程端到端部署。
迁移工作对于组织和个人都是一件颇费脑筋的事情。虽然 PC 迁移助手和 USMT 中的改进将极大方便未来的迁移工作,但迁移过程中的小问题和错误总是在所难免。组织尤其应该考虑投入精力来学习这些新工具,并着手构建能最好地满足自身需要的迁移方案。这些方案将让迁移过程变得更加平滑,同时为 Windows Vista 的正式部署做好准备。