牙膏去暗疮的使用方法:从u盘启动win7/2008 R2的方法,更新:换机器免sysprep的方法

来源:百度文库 编辑:中财网 时间:2024/04/28 23:53:50
从u盘启动win7/2008 R2的方法,更新:换机器免sysprep的方法

在我的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.rar (399 Bytes)

[Copy to clipboard] [ - ]CODE:usbreg.cmd u:
4、从u盘重启系统



[ 本帖最后由 fujianabc 于 2010-5-15 09:10 编辑 ] usb.png (52.83 KB)
2010-4-18 11:18 usbreg.rar (399 Bytes)
下载次数: 1377
2010-4-18 23:02
[广告] fujianabc
大元帅




UID 49973
精华 3
积分 50329
帖子 4789
威望 13933
阅读权限 99
注册 2004-6-28
#2发表于 2010-4-18 11:18 资料 短消息 加为好友
注意点:

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机子都没问题。根据yueyezhan的测试,如果cpu品牌不同只要改一下注册表的iaStorV和msahci两项就能在不同机子间通用。所以在插到其他机子前,导入
这个注册表文件就可以了。 usb跨平台.rar (254 Bytes)

4、如果nt 6.x快速安装器安装win7/2008 R2到移动硬盘启动失败,也可以尝试这里1楼的方法。