设为首页 收藏本站
查看: 1013|回复: 0

使用 Windows 7 VHD启动计算机

[复制链接]

尚未签到

发表于 2015-5-12 11:30:05 | 显示全部楼层 |阅读模式
使用 Windows 7 VHD启动计算机(2009-07-25 10:07:36)

  VHD Native Boot作为Windows 7和Windows Server 2008 R2新增重要功能之一,它支持系统直接从VHD启动。
  一、说明
  Windows 7 Enterprise 或 Ultimate版,其它版本不支持
  Windows Server 2008 R2 除 Foundation Edition版本不支持外,其它版本都支持
  系统必须有两个分区,System分区必须有Windows 7 Boot_environmenet Files和BCD存储
  如果VHD文件类型为动态扩展,必须确保磁盘有足够的磁盘空间。
  最多支持MOUNT 512 个VHD文件
  从VHD启动的系统,不支持系统休眠和Over SMB 共享
  保存VHD文件的卷不支持Bitlock加密,VHD文件的父分区不支持Volume Snaphot功能
  VHD不能配置为动态磁盘,也支持建立软件Raid
  相比物理硬盘,VHD没有CACHE,所以在写数据时,VHD硬盘相比物理硬盘有些差异,但读性能基本上和物理硬盘相近。
  
  二、必备工具
  1、Bcdboot
  Bcdboot - Bcd 启动文件创建和修复工具。
  bcdboot.exe 命令行工具用于将关键启动文件复制到系统分区以及创建新的系统 BCD 存储。
  bcdboot  [/l ] [/s ] [/v]
                 [/m [{OS Loader ID}]]
   source            指定 windows 系统根目录的位置。
   /l                指定在初始化 BCD 存储时使用的可选区域设置参数。
                    默认值为“简体中文”。
   /s                指定一个可选的卷号参数,该参数用于指定要将启动环境文件复制到
                    的目标系统分区。默认值为固件标识的系统分区。
   /v                启用详细模式。
   /m                如果提供了操作系统加载器 GUID,则此选项可以将给定的加载器
                    对象与系统模板合并起来,以产生可启动条目。否则,只合并全局
                    对象。

  2、Bcdedit
  Bcdedit.exe 命令行工具用于修改启动配置数据存储。启动配置数据存储包含启动配置参数并控制操作系统的启动方式。
  3、diskpart
  磁盘分区管理工具。在本例中,它用来在命令行状态产生VHD文件,分区,格式化等
  4、imagex
  WIM映像管理工具,它包含在微软AIK工具包中。本例中,用它来释放安装映像Install.WIM文件到VHD文件。
  5、Windows Deployment Services
  部署服务
  
  三、部署
  用VHD启动计算机,有以下两种场景,一是将VHD部署在已有OS的计算机上,二是裸机的部署。两者的最大区别是对裸机,由于硬盘上没有OS,也就没有Windows 7的启动文件和MBR,所以必须首先产生一个系统分区,并使用Bcdboot将Windows 7启动文件写入这个分区;同时也必须产生一个主分区,用来存放VHD文件。对于在已有OS的计算机上部署,主要是要产生VHD文件,并将Windows 7或Windows 2008 R2映像释放到VHD硬盘,并使用BCDEDIT工具增加启动项目。
  由于VHD文件有动态,固定,差异这三种类型,为了保证性能,推荐使用固定尺寸大小的VHD文件。
  
  在已有OS的计算机上部署
  实验环境:使用Microsoft Virtual Server 2005 SP1产生一台虚拟机Windows 7并安装好WINDOWS 7 7600操作系统和AIK工具包,这台虚拟机有两块虚拟硬盘,一块c:,已安装好Windows 7;另一块e:,用来产生VHD文件;光驱为D:
  启动计算机,进行如下操作(注意以下操作均以管理员BILL.xu进行操作)
  1、以管理员身份进入命令提示符状态,运行DISKPART
  2、依次输入以下命令
  Create vdisk file=e:\win2007.vhd maximum=10000 type=fixed
  (在e盘产生名为win2007.vhd,大小为10000MB,类型为固定尺寸的VHD硬盘),等待一段时间完成。
  Select vdisk file=e:\win2007.vhd
  (选择e:\win2007.vhd磁盘文件)
  Attach vdisk
  (连接到虚拟磁盘文件)
  Create Partition Primary
  (产生主分区)
  Assign Letter R
  (分配盘符为R)
  Format Quick Fs=ntfs
  (以NTFS文件系统快速格式磁盘),此时在我的电脑会多出一块盘符为R的硬盘。
  3、打开虚拟服务器管理网站,编辑虚拟机Windows 7设置,在光驱中加载windows 7安装光盘ISO文件。
  4、以管理员身份运行AIK工具包中的Deployment Tools Command Prompt,运行以下命令
  imagex /info d:\sources\install.wim
  (显示安装映像文件的信息,主要是查找映像文件中各个版本的image index号)
  imagex /apply d:\sources\install.wim 5 r:\
  (将安装映像中image index=5映像释放到r:盘,即释放到VHD文件上,image index=5这旗舰版),等待完成。
  5、回到第二步的窗口,输入以下命令
  detach vdisk
  (分离虚拟磁盘文件)
  exit
  (退出DISKPART命令)
  6、在命令提示符状态下,输入以下命令
  bcdedit /copy {current} /d "Starting From VHD"
  (编辑BCD数据库,将{current}复制为副本,注释为Starting From VHD。执行后会返回新项目的GUID)
  在本操作中返回的GUID为 {91efbc47-7796-11de-8788-b469c8eae731}
  bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} device vhd=[e:]\win2007.vhd
  (编辑BCD数据库,修改guid为{91efbc47-7796-11de-8788-b469c8eae731}的device值修改为[e:]\win2007.vhd,注意[])
  bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} osdevice vhd=[e:]\win2007.vhd
  bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} detecthal on
  (允许启动时硬件抽像层检测)
  完成后,将e:\win2007.vhd备份到其它位置,备用。
  7、重新启动计算机,选择“Starting From VHD”,出现安装界面,安装操作系统,完成。
  
  在裸机上的部署
  实验环境:使用Microsoft Virtual Server 2005 SP1产生一台虚拟机Win7VHD,一块硬盘c:,光驱为D:。
  1、打开虚拟服务器管理网站,编辑虚拟机Win7VHD设置,在光驱中加载WINPE的ISO文件。
    WINPE光盘的IOS文件可以在装好AIK的文件夹下找到。
  2、用WINPE光盘启动计算机,选择命令提示符
  3、依次输入以下命令
  create partition primary size=200
