分享
 
 
 

在移动硬盘/U盘上运行win7(VHD版)

王朝学院·作者佚名  2009-12-22
窄屏简体版  字體: |||超大  

为什么要用VHD而不是直接用真实硬盘呢?因为——方便,用VHD的话,只要硬盘空间足够,就可以放进10个20个系统而不必考虑分区的问题,每个系统只不过是一个VHD文件罢了。卸载也非常方便,直接把相应的VHD删除,然后再删掉相应的bcd引导项就完事。制作另一个新的移动系统更是简单,把VHD复制到另一个移动硬盘,然后重建引导,就一切OK。

对于不喜欢用VHD的同学,真实硬盘做法也是一样的。bcd引导项直接修改成引导移动硬盘/U盘的win7就可以了。

如果安装到U盘的话,首先U盘要够大!其次完成后要安装支持win7的fbwf(一定要装!否则U盘很快就挂,论坛里有下载)

———————————————————————————————————————————————

首先要把WIN7安装到VHD里,然后用这个VHD启动计算机并且运行WIN7。这一步很容易,我就略过了,论坛里有相关帖子。

下面继续,把这个装了WIN7的VHD移植到移动硬盘,然后用移动硬盘启动计算机,并且运行VHD中的WIN7。

制作好的移动版WIN7兼容性很好!我用这个移动版WIN7启动了两台笔记本,联想Y450和Dell的D630,完全没有任何问题;还启动了我的老台式机,01年的,P4 1.5G,512M内存,USB1.1,bios无usb启动选项。唯一的麻烦是第一次启动新计算机时,要重新安装驱动。移动版win7的性能比本地的要略低,一是USB2.0的速度限制,二是VHD的读写驱动会稍微拖慢硬盘读写速度,但是不会低太多,这个贴的最后,我会发本地win7和移动win7的性能对比图。

工具准备

- 联想Y450本本,已安装Windows 7旗舰版,用来给移动WIN7做引导并且修改win7.vhd的内容(不一定要win7,反正能给移动win7做引导和修改就行,比如WINPE3.0版)

- Win7.vhd,15G, 位于Y450 D:盘

- 移动硬盘,80G分为两个分区,分区一是其它系统的系统分区,分区二是数据盘。

步骤

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]

DisplayName = %StandardHub.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

;StartType = 3 ; SERVICE_DEMAND_START

StartType = 0 ; SERVICE_BOOT_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbhub.sys

;LoadOrderGroup = Base

LoadOrderGroup = System Bus Extender

[CommonClassParent.AddService]

DisplayName = %GenericParent.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

;StartType = 3 ; SERVICE_DEMAND_START

StartType = 0 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\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=1300

[EHCI.AddReg.NT]

HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"

HKR,,Controller,1,01

;HKLM,System\CurrentControlSet\Services\usbehci,BootFlags,0x00010003,4

[EHCI.AddService]

DisplayName = %EHCIMP.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

;StartType = 3 ; SERVICE_DEMAND_START

StartType = 0 ; SERVICE_BOOT_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbehci.sys

;LoadOrderGroup = Base

LoadOrderGroup = Boot Bus Extender

[OHCI.AddReg.NT]

HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"

HKR,,Controller,1,01

;HKLM,System\CurrentControlSet\Services\usbohci,BootFlags,0x00010003,4

[OHCI.AddService]

DisplayName = %OHCIMP.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

;StartType = 3 ; SERVICE_DEMAND_START

StartType = 0 ; SERVICE_BOOT_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbohci.sys

;LoadOrderGroup = Base

LoadOrderGroup = Boot Bus Extender

[UHCI.AddReg.NT]

HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"

HKR,,Controller,1,01

;HKLM,System\CurrentControlSet\Services\usbuhci,BootFlags,0x00010003,4

[UHCI.AddService]

DisplayName = %UHCIMP.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

;StartType = 3 ; SERVICE_DEMAND_START

StartType = 0 ; SERVICE_BOOT_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbuhci.sys

;LoadOrderGroup = Base

LoadOrderGroup = Boot Bus Extender

[ROOTHUB.AddReg.NT]

HKR,,EnumPropPages32,,"usbui.dll,USBHubPropPageProvider"

;HKLM,System\CurrentControlSet\Services\usbhub,BootFlags,0x00010003,4

[ROOTHUB.AddService]

DisplayName = %ROOTHUB.SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

;StartType = 3 ; SERVICE_DEMAND_START

StartType = 0 ; SERVICE_BOOT_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

ServiceBinary = %12%\usbhub.sys

