|
发表于 2010-6-24 10:40:22
|
显示全部楼层
从u盘启动win7/2008 R2的方法
在我的nt 6.x快速安装器中已经包含了win7装到usb移动硬盘的功能,其中利用了usbbootwatcher监视usb启动相关的注册表项,让usb驱动在启动前就加载。
一直有人想把win7装到u盘,这两天这个帖子中的信息和测试给了启示,这里我来总结一下,并提供一些操作方法。
根据win7 embedded和hyper-v R2的文档及这个帖子中的测试,win7/2008 R2 usb启动其实只是由两个注册表项控制的:
HKLM\system\CurrentControlSet\Control\BootDriverFlags
HKLM\system\CurrentControlSet\Control\PnP\PollBootPartitionTimeout
把第一个值设成4就可以在启动开始阶段就加载usb驱动;
而第二个则控制内核等待启动分区PnP反应时间,usb启动设为15000(win7 embedded的值)或者30000(hyper-v r2中的值)
由此看来,usb启动普通win7非常的简单,微软完全已经设计好了。默认不能装到usb设备纯粹是微软策略上的考虑。
下面就来介绍一下u盘启动win7/2008 r2的方法(移动硬盘一样适用):
方法一 (vhd启动):
1、在硬盘上先装一个vhd启动的win7(只有企业版和旗舰版支持vhd启动)
2、启动win7后,用regedit把上面所说的两个注册表项改成4和10进制的30000
3、在u盘上建立激活主分区(启动扇区为nt 6模式),在另一个系统中把vhd文件复制到u盘上
4、用bcdboot和bcdedit在u盘上建立一个指向这个vhd文件的启动项即可(下面命令假设系统盘为c:,u盘/移动硬盘为u:,vhd为win7.vhd)。
[Copy to clipboard] [ - ]CODE:
bcdboot c:\windows /s u: /l zh-CN
bcdedit /store u:\boot\bcd /set {default} device vhd=[locate]\win7.vhd
bcdedit /store u:\boot\bcd /set {default} osdevice vhd=[locate]\win7.vhd
方法二 (直接装到u盘):
注意:以下方法由于要直接拷贝大量文件到u盘,速度可能非常的慢。在硬件扫描阶段(specialize阶段)也会非常慢。如非必要还是用方法一
1、在u盘上建立激活主分区
2、用nt 6.x快速安装器把win7/2008 r2装到u盘上,系统分区和启动分区都选u盘盘符,usb硬盘选项选“否”
3、重启之前请运行以下脚本,其中u:代表u盘盘符
usbreg.cmd u:
注意点:
1、u盘容量至少8GB,推荐用16GB或者更大的u盘
2、如有可能,用SLC闪存的u盘。一是SLC的速度比普通MLC u盘小文件写入速度快很多,MLC u盘用起来甚至会卡。二是SLC的写入寿命比MLC长10倍,MLC直接跑系统可能用不了多久会达到写入寿命极限。
3、关于usb win7的换机器的可移动性,根据目前一些人的测试,usb启动win7只要cpu是同一牌子的就基本能通用。比如从nvidia芯片组的amd cpu机子换到amd芯片组的amd cpu机子都没问题。根据测试,如果cpu品牌不同只要改一下注册表的iaStorV和msahci两项就能在不同机子间通用所以在插到其他机子前,导入
这个注册表文件就可以了
usb跨平台.rar
(254 Bytes, 下载次数: 3)
|
评分
-
查看全部评分
|