体验windows 7 vhd native boot

    最近把系统换成win 7 x64,突然想起n久之前曾经看过的,可以直接用vhd启动系统,特地找出文章来,照着体验了一把。

    主要参考了以下文章:

  1. http://blogs.technet.com/b/fyu/archive/tags/vhd+boot/
  2. http://veware.wordpress.com/2010/09/08/%E6%B5%85%E6%9E%90win7%E7%9A%84%E8%99%9A%E6%8B%9F%E7%A1%AC%E7%9B%98%E5%90%AF%E5%8A%A8native-vhd-boot/ (有墙)
  3. http://goxia.maytide.net 里面关于native boot的

    注:native boot的系统(装在vhd中的系统)只支持windows 7 professional以上版本、server 2008 r2,主系统windows 2000以上应该都可以(只测试过xp、2003pe,7)

安装系统到vhd

    这里只安装windows 7,主要分成以下步骤:

  1. 磁盘管理里面创建虚拟磁盘(即vhd文件)
  2. 在管理界面选中虚拟磁盘并右键选择初始化它
  3. 在虚拟磁盘的未分配处右键创建简单卷,格式化成ntfs,分配盘符如V:
  4. 把windows 7的镜像或光盘中的souces目录下的install.wim提取出来
  5. 下载GImageX(http://www.autoitscript.com/gimagex/),打开它并切换到Apply标签,souce点Browse选择提取出来的install.wim,destinaton点Browse选择刚刚挂载的虚拟磁盘V:\,Image点Select选择windows 7的版本
  6. 点击Apply注入到vhd,直到完成
  7. 在磁盘管理里卸载分离虚拟磁盘

    到这里系统就安装完成了,假如不需要再定制一些软件的话就可以直接使用了。

加入启动菜单

  1. 下载EasyBCD(http://neosmart.net/dl.php?id=1),当前版本为2.0.2
  2. 切换到Add New Entry标签,在右侧下方切换到Virtual Disk,输入Name即开机启动时显示的名称如Win7VHD,Path选择刚才创建的vhd文件
  3. 点Add Entry加入到启动菜单
  4. 切换到Advanced Settings标签,在出现的界面中Select an OS下拉框中选择刚才添加的Win7VHD,然后在下方Basic标签中设置好Locale即启动的语言
  5. Save Settings完成

    完成以上步骤以后就可以直接重启。

    在重启后,选择刚才创建的启动项Win7VHD,会进入系统的首次安装配置,中间会重启2次,等这些完成后进入vhd系统,可以直接使用了。

定制系统

    如果要直接使用这个vhd系统,就不需要以下操作

    对系统进行一些软件的安装等操作(不要安装驱动),定制完成之后,打开命令提示符:

  1. 切换到sysprep目录:cd/d \windows\system32\sysprep
  2. 输入运行sysprep.exe
  3. 在出现的对话框中选中OOBE,勾上Generalize以清除硬件信息
  4. 完成

    完成以上操作之后,重启

在2003PE做为主系统的环境中native boot windows 7 vhd

    我另外一台机器只装了一个2003PE做为主系统,把刚才定制的vhd系统复制到2003PE这台机器上,由于不能在PE上运行EasyBCD,试过用bcdedit编辑没成功,所以修改启动项还是要花费一番手脚的。

  1. 把windows 7 镜像或光盘中的bootmgr,boot目录复制到C盘根目录
  2. 在C盘创建sources文件夹,并把windows 7 镜像或光盘sources目录中的boot.wim复制到c:\sources
  3. 打开命令提示符,输入c:\boot\bootsect /nt60 c:
  4. 重启,选择windows 7安装,出现安装界面,等到出现语言选择的时候,按shift+f10打开命令提示符
  5. 这一步操作可以省略,主要用于删除windows7安装的启动项
    1. rd /s /q boot            #删除boot目录
      rd /s /q source         #删除source目录
      del bootmgr              #删除文件
      bootsect /nt52 c:     #还原原系统的启动项

  6. 输入运行diskpart
  7. 选择vhd文件:select vdisk file="d:\win7.vhd",这里文件位置为d:\win7.vhd
  8. 附加vhd文件为虚拟磁盘:attach vdisk
  9. 选中主分区:select partition 1
  10. 激活分区:active
  11. 分配盘符:assign letter=V
  12. 输入exit退出diskpart
  13. 输入cd/d x:\windows\system32
  14. 输入bcdboot V:\windows /s C: 用于把刚刚附加的虚拟磁盘V:加入启动项
  15. 输入bootsect /nt60 SYS
  16. 结束

    执行完以上步骤之后,就成功把vhd系统加入到pe为主系统的启动项中了。

    如果主系统为xp的话,可以直接使用EasyBCD,或者运行以下命令用于还原xp启动项:

bcdedit /store bcd /create {ntldr} /d "Windows XP"

bcdedit /store bcd /set {ntldr} device partition=C:

bcdedit /store bcd /set {ntldr} path \NTLDR

bcdedit /store bcd /bootsequence {default} {ntldr}

bcdedit /store bcd /displayorder {default} {ntldr}

bcdedit /store bcd /timeout 30

结束

    在进入虚拟系统之后,主系统的盘符有台机器是删掉了,有一台是没有删掉的,删掉貌似为了隐藏主系统。而且盘符跟主系统中变的不一样,所以又得手动把盘符调成跟主系统一样,要不然某些软件用起来很麻烦~~

    经试验证明,使用多核且支持虚拟化的CPU比单核且不支持虚拟化的CPU要快非常多。

    另外,vhd系统一开机网络初始化那个慢啊,而且因为用的是虚拟磁盘,所以不能使用windows 7评分……

over

作者:囧月
出处:http://lwme.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/lwme/p/1923549.html