;LoadOrderGroup = Base

LoadOrderGroup = System Bus Extender

————————————————————————————————————

usbstor.inf

[USBSTOR.AddService]

DisplayName = %USBSTOR.SvcDesc%

ServiceType = 1

;StartType = 3

StartType = 0

ErrorControl = 1

ServiceBinary = %12%\USBSTOR.SYS

LoadOrderGroup = System Bus Extender

2.2 进入 v:\Windows\System32\DriverStore\FileRepository\,

找到名为usb.inf_……的文件夹,然后把刚才改好的usb.inf文件复制到此处覆盖原文件;

然后继续找名为usbport.inf_……的文件夹,用改好的usbport.inf文件覆盖此处的原文件;

继续找名为usbstor.inf_……的文件夹,用改好的usbstor.inf覆盖此处的原文件。

(注意:这个位置的文件夹和文件所有权属于TrustedInstaller,直接改是不行的,首先要修改所有权为登录用户,并且赋予完全权限,才可以修改。修改步骤请自己网上搜。)

2.3 文件改好了,接下来要改注册表 V:\windows 的注册表。修改注册表有很多方法,我下面用的是最简单的一种

2.3.1 打开写字板,把如下代码复制到写字板中,保存为usb1.reg(注意不是usb1.reg.txt!)

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\UsbBootWatcherService]

"Type"=dword:00000010

"Start"=dword:00000002

"ErrorControl"=dword:00000000

"ImagePath"=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,\

32,5c,55,73,62,42,6f,6f,74,57,61,74,63,68,65,72,2e,65,78,65,00

"DisplayName"="Usb Boot Watcher Service"

"ObjectName"="LocalSystem"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\UsbBootWatcherService]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\UsbBootWatcherService]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide]

"Start"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\intelide]

"Start"=dword:00000000

2.3.2 打开写字板,把如下代码复制到写字板中,保存为usb2.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbccgp]

"Group"="Boot Bus Extender"

"Start"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci]

"Group"="Boot Bus Extender"

"Start"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub]

"Group"="Boot Bus Extender"

"Start"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbohci]

"Group"="Boot Bus Extender"

"Start"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]

"Start"=dword:00000000

"Group"="Boot Bus Extender"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbuhci]

"Group"="Boot Bus Extender"

"Start"=dword:00000000

2.4 关机重启进入V:盘的Win7,即本地的VHD Win7。找到2.3中创建的usb1.reg和usb2.reg文件,分别双击运行,文件中的内容即被写入VHD Win7的注册表。

2.5 重启,进入本地Windows7。

3 在步骤2中,USB驱动已经改好了,现在win7.vhd中的系统已经可以在移动硬盘中运行了。插上移动硬盘,把D:\win7.vhd文件复制到G:\ (移动硬盘数据盘,事先准备好大于15G的空闲空间)

4 不要急着用移动硬盘去启动计算机,因为——引导还没有建立!下面我们来手动给G:\win7.vhd建立引导。

4.1 把本地Windows7的系统盘中boot文件夹和bootmgr文件完整复制到移动硬盘 F:\ (这相当于移动硬盘的C盘)根目录下

4.2 进入 c:\windows\system32 文件夹,把如下三个文件复制到 F:\boot\ 文件夹下:

bootsect.exe —— 用来给移动硬盘MBR写引导信息

bcdedit.exe —— 用来建立、修改bcd引导项

bcdboot.exe —— 用来复制bcd引导项

4.3 运行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, {********-****-****-****-************},后续命令中我用{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 D630,嘿嘿……第一次启动时Windows7会自动安装驱动。

7 还可以用它来启动01年的老爷机,P4 1.5G,512M内存,USB1.1,bios无usb启动选项,我插上移动硬盘后,从硬盘项可以看到移动硬盘,从它启动后顺利进入WIN7 USB VHD系统!当然因为USB1.1的关系,启动时间5分钟……运行速度嘛,能感觉到明显的停滞感……没办法,这老爷机出厂的时候USB2.0还不成气候呢。还有网卡,声卡,显卡驱动全都不能识别……太老啦!

8 还可以用它来启动明年的主流机,USB3.0+SSD固态硬盘,岂不是比本地硬盘还快?!流口水YY中……

注意:关于Windows 7版本的选择,第一,一定要旗舰版,因为只有旗舰版才支持VHD!第二,要考虑激活Windows 7的问题,因为当你在其它机器上启动这个系统,因为硬件改了,Windows会要求你重新激活……如果你的是特定的OEM版,很可能启动不了另一台计算机。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有