《WCI308Windows7的NativeVHDBoot功能》由会员分享,可在线阅读,更多相关《WCI308Windows7的NativeVHDBoot功能(49页珍藏版)》请在金锄头文库上搜索。
1、WCI308 -Windows 7的的Native VHD Boot功功能能三个要求头脑清醒手机静音填反馈表Windows 7的Native VHD Boot功能WCI308喻勇IT市场及架构顾问微软(中国)有限公司内容纲要VHD技术的前生今世VHD在Windows7中的新应用VHDNativeBoot的应用场景和配置VHDNativeBoot的技术细节讨论:可能的应用创新参考资料VHD技术的前生今世目前的VHD应用领域微软产品中:虚拟机的磁盘(如:Hyper-V,VirtualServer,VirtualPC)备份的文件格式(如:WindowsServerBackup,Vista/Windo
2、ws7CompletePCBackup)iSCSILUNs的后端存储(如:WindowsUnifiedDataandStorageServer)SCVMM中的managementsupport合作伙伴的应用CitrixXenServer大量软件开发商采用VHD发布预安装软件VirtualHardDisk的类型固定尺寸,Fixed在创建时指定VHD大小并一次性分配空间容量上限取决于保存VHD的物理分区大小动态扩展,Dynamic在使用时根据需要动态分配和扩大VHD文件上限是2040GB(2TB)差异盘,Differencing保存对父分区(只读parentVHD)的差异扇区父分区可以是固定尺寸、
3、动态扩展或差异盘(differencingchain)VHD技术的前生今世未来作为数据中心或企业级环境的Windows镜像管理技术微软的战略方向之一使用单一的工具和流程来管理镜像显著提升计算机的重用和再部署效率同步支持虚拟机和物理机的部署,进一步提升效率VHD在Win7中的新应用Windows7的本机VHD支持Native=本机,即内置支持作为一种新的虚拟设备VirtualHardDisk被Windows7的核心组件识别并支持启动环境核心文件系统虚拟磁盘服务(VirtualDiskServiceVDS)磁盘管理工具Windows部署服务(WindowsDeploymentServicesWDS
4、)不需要Windows上预先安装任何虚拟机组件具体的功能实现VirtualDiskService(VDS)支持虚拟磁盘的识别、加载、卸载和格式化等操作从VHD镜像启动计算机磁盘管理工具支持对VHD磁盘的读写和管理操作用来管理VHD的一组Win32APIs接口VDSAPIs接口和DCOM远程编程接口远程的WDS服务,用来大规模部署基于VHD的镜像Windows7中的VHD支持VHD的管理API和结构Virtual Disk Service (VDS) VHD APIsWin32 VHD APIsDCOMHyper-V WMIWMIVHDNativeBoot的应用场景和配置什么是VHDNative
5、BootWindows7和WindowsServer2008R2中的新功能系统直接从VHD文件启动VHD中的OS直接访问硬件,不是运行在虚拟机环境中与普通硬盘启动类似,可以在VHD中安装驱动程序,包括显卡在内的所有硬件都正常工作创建VHD系统盘的过程在Windows7下创建一个VHD文件识别此VHD在磁盘管理中被识别为一个新的硬盘创建分区并格式化把Windows镜像(光盘中的wim文件)还原VHD磁盘卸载此VHD复制VHD到目标计算机配置启动参数系统需求两个分区,System分区有Windows7的boot-environmentfilesandBootConfigurationData(BC
6、D)store宿主计算机的boot-environmentfiles需要是Windows7版的如果VHD是动态扩展型的,需要确保磁盘有足够的空间VHD中系统的页面文件(page-file)是保存在物理硬盘上的演示创建VHD、安装系统、配置启动参数两种场景:将VHD部署在裸机上将VHD部署在已有OS的计算机上(双启动)使用Diskpart创建30GBVHD文件相当于安装新硬盘并分区格式化推荐使用Fixed类型的VHDdiskpartcreatevdiskfile=c:30gb.vhdmaximum=30000type=fixedselectvdiskfile=c:30gb.vhdattachvd
7、iskcreatepartitionprimaryassignletter=rformatquicklabel=vhdexit用ImageX向VHD写入Windows7ImageX工具WIM文件和镜像索引完成后,将此VHD文件置于网络Share或U盘,备用imagex/apply1r:diskpartselectvdiskfile=c:30gb.vhddetachvdiskexit准备裸机VHD的安装和启动-1使用WindowsPE启动计算机清空物理硬盘,并分区,分两个区DiskpartListdiskselectdisk0cleancreatepartitionprimarysize=100
8、formatquickfs=ntfsassignletter=sactivecreatepartitionprimaryformatquickfs=ntfsassignletter=cexit请反复核对,误操作将导致不可恢复的数据丢失准备裸机VHD的安装和启动-2复制VHD文件到C盘根目录运行神奇的BCDBoot命令diskpartselectvdiskfile=c:30gb.vhdattachvdisklistvolume/surfacevdiskexitcdr:windowssystem32bcdbootr:windows/ss:将VHD部署在已有OS的计算机上如果系统是Windows7或
9、WindowsServer2008R2执行以下命令把VHD添加到BCD引导记录bcdedit/copydefault/d”WindowsServer2008R2inVHD”bcdedit/setguiddevicevhd=c:30gb.vhdbcdedit/setguidosdevicevhd=c:30gb.vhdbcdedit/setguiddetecthalonbcdedit/defaultguid将VHD部署在已有OS的计算机上如果系统是WindowsVista从WinPE光盘启动,并执行如下命令早于Vista的版本无法实现VHDBootcopyx:30gb.vhdc:diskparts
10、electvdiskfile=c:windows7.vhdattachvdiskassignletter=vexitcdv:windowssystem32bcdbootv:windows?是否能访问物理磁盘?System PartitionSystem PartitionPrimary PartitionPrimary PartitionBootmgrBootmgrC:vhdWindows7.vhdC:vhdWindows7.vhdC:WindowsC:WindowsC:pagefile.sysC:pagefile.sysD:D:D:D:D:D:VHD BootVHD BootBCDC:Win
11、dows是否能用显卡的3D加速?能能否用VHD启动WindowsXP?不能如何使用VHD做批量的部署你只需做好VHD文件,剩下的交给WDS即可VHDNativeBoot的技术细节Windows7新的分区结构安装时,默认创建100MB的隐藏分区其中包括:Bootmgr,启动管理器BCDEdit,引导记录编辑工具Bootsect.bak,引导扇区的备份文件Boot目录,包括字体文件,BCD和memtest.exe在Windows7安装时进入WinPECMD(Shift+F10),用diskpart命令手工分区,可避免生成100MB分区(不推荐)Windows7(NT6.x)的启动过程BIOS-MB
12、R-Bootmgr-BCD-Winload.exe-内核加载启动流程(摘自网络)开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬盘的MBR并把控制权交给MBR(主引导记录,MBR是硬盘的第一个扇区,它不在任何一个分区内);MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动分区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区和Bootmgr到内存;Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映在屏幕上,由用户选择从哪个启动项启动。选择从Windows7启动后,会加载C:windowssystem32winload.ex
13、e,并开始内核的加载过程在这个过程中,bootmgr和BCD存放在Windows7的保留分区里,而从Winload.exe开始,就开始进入到C盘执行内核的加载过程了。如何做到支持VHDBoot?BCD中支持VHD类型的磁盘作为启动目标文件驱动结构中支持VHD,使其在启动早期可以被读取与VHDBoot和部署有关的工具DiskPart用以创建和管理磁盘分区,包括VHD磁盘ImageX创建、读取和还原基于ImageX技术的Windows安装镜像BCDboot用来生成基于NT6.x的启动环境BCDedit/BCD读取和编辑启动记录VHD的性能指标比较PhysicalVolumeStackVirtual
14、VolumeStackNativeVHD的架构DiskPartmgrVolmgrFSVolmgrFSDiskFS DependsFS DependsVHD DriverUser / Management ApplicationWin32 xxxVirtualDisk()Create, Surface, Remove, Merge, Compact, Convert*HYPER-V WMIDiskmgmt.mscDiskpart.exeVDS APIs*RequiresinstallationofHyper-VroleVHD启动的注意事项需要Windows7(NT6.x)的启动环境和BCDEdi
15、t工具别忘了强大的BCDBoot工具页面文件和启动组建是在VHD封装之外的启动仅支持Server和EnterpriseclientSKUsWindows7EnterpriseWindows7UltimateWindowsServer2008R2固定VHD是推荐配置差异磁盘需保存在同一个分区VHD扇区默认是512,一些特殊磁盘可能存在性能问题VHD启动的注意事项不要在保存VHD的物理分区中再放置其他应用数据把保存VHD的物理分区从日常备份中脱离开最多同时Mount512个VHD文件从VHD启动的计算机,不支持系统休眠(hibernation)从VHD启动的计算机,不支持OverServerMessageBlock(SMB)shares保存VHD文件的卷无法被Bit-locker加密VHD文件的父分区不支持volumesnapshotVHD不能被配置为动态磁盘,也不支持创建软件RAID讨论:可能的应用创新应用创新-批量部署Management PointManagement Point创建创建VHD1.部署启动客户端2.分区格式化硬盘3.创建空白VHD4.导入WIM镜像5.启动和配置6.复制到分发服务器7.加入部署目录部署部署1.大规模的网络部署应用创新-其他教学机房管理数据中心管理软件分发参考资源(白皮书)重要白皮书http:/