朱玛12345678 发表于 2019-3-3 15:45:17

全网首发!Win7移植便携式工作区与USB3.0启动Windows 7 To Go教程

本帖最后由 朱玛12345678 于 2019-3-22 00:48 编辑


关于便携式工作区的简单说明:
Windows To Go(便携式工作区)是微软从Windows 8企业版本开始正式引入的一项新功能,它实现了Windows系统可在USB驱动器中启动并运行。
便携式工作区最早出现于Windows 7 6.1.7850测试版本中,该版本带来了原生支持USB2.0和3.0启动特性。

同时该版本也带来了后来Win8才有的一些功能如32位EFI启动、从exFAT分区中启动、快速启动等重要底层特性,可详见此贴:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=412584
本帖采用7850版本自带的便携式工作区创建工具,本人经过一段时间的研究现已成功实现将其移植到7601版本中使用(对于Win7RTM7600版本实测也可以用)。

文件下载链接:
论坛直接下载:

腾讯微云下载:http://share.weiyun.com/5JAcYW2

百度网盘下载:http://pan.baidu.com/s/1hki7YGLHgMDYOQuBVREnUw

安装方法:
解压缩包后根据你的系统位数选择对应的文件(桌面上右键计算机,点击属性就可以看到),64位系统请用64位文件夹里的文件,32位系统请用32位文件夹里的文件。
然后将pwcreator.exe.mui文件放入C:\Windows\System32\zh-CN文件夹内,其中C:\为系统盘所在盘符;再将pwcreator.exe文件放入C:\Windows\System32文件夹内,然后运行pwcreator.exe即可。

使用教程:
打开便携式工作区(Windows To Go)创建工具

嗯找不到设备?好像U盘还没插上。。

现在插上U盘,选择识别出的U盘。
这里选择了移动硬盘类为例
注意官方工具限制U盘本身的容量要>16G才能制作,似乎还可能需要将U盘识别为本地硬盘才可以(想到了cfadisk这个神奇的驱动......)。

选择Windows安装文件的位置,貌似没选对地方报错了。。
注意微软官方的制作工具人为地限制了只能选择原版镜像的文件目录结构和企业版的SKU,而使用第三方制作工具则没有这个限制。

将原版.ISO镜像装载到虚拟光驱或者解压缩后选择该目录,这里选择了7850企业版为例。
另外如使用7601企业版镜像来安装请自行去MSDN下载系统镜像

选择刚才挂载的虚拟光驱盘符即可

现在准备开始制作WTG启动盘,U盘内如有重要数据请先做好备份。

正在制作中请耐心等待,所需时间根据U盘的读写速度快慢而定。

制作成功,此时可关闭制作工具。

制作完成后U盘状态大概如图所示:
注意如使用原生支持USB启动的6.1.7850版本制作的便携工作区,可以直接重启计算机选择U盘WTG启动系统。


如使用无原生USB启动支持的6.1.7601版本制作的便携工作区,还必须完成以下修改注册表部分操作才能实现USB启动。


——分割线——


2019年3月22日更新
教程调整:
已更正,对于7601版本开启USB3.0启动,其中BootFlags正确的值应该为4,而不是使用7850版本默认的10或16。

Windows 7正式版开启USB2.0/3.0启动方案详解
准备工具:
自行准备USB3.0驱动(如使用无USB3.0接口的老电脑则不需要安装此驱动也不需要做以下与USB3.0相关的操作)
DISM++
Registry Workshop

操作教程:
先打开DISM++,选择U盘系统所在的分区,点击打开会话,然后点击驱动管理,接着点击添加驱动,在弹出的窗口中选择你的主板/板卡芯片组所适用的USB3.0驱动文件位置,最后点击选择文件夹开始导入驱动。
以下为添加英特尔USB3.0驱动为例

注意选择的驱动位数必须与系统位数相匹配,否则将无法成功添加。
添加驱动成功后可关闭此程序

打开Registry Workshop,点击文件菜单,再点击加载配置单元。

在弹出的窗口中定位到U盘系统所在分区盘符:\Windows\System32\config文件夹,选择SYSTEM(无扩展名)文件打开。

注册表挂载的项名称与加载位置不限,这里以SYS命名为例。

总共需要修改的注册表键值有五处,其中开启USB2.0启动只需要修改前两项即可,开启USB3.0启动则五项都要修改,具体键值如图所示:

首先定位到HKEY_LOCAL_MACHINE(以下简写为HKLM)\挂载名(以SYS为例)\ControlSet001\Control项,双击BootDriverFlags键值在编辑框内将其修改为十六进制的14或十进制的20,点击确定完成修改。

接着定位到HKLM\SYS\ControlSet001\Control\PnP项,双击PollBootPartitionTimeout键值输入十六进制的7530或十进制的30000,点击确定完成修改。

