微软的VHD文件格式是一种虚拟机硬盘(virtual machine hard disk), 并可以被压缩成单个文件存放在宿主机器的文件系统上,主要包括虚拟机启动所需系统文件。
Windows 7企业版及旗舰版支援虚拟硬盘(VHD)档案格式。VHD档案可以当作驱动器加载、创建和启动,如同WIM档案的方式。此外,安装的Windows 7可以从VHD驱动器启动或执行,提供了Windows多种启动方式。
玩过虚拟机软件的人都知道这个 VHD 虚拟硬盘格式。Win7 对 VHD 驱动器启动的支持让装多系统变得简单,根本不用为分区烦恼,一个系统就一个vhd镜像,蹦了用备份的一份替换即可,就像用虚拟机一样。
我们希望尝试新系统,每安装一个系统,我们就得把系统安装到一个系统分区,使用VHD就简单了,我们安装几个系统,比如安装 Win 7 和 Win 8,我们只需要在硬盘上创建两个VHD文件,将系统分别灌入,修改启动项即可完成。
基础文件: 一张 Win7 安装DVD 光盘,Windows AIK 的 imagex 工具。
将安装光盘放进 光驱,然后在 BIOS 设置从光盘启动。
为 C: 盘设置引导记录:
bootsect /nt60 c: /mbr
复制启动文件到 C 盘:
bcdboot v:windows /s c: /l zh-CN
首先创建一个 VHD 虚拟硬盘镜像,按 Shift + F10 打开 命令行提示符,敲入一下命令:
diskpart list disk select disk 0 [选择磁盘 0] list partition create vdisk file=E:windows7.vhd maximum=20583 type=fixed [创建 VHD 固定的20G容量] select vdisk file=E:windows7.vhd [打开这个虚拟磁盘] attach vdisk [激活虚拟磁盘] create partition primary [建立主分区] list partition [查看分区列表] select partition 1 [选择建立的主分区] active [激活分区] format fs=ntfs quick [快速格式化] assign letter= v [将这个虚拟磁盘命名 v盘] exit [推出 diskpart]
方括号”[]”内的是命令的说明,不要敲入。
敲入完毕后就创建了一个 20GB 的虚拟硬盘镜像,而且这个镜像已经挂载到 V: 盘上了。
然后就是用 imagex 工具把 Win7 的安装文件 install.wim 给解压到 V: 里面了,命令:
imagex.exe /apply install.wim 1 v:
等写入完毕后就可以创建 bcdboot
的引导记录了。
创建 bcdboot
的引导记录的过程如下:
先建立获取一个用于引导 VHD的 GUID 号,假如 bcd 文件在 c:boot 下那么就要进入这个目录然后再进行下面的操作。
bcdedit /store .bcd /create -d "VHDBoot" /application osloader
这个命令执行后会获得一个 格式为类似这样的字符串:
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
这个字符串就是 GUID,然后把你获得的 GUID 替换小下面命令中的 “{guid}” ,并且敲入这些命令:
bcdedit /store .bcd /set {guid} device vhd=[E:]win7u.vhd bcdedit /store .bcd /set {guid} osdevice vhd=[E:]win7u.vhd bcdedit /store .bcd /set {guid} path windowssystem32winload.exe bcdedit /store .bcd /set {guid} systemroot windows bcdedit /store .bcd /set {guid} locale zh-CN bcdedit /store .bcd /set {guid} nx optin bcdedit /store .bcd /set {guid} detecthal yes bcdedit /store .bcd /set {guid} Description "Windows 7 VHD" bcdedit /store .bcd /displayorder {guid} /addlast
这样就建立好 bcdboot 的引导菜单了。
这样可以把 Win8 和 Win7 旗舰版用 VHD 镜像来启动了。
不过 bcdboot
命令也可以在bcd 菜单里面建立启动条目。
比如 vhd 已经挂载的盘符为 V: 盘,C: 为现在又系统的按照位置。一般都是 C:。那么敲入下面的命令就可以了:
bcdboot v:windows /s c:
这名命令的缺点是产生的菜单是自动生成的,执行后要自己改菜单的显示名字。要是你担心会丢失什么参数那就用这个命令吧。
这个方法 Win8 下面也可以使用,只是这几个命令的程序版本要用 Win8 的版本了。