Bcdedit 添加 VHD (虚拟磁盘)系统启动菜单

 

        Windows 7\Windows 2008 R2中通过 VHD虚拟磁盘启动绝对是一项值得称赞的功能,当我们需要做某项测试时,只要将装有Windows 2008 R2系统的VHD文件挂载成为一个磁盘,等我们完面测试再将其摘除,或者直接删除不留任何痕迹。一台PC上存放多个系统保留不同测试环境变得更加方便了。

  本次做演示的是一个 Windows 2008 R2 的VHD文件,首先将其拷贝到E:\Windows2008R2,然后通过磁盘管理(Disk Managerment)将VHD挂载为磁盘,如下图:


windows挂载samba文件夹 windows 挂载_Windows

 

   挂载VHD(附加VHD)文件为Disk2虚拟磁盘

  回到资源管理器,我们便可以看到物系统 C盘、存放VHD文件的E盘、以及我们刚挂载的虚拟磁盘G盘。

  

  接下来我们需要通过 BootManager管理工具Bcdedit将虚拟磁盘(VHD)中的系统加入到启动菜单,在这里需要注意的是必须以管理员身份运行CMD命令行窗口,不然会提示:The boot configuration data store could not be opened,Access is denied.在Windows 7\Windows 2008 R2下CMD命令默认不会用管理员身份登陆。

 

   Bcdedit运行之后,我们可以看到现有的启动菜单情况,所示系统中仅有一项Boot Loader,说明目前系统中只有一个Windows 7\Windows 2008 R2的启动选单,其中Description = Windows 7表选单名称为Windows 7。

 


windows挂载samba文件夹 windows 挂载_bc_02

  下面我们开始最关建的步骤,为虚拟磁盘的启动,在 BootManager中创建一个新的Boot Loader,其命令有三条,:

  

  添加Boot Loader命令

      bcdedit /copy {current} -d "Windows 2008 R2 VHD"

      bcdedit /set {f27fc6f1-f79c-11df-8298-d9356c54e565}  osdevice vhd=[e:]\windows2008r2.vhd

      bcdedit /set {f27fc6f1-f79c-11df-8298-d9356c54e565}  device vhd=[e:]\Windows2008r2.vhd

  三条命令中第一条表示,拷贝一个新的Boot Loader,名称为"Windows 2008 R2 VHD";第二、三条设备Boot Loader的Device与Osdevice属性,路径指身VHD文件。

 


windows挂载samba文件夹 windows 挂载_windows挂载samba文件夹_03

  然后再运行 Bcdedit命令,可以看到新的Boot Loader已经创建成功,如图所示:

 


windows挂载samba文件夹 windows 挂载_windows挂载samba文件夹_04

  

  重新启动计算机,我们就可以看到两个启动选单(这个图不好截):

   Windows 7\Windows server 2008 R2

   Windows 2008 R2 VHD

  选择“ Windows 2008 R2 VHD ”进入系统,虚拟磁盘已变成了系统盘C,Windows 2008 R2 并不能完全识别所有硬件,有些机器是需要手工安装驱动的,另外需要注意的是,如果启动后发现磁盘分区少了一个,那是因为虚拟磁盘占据了C盘符,你只需到磁盘管理中给无名分区指定一个盘符即可。

 

        注意:在整个过程中需注意的是 VHD文件需创建为固定大小,VHD文件可存放在本地磁盘的任意位置,但存放在移动硬盘或U盘中可能启动会蓝屏。

 

Bcdedit删除 VHD (虚拟磁盘)系统启动菜单

 

        需要删除VHD启动菜单,只需要使用一个命令:

   

        bcdedit /delete {f27fc6f1-f79c-11df-8298-d9356c54e565}

 

        更多的参数请参阅 bcdedit /delete /?