开启USB2.0接口启动支持到这里就完成了,如开启USB3.0接口启动支持还需要修改以下的三个键值。
定位到HKLM\SYS\ControlSet001\services\iusb3hub(即驱动所对应的文件名)项,在右侧空白处右键,点击新建值→整数值(DWORD值)。

然后将其重命名为BootFlags

双击该键值,在编辑框内输入4,十六进制和十进制都相同,点击确定完成修改。
然后右键此键值,点击复制,或直接按下Ctrl+C键完成复制。

定位到HKLM\SYS\ControlSet001\services\iusb3xhc项,在右侧空白处右键点击粘贴刚才复制好的键值,或直接按下Ctrl+V键完成粘贴。
另外按照之前的方式手动新建一个该键值再设置的传统方法也可以。

定位到HKLM\SYS\ControlSet001\services\iusb3hcs项,在右侧空白处右键再次点击粘贴刚才复制好的键值,或直接按下Ctrl+V键完成粘贴。
同上按照之前的方式手动新建一个该键值再设置的传统方法也可以。
补充一句服务项中关于USB3.0的设置也可以不使用BootFlags键值来实现,将其中已有的Start键值由默认的3改为0后也能实现一样的效果。微软默认使用的是添加BootFlags键值方案,实际上这两个方案二选其一即可。

修改完毕后在左侧导航窗格中找到并单击HKLM\SYS项

点击文件菜单,再点击卸载配置单元以保存修改。

另外个别情况下如果出现无法卸载配置单元报错,请关闭重新打开此程序后再尝试卸载配置单元一般即可解决。

最后U盘插入USB3.0接口中测试Win7ToGo启动成功不再蓝屏,至此大功告成!


全篇完

朱玛12345678 发表于 2019-3-3 15:45:18


另外补充一下这个工具实测也可以在Win8和Win10系统下运行,当然系统本身也自带了WTG创建工具。
Win7系统运行此工具时如果弹出wimgapi报错对话框,请检查System32下的wimgapi.dll文件版本是否为6.1版本(如果用6.0版本的文件就会报错)。

朱玛12345678 发表于 2019-3-3 15:47:27


关于Windows To Go的进阶玩法空闲时再继续补充......

朱玛12345678 发表于 2019-3-3 23:58:47

大自然的园丁 发表于 2019-3-3 21:51
楼主的介绍很专业,再次学习了。
补充一个USB3.0启动中,实际操作时存在的问题:
如果是全新安装好了Wind ...

对于已经安装好正常用的Win7系统通过改Start值的方案不会出现你提到的这个问题,如果是第一次全新安装需要OOBE初始化的话我确实没有专门测试过这个。
我的话一般用的是BootFlags键值方案,确定这个不受影响可以过OOBE到桌面且不蓝屏。
因为微软在原生支持USB启动的Win8及更高版本的系统中默认使用的是BootFlags方案应该有它相应的道理,所以我也就直接按照微软默认的这套方案来做了。
最后感谢你的细心反馈,我会对教程做一些改进。

ddsony 发表于 2019-3-3 16:02:55

Windows 7 USB启动改造,这个是技术活,要顶!

新空气 发表于 2019-3-3 17:17:08

牛贴一定要 顶

小7的驱动不能自动更新,经常在不同电脑间工作的话并不是很方便。

朱玛12345678 发表于 2019-3-3 17:28:09

新空气 发表于 2019-3-3 17:17
牛贴一定要 顶

小7的驱动不能自动更新,经常在不同电脑间工作的话并不是很方便。

因为Win7出的那个年代对WTG的需求量并不像现在那么多,所以微软在开发设计此系统时就没有专门针对WTG来做优化。不过从Win8开始微软就已经针对WTG专门做了充足的优化,包括拔出冻结保护与自动匹配驱动等问题也得到了解决。

3210qzqz 发表于 2019-3-3 20:10:51

有点麻烦,有一键制作的吗,嘻嘻嘻!

大自然的园丁 发表于 2019-3-3 21:51:23

楼主的介绍很专业,再次学习了。
补充一个USB3.0启动中,实际操作时存在的问题:
如果是全新安装好了Windows7到U盘或是VHD里,dism++打入USB3.0驱动,再改对应的注册表键值时,也就是楼主说的第二种方法补充一句服务项中关于USB3.0的设置也可以不使用BootFlags键值来实现,将其中已有的Start键值由默认的3改为0后也能实现一样的效果。

如果改成0后,启动系统,出现安装程序正在安装设备界面https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1551631020561&di=131b7c9ab199c3ab9fb008229d4abe8b&imgtype=0&src=http%3A%2F%2Fwww.ushendu.com%2Fuploads%2Fallimg%2F161114%2F11-161114155922295.jpg,安装完成后系统自动重启,而这时start值的刚改好的0又会变成3,此时重启后就会蓝屏,需要重新修改,另外楼主介绍的第一种方法新建bootflags的方法我没使用,这个方法应该是不受影响的,如果哪次我再安装系统使用这个方法有问题的话我会再次反馈一下。

