把Windows7安装在U盘或者移动硬盘上【实战】
很多朋友都会使用U盘安装Windows7或者WindowsXP之类的,某些论坛也提供了一些PE镜像下载。
但是,PE的不足之处还是很多的,功能上有局限性,而且相当一部分主板不支持PE启动。
前几天突发奇想,对于开发人员来说,需要的不是PE,我们需要一个操作系统,并且集成了开发工具。
这样,无论走到哪里,都可以直接插上U盘或者移动硬盘,进行开发;当然,如果这样都做到了,自然是随心所欲了。
经过2天的测试,终于出了最稳定的制作方法。
注:支持Windows7,Windows Server 2008
-------------------------------
准备:
1。一个U盘,体积大于2.5G即可,用来承载Windows7的镜像;
当然,如果你已经刻录或者花5块钱买了一张D版的Windows7光盘,更方便了。移动硬盘做启动盘
2。一台电脑,提前安装好Windows7旗舰版或者Windows Server 2008,当然,VISTA也行。
3。一块移动硬盘,体积大于9G即可。
4。软件工具以及驱动、引导程序,配置文件若干,我会打包提供下载。
附件工具包,在本文末尾提供下载。
-------------------------------
准备工作到这里就完事了,我们先启动电脑,然后创建我们的虚拟磁盘,开始,运行,CMD,然后输入命令DISKPART,然后输入create vdisk file命令,如图:
大概等了3分钟,就创建完毕了。。。
这个时候,就可以把Windows7系统写入到这个VHD虚拟磁盘上去了。插入提前准备好的Windows7光盘,呵呵,如果有提前做好的启动U盘也行。然后重新启动,开始安装Windows7,到选择语言的节目的时候,按下键盘上的SHITF+F10,弹出控制台,输入命令:
diskpart
select vdisk file=e:\win7.vhd
attach vdisk
这时候系统会提示连接虚拟磁盘成功,然后,我们点安装即可,接着,在安装的时候选择我们的虚拟磁盘即可。剩下的时间就是等待安装成功。。。大约10分钟后。。。。系统安装完毕,然后自动重启,重启之后的启动菜单非常有趣,有两个Windows7,别担心,先进入我们刚刚安装完毕的再说。
进入了我们刚刚安装完毕的Windows7后,以管理员身份运行cmd,然后输入命令:
bcdedit /v 输入完这个,会提示一堆信息,通过路径,到我们的VHD虚拟磁盘的标示符,复制。
其实这个标示符就是一个GUID,搞过软件开发的都知道。
继续输入命令:
bcdedit /set {刚才的GUID} description “Windows 7 VHD”
bcdedit /displayorder {GUID} /addlast
OK,这个时候,重启,会在启动菜单里看到我们的Windows 7 VHD项目了。
------------------------第一阶段结束---------------------------
目前,可以通过虚拟磁盘启动我们的Windows 7 VHD了。但是,还不能带着它走遍天下呀。。。
所以,我们要把它写入到U盘或者移动硬盘中。。。我手头有个Lenovo的移动硬盘,就拿它做实验了。。。
【移动硬盘可以分多个区,无所谓的,没影响,也不需要格式化】
启动电脑,进入我们真实硬盘中的Windows7,然后打开磁盘管理工具,附加VHD的Windows7。
切记,此时的VHD不能拷贝到移动硬盘里去。
附加过后,我的这个VHD虚拟磁盘的盘符是M:
打开我提供的附件包,到usb.inf,usbstor.inf,usbport.inf三个文件,然后覆盖到M:\WINDOWS\INFO目录中。
接着,进入M:\WINDOWS\SYSTEM32\DRIVERSTORE\目录中,到三个文件夹,分别是以usb.inf_...,usbsport.inf_...,以及usbstor.inf_...开头的文件夹。依次以同名的原则覆盖一次。
【注意,这一步需要权限,至于如何获得权限,附件包中提供了提权的注册表修改文件】
覆盖完毕,我们重启电脑,进入Windows 7 VHD ,然后执行两个注册表文件,usb1和usb2,也在附件包内,执行完毕,重启电脑,进入本机真实的Windows7中。
打开C盘,复制根目录下的BOOT文件夹,和BOOTMGR文件,复制到M盘的根目录中。
【默认是隐藏的,先取消隐藏属性。。。】
接着,进入C:\windows\system32\目录中,复制下面三个文件到M:\BOOT中。
                  , , 
【附件包内也提供这三个文件的下载】
-------------------------------最后一部分----------------------------
打开命令提示行,执行以下命令:
bcdboot c:\windows /s m:
bootsect /nt60 m: /mbr
bcdedit /store m:\boot\bcd /copy {default} /d "Windows 7 VHD"
这时候,会返回一段GUID字符串,复制,备用。
继续执行命令:
bcdedit /store m:\boot\bcd /set {GUID} device vhd=[m:]\win7.vhd
bcdedit /store m:\boot\bcd /set {GUID} osdevice vhd=[m:]\win7.vhd
bcdedit /store m:\boot\bcd /set {GUID} detecthal on
bcdedit /store m:\boot\bcd /displayorder {GUID} /addlast
bcdedit /store m:\boot\bcd /timeout 30
执行完毕,就OK了,拔下移动硬盘,到其他电脑上就可以使用了。