Win 8新技术深入探讨系列(三)——Windows to Go
本帖最后由 sea-monsters 于 2013-1-13 10:27 编辑也许我们之中的很多人都曾经想过一个情景——有一天我们可以带着一个U盘,然后在任意的电脑上插上,就可以回到我们熟悉的系统环境中,继续我们的工作,而不需每天带着一个几斤重的笔记本来回奔波,同时也可以有台式机强大得多的性能,更快速的完成任务。要是在以前,这个想法虽不说不能实现,但是对于大多数普通电脑用户来说,也是一个很困难的事。网络上曾经红火一时的所谓的“网络操作系统”,更多的只是用网页模拟或者flash的方式,实现一些简单的应用,不但速度慢,功能也少。今天给大家介绍的是Win 8的又一个吸引人的功能——Windows to Go。下面先是一段简单的Windows to Go的功能特性概述内容。 Windows To Go的功能概述 Windows To Go 是 Windows 8的重要特征。需要在pc上运行的操作系统和用usb连接的外部驱动器都满足windows7/windows 8的认证,才能运行。Windows To Go能够以相同的管理模式来管理台式机和笔记本,并有效的利用资源来提供更好的服务。以下是一些在使用Windows To Go时候的注意事项 注:Windows RT上不支持Windows To Go Windows To Go的工作起来就跟任何其他安装方法得到的Windows一样(除了几个地方)。这些不同之处主要有: l内部磁盘将处于脱机状态。为了确保数据不会意外地丢失,电脑上的内置硬盘在引导进入 Windows To Go的工作区时会处于脱机状态时。同样如果Windows To Go的驱动器插入到正在运行的系统, Windows To Go的驱动器将不会列出在 Windows 资源管理器中。l默认不使用Trusted Platform Module (TPM) 。当使用 BitLocker加密的驱动器时,系统将使用驱动器上的安全密码,而不是让TPM 在到特定的计算机和 Windows To Go 驱动器将计算机之间转移。(这里可能不准确)l默认情况下禁用休眠。为了确保 WindowsTo Go设备能够更快的在计算机之间转移,默认情况下禁用休眠。但是通过使用策略组设置(Group Policy settings),用户可以重新启用休眠。l不支持Windows环境恢复。在某些情况下,如果系统出问题需要恢复Windows To Go的驱动器,只能重建一个新的Windows映像。l按钮不可重置。当运行 WindowsTo Go时,重新设定为计算机制造商提供的标准的功能并不能被应用,所以该功能被禁用。(也就是说默认自带的制造商的软件等均不存在在Windows to Go中。)l默认禁用存储。因为 Windows To Go 需要传输数据到到不同的pc主机,所以存储功能被禁用。如果Windows To Go的工作不需要传输到多台 PC 主机,则可以启用存储区。 Windows To Go的驱动器可以在多台计算机上启动。在主机上第一次引导Windows To Go的工作时将检测到的计算机上的所有硬件,并安装所有所需要的驱动程序。随后该主机上引导Windows To Go的工作时将能够识别主机计算机和自动加载正确的驱动程序。 您需要测试 Windows To Go工作区使用的应用程序,以确保它们也支持漫游。如果有的程序已经跟主机绑定了授权,那么用户在Windows to Go中使用的时候可能会碰到问题。
其实这个功能的关键核心——WIM(Windows Image Manager)文件早在Windows Vista就已经有了。Vista采用的新型安装方法就是利用一个压缩的完整系统镜像,在安装过程中解压调试,就完成了系统的安装。这种构思,成功的将一个安装文件有2G大小的Vista系统的安装时间缩短到大小为700M左右的Xp的一半甚至1/3。这也是WIM文件的第一次华丽登场,与之同时出现的就是称为imageX的一个系统镜像压缩程序,它可以将一个系统压缩成一个WIM文件,也可以对其进行调整。 想尝试Windows to Go功能,首先的第一步就是创建一个系统的WIM镜像文件。关于imageX工具,有挺多可以探讨的地方,这里限于篇幅和作者水平,也就不班门弄斧了,大家可以参见这些帖子:ImageX的语法:https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=551812 实际上挂载一下系统镜像就可以得到这个文件,也可以在这个文件基础上修改。一般来说,除非是某些驱动或者补丁是必须的,建议加进镜像之外,否则直接用官方安装光盘的/source/install.wim就可以了。 有了系统的WIM镜像,下面就跟着我一步步的来创建一个Windows to Go的U盘吧。创建带这个功能的盘有三种方法:如果是装了Win 8 企业版的朋友建议使用Windows to Go创建向导,否则的话就必须利用命令行和Powershell来创建了。这三种方法也就是今天这个帖子的主题。 1、利用Windows toGo创建向导创建一个Windows to Go工作区(这一部分的图片借用了wanghanbin 的博客里面的图片,在此表示感谢~) 1)将你准备用的U盘或者移动硬盘连接上电脑。
2)检查你是不是已经准备好了WIM文件,U盘至少需要有16G的空间来使用这个功能。
3)按下Win + W,键入windows to go,回车进入创建向导;或者到控制面板里面找到“Windows To Go”,点击打开。http://img1.51cto.com/attachment/201208/221623701.jpg
4)在弹出的界面中选择你所准备制作成Windowsto Go工作区的盘,然后选择系统的WIM文件(可以自行浏览查找)。http://img1.51cto.com/attachment/201208/221353498.jpghttp://img1.51cto.com/attachment/201208/221748920.jpg5)接下来是设置Bitlocker密码,这样做可以让你的Windowsto Go工作区有更好的安全性,但是密码不是必须的。这个密码必须有八位长度,而且需要满足你的密码复杂性策略(组策略里面的一个设置,默认关闭,开启时密码必须由数字、字母和字符组成)。http://img1.51cto.com/attachment/201208/222019554.jpg
注:如果有用USB复制机的朋友,制作的时候不要设置Bitlocker,否则整个机子的所有U盘都会共用一个密码。6)接着就是等待系统完成工作区的制作了,制作时间可能有点长,所需时间主要是U盘的速度和镜像大小决定的。http://img1.51cto.com/attachment/201208/222507262.jpghttp://img1.51cto.com/attachment/201208/222611731.jpg
7)选择启动选项,默认不自启动。http://img1.51cto.com/attachment/201208/222723833.jpg
8)制作完成~ 注:这种方法最难成功,因为微软对Windows to Go的设备有着严格的要求,具体要求如下,来自:http://msdn.microsoft.com/en-us/library/windows/hardware/jj134356
要使用Windows to Go功能,移动存储设备必须满足如下要求:
USB启动设备必须是USB 3.0的设备,而且要达到下列工业要求:l所有用到的USB存储设备都必须跟USB3.0 的1.0版本规范兼容;l所有用到的USB存储设备也必须能够兼容USBBOT(Bulk-only Transfer)规范。
另外,USB启动设备必须满足:l在微软的系统扩展描述符中有DWORD值“WindowsBootCapable”;l至少为32G容量(20G可用空间);l支持Trim/unmap命令(机械硬盘架构的除外)l有唯一的、独立的产品标识ID,含:lUSB VID/PIDl查询得到的序列号l查询得到的模组号l设备必须是FIXED状态(RMB=0);l设备不能执行IEEE-1667标准;l设备在引导的时候不能被分配多于一个LUN(Logical Unit Number,逻辑单元号,是储存空间网络SAN的标识符);l设备不能是一个混合USB设备;l设备不能支持UAS(USB AttachedSCSI)协议;l支持下列的模式页(ModePages):l模式页代码:0x08模式子页值:00l最后,设备还必须满足下面的性能要求:l随机4K写入IOPs >=200(机械硬盘架构的除外)l随机4K读取IOPs >=2000(机械硬盘架构的除外)l连续写入速度 >= 40M/sl连续读取速度 >=60M/sl最大的I/O延迟 < 500 msl在典型的用户工作负载下,1小时内最大的共计用户可察觉的I/O延迟时间不能超过20秒。(定义的用户可察觉I/O延迟指超过100ms的延迟。)
2、用命令行创建一个Windows to Go工作区在这个例子里,系统盘是C:盘,移动盘是E:,而F:是挂载的Win 8镜像。图片是Win 8测试版的,所以有Aero Glass。http://www.thomasmaurer.ch/wp-content/uploads/2012/03/WindowsToGo01.png
1) 以管理员身份运行命令提示符,键入并运行diskpart。http://www.thomasmaurer.ch/wp-content/uploads/2012/03/WindowsToGo03.png
2) 键入list disk,然后就可以看到自己电脑上的磁盘。
http://www.thomasmaurer.ch/wp-content/uploads/2012/03/WindowsToGo04.png
3)通过容量判断出Disk 1为U盘,所以对其进行格式化并激活分区,分配盘符E:。select disk 1
clean
create partition primary
format fs=ntfs quick
active
assign letter=e
exithttp://www.thomasmaurer.ch/wp-content/uploads/2012/03/WindowsToGo05.png4)现在我用挂载的F:里面的install.wim文件来制作Windows to Go工作区,这里也可以输入别的WIM文件的地址。利用dism程序来释放WIM文件的内容到E:。dism /apply-image /imagefile=f:\sources\install.wim
/index:1 /applydir:e:\http://www.thomasmaurer.ch/wp-content/uploads/2012/03/WindowsToGo06.png
5)最后一步,用命令行使分区可以引导启动。bcdboot
e:\windows /s e: /f ALL
6)制作完成,现在只需要重启进入系统,并进行简单的最后设置就可以利用这个系统了。
下面是最后一种制作方法:利用PowerShell命令制作。
本帖最后由 sea-monsters 于 2012-9-1 17:22 编辑
3、用PowerShell来创建一个Windowsto Go工作区下面的过程将实现跟前面完全一样的功能,有的句子看起来像是因为行宽的问题而出现了单词中间的连接符“-”,但是实际上这个是命令的语法,小心的一句句对照输入就好。而且操作的时候需要保证只有你准备制作成Windows to Go工作区的USB设备在连接中。 1)以管理员身份运行PowerShell。
2)下面的PowerShell命令用于创建一个有着两个分区,一个带主启动记录(MBR)的FAT32分区来作为启动分区,以及一个NTFS分区。这样分区的目的是使其能够既在用BIOS主板的机子上使用,也能在带UEFI的主板的机子上使用。注:下面的代码带#开头的为注释,可以忽略。 #下面这句话使$Disk指代容量>20G的可移动磁盘
$Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
#彻底清理对应可移动磁盘,请再次确认没有选错分区。(如果移动磁盘的分区还没有被初始化,那这一步会提示出错的,没关系,接着往下就行。)
#在运行这条命令的时候会有确认信息,如果不想见到的话,在后面加上参数 –confirm:$False
Clear-Disk –InputObject $Disk -RemoveData
#这个命令初始化一个新的MBR分区
Initialize-Disk –InputObject $Disk
-PartitionStyle MBR
#这个命令创建一个350M的系统分区
$SystemPartition = New-Partition –InputObject $Disk -Size (350MB) -IsActive
#格式化这个分区为FAT32格式
#同样的,要跳过确认信息加 –Confirm:$False
Format-Volume -NewFileSystemLabel "UFD-System" -FileSystem FAT32 `
-Partition $SystemPartition
# 这一行命令用磁盘上剩下的所有空间来制作一个分区,因为用于制作Windows to Go的磁盘不应该再用作别的用途。
$OSPartition = New-Partition –InputObject
$Disk -UseMaximumSize
Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS `
-Partition $OSPartition
# 这两句是分配盘符用的,当然可以自己定盘符,但是不能是已经被使用的。
Set-Partition -InputObject $SystemPartition -NewDriveLetter "S"
Set-Partition -InputObject $OSPartition -NewDriveLetter "W"
# 这句话用于打开NODEFAULTDRIVELETTER开关,使得这个磁盘在被插入其他电脑的时候所分配的盘符能不被分配盘符。
Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
2)接下来要做的就是用DISM将系统的WIM镜像释放到刚才制作好的分区中。同样的,WIM文件和释放地址根据你所在机子的情况来定,这个只是示例。 dism /apply-image /imagefile:n:\imagefolder\deploymentimages\mywtgimage.WIM /index:1 /applydir:W:\
3)下面利用bcdboot命令行工具来给可移动磁盘上的系统复制必要的启动文件。/f参数用于保证用于BIOS和UEFI的启动文件都被复制进磁盘。 bcdboot W:\Windows\System32\bcdboot W:\Windows /f ALL /s S:
4)应用一个存储区域网络(SAN)的设置OFFLINE_INTERNAL- “4”来防止操作系统自动带上原来制作镜像的时候的内置磁盘信息。这个操作通过在盘上创建一个san_policy.xml文件实现,文件内容如下: <?xml version='1.0' encoding='utf-8' standalone='yes'?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="offlineServicing">
<component
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
language="neutral"
name="Microsoft-Windows-PartitionManager"
processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35"
versionScope="nonSxS"
>
<SanPolicy>4</SanPolicy>
</component>
<component
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
language="neutral"
name="Microsoft-Windows-PartitionManager"
processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35"
versionScope="nonSxS"
>
<SanPolicy>4</SanPolicy>
</component>
</settings>
</unattend>
5)将san_policy.xml文件放在根目录下,这里是W:,然后运行下面的命令: Dism.exe /Image:W:\ /Apply-Unattend:W:\san_policy.xml
6)创建一个应答文件unattend.xml来关闭Windows to Go上面的恢复环境(Windows RE),对应功能的xml文件内容如下: <?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-WinRE-RecoveryAgent"
processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35" language="neutral"
versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UninstallWindowsRE>true</UninstallWindowsRE>
</component>
<component name="Microsoft-Windows-WinRE-RecoveryAgent"
processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral"
versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UninstallWindowsRE>true</UninstallWindowsRE>
</component>
</settings>
</unattend>
7)制作好应答文件之后,将unattend.xml复制进Windows to Go盘里面的sysprep文件夹(这里是W:\Windows\System32\sysprep\)。 注:那些无人值守的设置文件是通过它们的位置发挥作用的。安装过程中,安装程序会在%systemroot%\panther文件夹里面放置一个暂时性的设置文件,这也是安装程序首先会为安装信息而检查的位置。所以为了保证刚才创建的unattend.xml能被用上,必须确认在那个位置没有其他的unattend.xml文件。 另外,如果你并不想在这台电脑上启动你的Windows to Go设备,那么在取下来之前一定要先安全弹出。
8)启动进入Windows to Go工作区如果整个过程都是按照前面描述的来制作的Windows to Go设备将可以有两种启动方式:盘上面的Windows 8启动菜单或者设置为自启动的Windows to Go设备。设置方法很简单,在开始界面输入Windows to Go 启动,选中点击“是”,然后保存修改就行。 今天给大家带来的就是三种创建Windows to Go工作区的方法,不知道大家觉得怎么样呢?希望大家享受到这个Win 8的便利~{:5_596:}
版权归楼主所有,转载请注明出处。
往期链接:
第一期——快速启动:https://bbs.pcbeta.com/viewthread-1120855-1-1.html
第二期——文件历史记录:https://bbs.pcbeta.com/viewthread-1121697-1-1.html
好功能,但是为了实现系统的可用性,对USB设备要求还是很严苛的。针对技术发烧友和企业,不适合个人消费者。 强烈支持,并收藏之。 本帖最后由 yaobin9 于 2012-8-29 23:11 编辑
简单的说在U盘里灌入一个win8系统带到别的机器上可以即插即用而非将现有的win8系统及设置复制到U盘里?
另外这个功能出的还是挺合适的 早几年USB3.0没普及简直是遭罪啥时支持雷电借口就更强悍了{:9_614:}
有些深奥 sea-monsters 发表于 2012-8-29 21:35 static/image/common/back.gif
3、用PowerShell来创建一个Windowsto Go工作区下面的过程将实现跟前面完全一样的功能,有的句子看起来像是因 ...
问下方法一的实质是不是就是方法二?两种方法是不是没有本质区别?
还有插在其他电脑上装驱动有多快呢,会不会有种重新装系统的感觉? 好帖!支持! 前排……不过这等高级功能目前还用不上诶{:5_292:} 〉1、利用Windows to Go创建向导创建一个Windows to Go工作区
此方法最为简便
但得安装企业版才会有Windows to Go键,且限制很多,得找到合适的U盘至少需要有16G的空间来使用这个功能,不过也不是16G以上的U盘就可行的!
有空再试一下 楼主所分享的其他方法!
感谢楼主详尽的说明 !
文章中有个小小错误。
【
1、利用Windows toGo创建向导创建一个Windows to Go工作区
(这一部分的图片借用了wanghanbin 的博客里面的图片,在此表示感谢~)
1)将你准备用的U盘或者移动硬盘连接上电脑。
2)检查你是不是已经准备好了WIM文件,U盘至少需要有16G的空间来使用这个功能。
3)按下Ctrl + W,键入windows togo,回车进入创建向导;或者到控制面板里面找到“Windows To Go”,点击打开。
】
第3)个,应该是按下 windows键 +W 超爱这种技术帖啊 慢慢看看 牛啊啊啊啊啊啊啊 恩,这个不错 好长啊。。。慢慢看了,不过学到了很多呵呵 收藏之。。。 纯技术,powershell的看不懂。 标记一下 回来制作