format quick fs=ntfs
assign letter=s
active
产生个尺寸大小为200M的文件,以NTFS格式化,并指定盘符为S,激活这个分区。
  create partition primary
format quick fs=ntfs
assign letter=c
exit
将其它的空间产生一个主分区,以NTFS格式化这个分区,分配盘符为C。
  4、将我们上例中第6步产生的备份的文件复制到c盘
  5、在命令提示符状态使用Diskpart,连接虚拟磁盘文件win2007.vhd
  diskpart
  select vdisk file=c:\win2007.vhd
  attach vdisk
  exit
  6、cd f:\windows\system32  (F:为虚拟磁盘文件加载后产生的盘符)
   bcdboot f:\windows /s s: 将系统文件复制到系统盘(即前面产生200M的系统分区)
  7、以硬盘启动计算机,完成安装。
  
  
  Windows 7对VHD文件的内建支持,从此以后VHD文件的地位得到了提升:-) 它可以被操作系统认为是一块物理的硬盘进行管理和读写。我们知道,现在启动系统的方式多种多样,可以从光盘、硬盘、软盘、U盘、网络等等不同的渠道来完成。既然VHD可以被Windows 7认为是一块独立的物理硬盘,那么我们是否可以从VHD启动操作系统呢?
  答案是肯定的。Windows 7的引导程序也同样包含了对VHD文件的读写驱动,因此在装有Windows 7引导程序(Boot Loader)的计算机上,可以通过配置BCDEdit的方式,把VHD上的操作系统加入到启动时显示的多系统选择菜单。
     下面我们来看一下具体的步骤:
    注意,我们不能在物理计算机上通过光盘把系统安装到VHD文件。首先我们需要一个已经安装了操作系统的VHD文件,这可以通过几种方式来完成:
    1. 在Virtual PC或者Hyper-V中完成安装,并且运行sysprep,然后关机,这是的VHD文件可以被Windows 7的Boot Loader启动。
    2. 使用ImageX工具,把之前备份的操作系统镜像文件(ImageX格式)恢复到VHD中。
    看到这里,大家不免有一些问题:从VHD启动之后的系统,到底是运行在虚拟机上?还是直接运行在物理硬件之上?从VHD启动,还需要哪些必备的条件?是否会有性能的损失?下面我来回答这些问题:
    1. Windows 7的引导程序和Windows 7本身都包含了对VHD文件的读写驱动程序,因此我们可以在启动计算机的时候,访问VHD并且从其上启动;我们也可以在Windows 7中直接创建、加载和卸载VHD文件。这些都是VHD读写驱动的功劳,跟Virtual PC或者Hyper-V没有直接的关系。因此Windows 7不需要安装任何虚拟化软件。
    2. 从VHD启动之后,计算机的操作系统直接访问硬件,不是以虚拟化的方式运行。
    3. 这里面唯一的区别,就是对文件系统读写访问的时候,需要经过额外的一层VHD读写驱动的解析,这里面有一些微量的I/O性能开销,但是跟虚拟化的情况相比,性能基本上接近了真机。我查了一些测试资料,有一组直接读取硬盘和读写VHD的比较,性能差别微乎其微。
    4. 因为对VHD的支持仅包含在Windows 7中,因此我们不能在Windows 7中创建VHD后通过光盘给VHD安装任何操作系统。
     这些仅仅是对这个功能的一些简单介绍和概括,相信大家在今后的应用中会有更多的体会和收获。
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-66218-1-1.html 上篇帖子: 一起学Windows Phone 7开发(九.Windows Phone Developer Tools Beta) 下篇帖子: Windows 7 6956 安装过程感言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表