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 <source> [/l <locale>] [/s <volume-letter>] [/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.vhdbcdedit /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、以硬盘启动计算机,完成安装。
本文转自ycrsjxy51CTO博客,原文链接:http://blog.51cto.com/ycrsjxy/202513,如需转载请自行联系原作者

使用 Windows 7 VHD启动计算机相关推荐

  1. Windows 7 VHD 启动

    Windows 7 VHD 启动 转载于:https://www.cnblogs.com/doubleyan/archive/2009/10/10/2164949.html

  2. windows image/vhd 相关

    Understanding Multibooting  BartPE, GRUB & a Logical partition, Can a logical partition be boote ...

  3. Oracle不能在本地计算机启动,Windows 不能在本地计算机启动 OracleDBConsoleorcl的问题解决方法...

    解决步骤如下: 1.开始->运行cmd 2.执行 emctl start dbconsole 输入:C:\Documents and Settings\xcl>emctl start db ...

  4. 关于Windows不能在本地计算机启动Apache2.......并参考特定服务错误代码1问题解决...

    在配置Apache的时候遇到很多问题,在网上找了很多的资料,自己也尝试着他们的方法改,但是很恼火,随后自己看到一天回答的不是很明白的答案,随后我开始试着做,慢慢的 ,问题解决了, 重启Apache就会 ...

  5. Windows 不能在 本地计算机 启动 SQL Server 服务

    在..net学习中,使用SQL2005是可能会遇到 "Windows 不能在 本地计算机 启动 SQL Server . 有关更多信息,查阅系统事件日志.如果这是非 Microsoft 服务 ...

  6. [网络安全自学篇] 三十四.Windows系统安全缺陷之5次Shift漏洞启动计算机机理分析

    这是作者的系列网络安全自学教程,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文详细讲解了绕狗一句话原理.绕过安全狗的常用方法和过狗菜刀,并实践安装安全狗进 ...

  7. Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126

    Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126 在使用SQL2005(或2008)是可能会遇到错误提示: "Windows 不能在 本地计算机 启动 S ...

  8. 计算机硬盘硬件的配置问题,磁盘硬件配置问题windows无法正常启动怎么解决

    磁盘硬件配置问题windows无法正常启动怎么解决?在使用Windows操作系统经常会遇到各种各样的问题,比如遇到磁盘配置问题,windows无法正常启动也是很棘手,那么我们该如何解决呢?下面,我们一 ...

  9. 正在为首次使用计算机做准备黑屏,Windows 10首次启动时意外重启计算机或遇到错误的解决方案...

    monica1_1的博客 03-28 10,000 + 计算机意外重新启动或遇到错误. Windows安装无法继续. 要安装Windows,请单击"确定"以重新启动计算机,然后重新 ...

最新文章

  1. 有理想的程序员必须知道的15件事
  2. 手把手教你做关键词匹配项目(搜索引擎)---- 第九天
  3. centos7.3部署kvm虚拟化
  4. java系列:引用类型和基本类型
  5. php用curl调用接口方法,get和post两种方式
  6. 《Java并发编程的艺术》:第2章 Java并发机制的底层实现原理
  7. GNU make manual 翻译(六十六)
  8. SpringMVC文件下载IOException: UT010029: Stream is closed
  9. Python实现的爬取百度文
  10. 一名优秀的UI设计师 都要掌握哪些设计软件
  11. ARM发展史,初步汇总
  12. 功耗:Leakage Power
  13. 良心!苹果启动 MacBook Pro 电池更换计划
  14. 强推!阿里数据科学家一次讲透数据中台
  15. java支付宝第三方支付前置流程
  16. 昼夜系统-游戏中的时间
  17. PS怎么做出旧电视图像故障视觉特效
  18. char在c语言中的意思(char在c++中的意思)
  19. 使用PyQt5为YoloV5添加界面(一)
  20. chromecast 协议_如何删除Chromecast的网络范围内的Android通知

热门文章

  1. java打卡-day3 变量和数据类型
  2. 我 “大专学历+半路转行” ,从拉垮弱鸡到测试团队骨干,走到这一步很知足
  3. 超火爆的6 个必学持续集成工具,测试人的福音
  4. file input 移动端选择文件夹_免费 |《MNN For Swift》移动端机器学习实战课程
  5. 微型计算机 持续更新,2020年南京邮电大学810《微机原理及应用》硕士研究生入学考试大纲...
  6. congruent matrix
  7. 基于深度学习和支持向量机的4种苜蓿叶部病害图像识别
  8. 数据挖掘实践(金融风控)——task4:建模调参
  9. 2020 AI交流大会 | ALBERT、多模态内容生成、京东零售CV实践、Bias的解决
  10. 谷歌免费GPU,在线Jupyter notebook深度学习环境