移动硬盘/U盘上装Windows 7旗舰版(VHD版)
真正的移动版WI7,在移动硬盘/U盘上运行的WI7
工具准备
- 联想Y450本本,已安装Windows 7旗舰版(或者WIPE.0版),用来给移动WI7做引导
-Win7.vhd,15G, 位于Y450 D:盘
- 移动硬盘,分为两个分区,分区一是移动XP的系统分区,分区二是数据盘。
步骤
1. 启动Y450进入Win7,打开win7磁盘管理工具,附加vhd文件,把D:/win7.vhd附加到系统。成功后可以在计算机里看到一个新分区,我给它分配的盘符是V:,所以V:盘里就是已经预先安装好的完整的win7系统文件。
2. 因为USB驱动的关系,这个VHD上的win7从移动硬盘上启动时会蓝屏报错:007B!所以下面要修改VHD win7的USB驱动。
2.1 进入 V:\windows\inf\ 文件夹,到如下文件,依次双击打开,到对应的部分,修改内容如下(黄背景红字符为增加的内容),然后保存覆盖原文件:
usb.inf
;[SignatureAttributes]
;usbccgp.sys=SignatureAttributes.DRM
;usbhub.sys=SignatureAttributes.DRM
[StandardHub.AddService]
Displayame = %StandardHub.SvcDesc%
ServiceType = 1 ; SERVICE_KEREL_DRIVER
;StartType = ; SERVICE_DEMAD_START
StartType = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_ORMAL
ServiceBinary = %\usbhub.sys
;LoadOrderGroup = Base
LoadOrderGroup = System Bus Extender
[CommonClassParent.AddService]
Displayame = %GenericParent.SvcDesc%
ServiceType = 1 ; SERVICE_KEREL_DRIVER
;StartType = ; SERVICE_DEMAD_START
StartType = 0 ; SERVICE_DEMAD_START
ErrorControl = 1 ; SERVICE_ERROR_ORMAL
ServiceBinary = %\usbccgp.sys
;LoadOrderGroup = Base
LoadOrderGroup = Boot Bus Extender
——————————————————————————————————————
usbport.inf
[ControlFlags]
;BasicDriverOk = *
;ExcludeFromSelect = *
;[SignatureAttributes]
;usbehci.sys=SignatureAttributes.DRM
;usbhub.sys=SignatureAttributes.DRM
;usbohci.sys=SignatureAttributes.DRM
;usbport.sys=SignatureAttributes.DRM
;usbuhci.sys=SignatureAttributes.DRM
;[SignatureAttributes.DRM]
;DRMLevel=100
[EHCI.AddReg.T]
HKR,,EnumPropPages2,,usbui.dll,USBControllerPropPageProvider
HKR,,Controller,1,01
;HKLM,System\CurrentControlSet\Services\usbehci,BootFlags,0x0001000,4
[EHCI.AddService]
Displayame = %EHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KEREL_DRIVER
;StartType = ; SERVICE_DEMAD_START
StartType = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_ORMAL
ServiceBinary = %\usbehci.sys
;LoadOrderGroup = Base
LoadOrderGroup = Boot Bus Extender
[OHCI.AddReg.T]
HKR,,EnumPropPages2,,usbui.dll,USBControllerPropPageProvider
HKR,,Controller,1,01
;HKLM,System\CurrentControlSet\Services\usbohci,BootFlags,0x0001000,4
[OHCI.AddService]
Displayame = %OHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KEREL_DRIVER
;StartType = ; SERVICE_DEMAD_START
StartType = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_ORMAL
ServiceBinary = %\usbohci.sys
;LoadOrderGroup = Base
LoadOrderGroup = Boot Bus Extender
[UHCI.AddReg.T]
HKR,,EnumPropPages2,,usbui.dll,USBControllerPropPageProvider
HKR,,Controller,1,01
;HKLM,System\CurrentControlSet\Services\usbuhci,BootFlags,0x0001000,4
[UHCI.AddService]
Displayame = %UHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KEREL_DRIVER
;StartType = ; SERVICE_DEMAD_START
StartType = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_ORMAL
ServiceBinary = %\usbuhci.sys
;LoadOrderGroup = Base
LoadOrderGroup = Boot Bus Extender
[ROOTHUB.AddReg.T]
HKR,,EnumPropPages2,,usbui.dll,USBHubPropPageProvider
;HKLM,System\CurrentControlSet\Services\usbhub,BootFlags,0x0001000,4
[ROOTHUB.AddService]
Displayame = %ROOTHUB.SvcDesc%
ServiceType = 1 ; SERVICE_KEREL_DRIVER
;StartType = ; SERVICE_DEMAD_START
StartType = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_ORMAL
ServiceBinary = %\usbhub.sys
;LoadOrderGroup = Base
LoadOrderGroup = System Bus Extender
————————————————————————————————————
usbstor.inf
[USBSTOR.AddService]
Displayame = %USBSTOR.SvcDesc%
ServiceType = 1
;StartType =
StartType = 0
ErrorControl = 1
ServiceBinary = %\USBSTOR.SYS
LoadOrderGroup = System Bus Extender
2.2 进入 v:\Windows\System2\DriverStore\FileRepository\,
到名为usb.inf_……的文件夹,然后把刚才改好的usb.inf文件复制到此处覆盖原文件;
然后继续名为usbport.inf_……的文件夹,用改好的usbport.inf文件覆盖此处的原文件;
继续名为usbstor.inf_……的文件夹,用改好的usbstor.inf覆盖此处的原文件。
(注意:这个位置的文件夹和文件所有权属于TrustedInstaller,直接改是不行的,首先要修改所有权为登录用户,并且赋予完全权限,才可以修改。修改步骤请自己网上搜。)
2. 文件改好了,接下来要改注册表 V:\windows 的注册表。修改注册表有很多方法,我下面用的是最简单的一种
2..1 打开写字板,把如下代码复制到写字板中,保存为usb1.reg(注意不是usb1.!)
REGEDIT4
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\services\UsbBootWatcherService]
Type=dword:00000010
Start=dword:00000002
ErrorControl=dword:00000000
ImagePath=hex(2):25,5,79,7,74,65,6d,52,6f,6f,74,25,5c,7,79,7,74,65,6d,,\
2,5c,55,7,62,42,6f,6f,74,57,61,74,6,68,65,72,2e,65,78,65,00
Displayame=Usb Boot Watcher Service
Objectame=LocalSystem
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\UsbBootWatcherService]
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Control\SafeBoot\etwork\UsbBootWatcherService]
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\services\pciide]
Start=dword:00000000
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\services\intelide]
Start=dword:00000000
2..2 打开写字板,把如下代码复制到写字板中,保存为usb2.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Services\usbccgp]
Group=Boot Bus Extender
Start=dword:00000000
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Services\usbehci]
Group=Boot Bus Extender
Start=dword:00000000
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Services\usbhub]
Group=Boot Bus Extender
Start=dword:00000000
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Services\usbohci]
Group=Boot Bus Extender
Start=dword:00000000
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Services\USBSTOR]
Start=dword:00000000
Group=Boot Bus Extender
[HKEY_LOCAL_MACHIE\SYSTEM\CurrentControlSet\Services\usbuhci]
Group=Boot Bus Extender
Start=dword:00000000
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
回复匿名网友:再做第二步的时候到了重启进入VHD的时候写入注册表的那个环节可不可以通过其他方式写入注册表而不是进入vhd的系统才写入,有没有不进入VHD写入注册表的?比如ghost的镜像,如何写入GHOST镜像中的系统啊?
2.. 在本地win7修改VHD win7注册表的方法如下1. 进入v:\windows\system2\config\,到名为system的文件,复制到随便哪里2. 打开本地win7的注册表编辑器,定位到HKEY_LOCAL_MACHIE,然后从菜单选择[文件]-[加载配置单元]-选择刚才复制的system文件导入注册表,并且改名为temp(或者随便什么名). 修改本攻略中2..1和2..2中的usb1.reg和usb2.reg内容。把其中所有HKEY_LOCAL_MACHIE\SYSTEM\改为HKEY_LOCAL_MACHIE\temp\,保存。
4. 双击usb1.reg usb2.reg把内容导入注册表
5. 右键点击注册表项HKEY_LOCAL_MACHIE\temp\,选[导出]-改保存类型为[注册表配置单元文件]-起名为system(无后缀名)-确定保存6. 把改好的system复制到v:\windows\system2\config\,覆盖原文件(或者把原文件改名),做这一步,你可能需要system或是administror权限,请自己网上搜索获得权限的方法经过上面几步,VHD win7的注册表就改好了。如果是ghost镜像,你需要用ghostexp获得镜像内的system文件,然后按上述步骤修改,改好后用ghostexp把改好的system文件写入ghost镜像的同一位置。】
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
2.4 关机重启进入V:盘的Win7,即本地的VHD Win7。到2.中创建的usb1.reg和usb2.reg文件,分别双击运行,文件中的内容即被写入VHD Win7的注册表。
2.5 重启,进入本地Windows7。
在步骤2中,USB驱动已经改好了,现在win7.vhd中的系统已经可以在移动硬盘中运行了。插上移动硬盘,把D:\win7.vhd文件复制到G:\ (移动硬盘数据盘,事先准备好大于15G的空闲空间)
4 不要急着用移动硬盘去启动计算机,因为——引导还没有建立!下面我们来手动给G:\win7.vhd建立引导。
4.1 把本地Windows7的系统盘中boot文件夹和bootmgr文件完整复制到移动硬盘 F:\ (这相当于移动硬盘的C盘)根目录下
4.2 进入 c:\windows\system2 文件夹,把如下三个文件复制到 F:\boot\ 文件夹下:
—— 用来给移动硬盘MBR写引导信息
—— 用来建立、修改bcd引导项
—— 用来复制bcd引导项
4. 运行cmd进入命令行,依次运行如下命令:
bcdboot c:\windows /s f: —— 把本地Windows7的引导项复制到F:盘(即移动硬盘)
bootsect /nt60 f: /mbr —— 这个命令将把nt60版的引导信息写入移动硬盘的mbr!因此一定要小心别搞错了盘符!
bcdedit /store f:\boot\bcd /copy {default} /d Windows 7 VHD USB
回车后返回这种格式的GUID, {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx},后续命令中我用{GUID}代替
bcdedit /store f:\boot\bcd /set {GUID} device vhd=[g:]\win7.vhd
bcdedit /store f:\boot\bcd /set {GUID} osdevice vhd=[g:]\win7.vhd
bcdedit /store f:\boot\bcd /set {GUID} detecthal on —— 打开detecthal参数,对移动win7的兼容性非常重要,作用是启动时强制检测hal(即俗称的电源管理模式,做过系统封装的都知道这东西的重要性)。xp就没有这个功能……
bcdedit /store f:\boot\bcd /displayorder {GUID} /addlast
bcdedit /store f:\boot\bcd /timeout 5
改这改那,终于都改好了。OK,现在一切就绪。
5 关机,用移动硬盘启动Y450吧……
6 还可以用它来启动Dell D60,嘿嘿……第一次启动时Windows7会自动安装驱动。
攻略完成!
转载于:https://wwwblogs/k98091518/p/5919784.html
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
下一篇:Spring发布
推荐阅读
留言与评论(共有 10 条评论) |
本站网友 血凝试验 | 0秒前 发表 |
\windows\inf\ 文件夹,到如下文件,依次双击打开,到对应的部分,修改内容如下(黄背景红字符为增加的内容),然后保存覆盖原文件: usb.inf ;[SignatureAttributes] ;usbccgp.sys=SignatureAttributes.DRM ;usbhub.sys=SignatureAttributes.DRM [StandardHub.AddService] Displayame = %StandardHub.SvcDesc% ServiceType = 1 ; SERVICE_KEREL_DRIVER ;StartType = ; SERVICE_DEMAD_START StartType = 0 ; SERVICE_BOOT_START ErrorControl = 1 ; SERVICE_ERROR_ORMAL ServiceBinary = %\usbhub.sys ;LoadOrderGroup = Base LoadOrderGroup = System Bus Extender [CommonClassParent.AddService] Displayame = %GenericParent.SvcDesc% ServiceType = 1 ; SERVICE_KEREL_DRIVER ;StartType = ; SERVICE_DEMAD_START StartType = 0 ; SERVICE_DEMAD_START ErrorControl = 1 ; SERVICE_ERROR_ORMAL ServiceBinary = %\usbccgp.sys ;LoadOrderGroup = Base LoadOrderGroup = Boot Bus Extender —————————————————————————————————————— usbport.inf [ControlFlags] ;BasicDriverOk = * ;ExcludeFromSelect = * ;[SignatureAttributes] ;usbehci.sys=SignatureAttributes.DRM ;usbhub.sys=SignatureAttributes.DRM ;usbohci.sys=SignatureAttributes.DRM ;usbport.sys=SignatureAttributes.DRM ;usbuhci.sys=SignatureAttributes.DRM ;[SignatureAttributes.DRM] ;DRMLevel=100 [EHCI.AddReg.T] HKR | |
本站网友 侧柏叶泡酒 | 15分钟前 发表 |
7 | |
本站网友 你伤害了我还一笑而过 | 29分钟前 发表 |
System\CurrentControlSet\Services\usbehci | |
本站网友 常务副总经理 | 28分钟前 发表 |
在步骤2中,USB驱动已经改好了,现在win7.vhd中的系统已经可以在移动硬盘中运行了 | |
本站网友 三氯氢硅 | 18分钟前 发表 |
0x0001000 | |
本站网友 重楼种植技术 | 26分钟前 发表 |
本站网友 消毒水配比 | 13分钟前 发表 |
本站网友 44rrr | 7分钟前 发表 |
\boot\ 文件夹下: —— 用来给移动硬盘MBR写引导信息 —— 用来建立 | |
本站网友 隔壁班的男生 | 0秒前 发表 |
6d |