rengrancunzai 发表于 2019-3-3 22:00:18

顶顶更健康

chishingchan 发表于 2019-3-3 23:48:43

这个系统数楼主玩的最精!

朱玛12345678 发表于 2019-3-4 00:07:59

3210qzqz 发表于 2019-3-3 20:10
有点麻烦,有一键制作的吗,嘻嘻嘻!

没有,你需要第三方制作工具。
首先微软在设计这个工具时就不是拿给Win7正式版用的,我这还是强行移植过来的东西自然也不受微软的技术支持。
你非要用7601来做就得自行改注册表开启USB启动支持才行,如果你用7850版本来做的话那做好了就能直接用。

2010sya 发表于 2019-3-4 08:02:34

技术贴,谢谢分享

荷莲之籽 发表于 2019-3-4 09:18:10

高手,只能仰望啊,我之前试了很多次U盘启动Win7,都止步于USB2.0,人才啊

levinsky 发表于 2019-3-4 11:37:24

谢谢分享

2019hhh 发表于 2019-3-4 13:52:12

谢谢分享!

phe889 发表于 2019-3-4 14:55:13

路过学习一下,谢谢楼主。。。

2019hhh 发表于 2019-3-4 14:57:52

首先要
感谢有这么好的分享平台
感谢有这么好的教程
感谢有这好的老大们的辛苦和无私奉献
其次要说明
本人是照瓢画葫芦,边画还要再边请教,才能做得出来的那一类人。照着样能做出来我的目的也就达到了的那一类人!
这么好的分享平台
这么好的教程
这么好的老大们的辛苦和无私奉献
正好让我遇上了,所以说千说万说得就是:
首先要感谢
有这么好的分享平台
有这么好的教程
有这么好的老大们的辛苦和无私奉献

新空气 发表于 2019-3-4 22:04:17

再次拜读,受益良多,准备动手折腾

2019hhh 发表于 2019-3-5 14:21:00

请问老大,
能不能传一个做好的Windows 7_x64 To Go.HgO,能整体通过mbrostool能用的?

朱玛12345678 发表于 2019-3-5 16:53:57

2019hhh 发表于 2019-3-5 14:21
请问老大,
能不能传一个做好的Windows 7_x64 To Go.HgO,能整体通过mbrostool能用的?

可以这样做出来没问题,但我认为这么做的意义并不是很大:
首先我在帖子里提供的教程已经很详细了,差不多是那种只要会用电脑的人都能够做的出来,也就是说你完全可以自己定制并封装好系统以满足自己的需求,所以我就没有必要再封装一个略显多余系统了。
然后其实需要修改的也就那几个地方操作简单并不繁琐,自己手动改好所用的时间比下载完一个封装好的系统镜像快多了,如果是像下面这种实际操作特别繁琐的东西,那提供一个封装好的系统是有必要的。
举例的话比如这个:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=412683

2019hhh 发表于 2019-3-5 17:14:54

谢谢老大回复!

ls68057121 发表于 2019-3-9 16:06:25

顶顶顶!!!

kenc163 发表于 2019-3-16 15:34:23

本人按上面方法更改,值就不一样,在一台笔记本电脑,一台台式电脑能成功,一台新的台式电脑失败。跟足值会失败。

kenc163 发表于 2019-3-16 15:34:29

本人按上面方法更改,值就不一样,在一台笔记本电脑,一台台式电脑能成功,一台新的台式电脑失败。跟足值会失败。

kenc163 发表于 2019-3-16 15:34:42

本人按上面方法更改,值就不一样,在一台笔记本电脑,一台台式电脑能成功,一台新的台式电脑失败。跟足值会失败。

朱玛12345678 发表于 2019-3-16 21:20:35

kenc163 发表于 2019-3-16 15:34
本人按上面方法更改,值就不一样,在一台笔记本电脑,一台台式电脑能成功,一台新的台式电脑失败。跟足值会 ...

请上传相关截图

kenc163 发表于 2019-3-18 19:57:10

朱玛12345678 发表于 2019-3-16 21:20
请上传相关截图

iusb3hub项;iusb3xhc项;iusb3hcs项;BootFlags键值给4。不要问我为什么。我只是试出来的。

steven3015 发表于 2019-3-18 20:35:05

楼主,我想问下,我注册表里没这个HKLM\SYS\ControlSet001\services\iusb3hcs,是驱动的问题吗,其他2个倒有

kenc163 发表于 2019-3-18 21:27:39

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=385386&extra=&page=1
USB驱动
页: [1] 2 3 4 5 6 7
查看完整版本: 全网首发!Win7移植便携式工作区与USB3.0启动Windows 7 To Go教程