体验Windows 7新特性之基于VHD虚拟磁盘文件启动计算机
2010-03-23 19:16
363 查看
体验Windows 7新特性之基于VHD虚拟磁盘文件启动计算机 用户能够实现将Windows 7或者Windows Server 2008 R2操作系统的WIM镜像部署到VHD虚拟磁盘文件中,并通过添加系统启动引导项的方式将计算机引导进入VHD虚拟磁盘文件中所部署的操作系统之中。值得一提的是,与其它虚拟机软件环境下所运行的基于虚拟硬件设备的虚拟操作系统不同。基于VHD虚拟磁盘文件的系统直接访问物理硬件设备,除了由于虚拟磁盘相比物理硬盘缺少了硬盘缓存所带来的些许性能损失外,其它方面与安装在物理硬件上的操作系统几乎没有差异。用户一般所关心的开启系统Aero玻璃特效,显卡游戏性能等都几乎没有影响。而且在VHD虚拟磁盘系统下,同样能够访问物理硬盘上原有的分区内容。下面就详细介绍如何在VHD虚拟磁盘文件中部署操作系统,并引导启动计算机。方法一 :首先,用户需要创建一个容量足够部署系统并满足使用需求的VHD虚拟磁盘文件。如在物理硬盘的F盘根目录下创建了20GB容量名为VirtualHD.vhd的虚拟磁盘文件,磁盘分区盘符为X,NTFS格式,无卷标。 1. 准备一份新封装的Windows 7或Windows Server 2008 R2操作系统的WIM镜像文件。一般来说,除了测试自行封装的WIM镜像外,用户可以直接使用以上两款操作系统安装光碟sources目录下的install.wim文件。需要特别注意的是,引导启动计算机的VHD虚拟磁盘仅支持部署以上两款操作系统。试验中采用盘符K下光驱中的Windows 7系统安装光碟下的install.wim文件。 2. 将WIM镜像部署到VHD虚拟磁盘文件中所利用的工具是ImageX,用户可以通过安装对应于Windows 7的AIK工具包获取。截至目前,微软官方仅发布了对应于Windows 7 RC版本的AIK工具包,因此试验中采用的ImageX程序版本号为6.1.7100.0,默认路径安装适用于x86构架的文件路径为C:/Windows AIK/Tools/x86,其它平台构架请替换相应路径。在命令提示符窗口进入ImageX程序所在路径,并将WIM镜像部署到挂载VHD盘符中,试验中命令行如下: Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:/Users/Microsoft>cd /d D:/Windows AIK/Tools/x86 D:/Windows AIK/Tools/x86>imagex /apply "K:/sources/install.wim" 5 X: 命令中imagex在install.wim文件后加了参数5,该参数为“镜像索引(Image Index)”,因为通常情况下WIM镜像文件封装了多个SKUs版本的系统,通过该参数就可以选择需要部署的SKU版本,版本对应的镜像索引号可以通过imagex的info参数查看。 D:/Windows AIK/Tools/x86>imagex /info "K:sourcesinstall.wim" 除了使用命令行的ImageX程序外,还可以使用基于ImageX的图形化界面程序GImageX查看WIM文件的镜像索引号以及部署系统。 3. 将VHD虚拟磁盘部署完系统后,再使用如下命令将VHD虚拟磁盘从当前系统中卸载。 Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:/Users/Microsoft>diskpart Microsoft DiskPart version 6.1.7600 Copyright (C) 1999-2008 Microsoft Corporation. On computer: MICROSOFT-PC DISKPART> select vdisk file="F:/VirtualHD.vhd" DiskPart successfully selected the virtual disk file. DISKPART> detach vdisk DiskPart successfully detached the virtual disk file. DISKPART> exit 4. 执行如下命令将VHD虚拟磁盘系统添加至启动项,命令中的长串guid字符由第一条命令运行的结果获取。命令中的VHD路径为试验中的配置,用户在操作中应根据实际情况替换。首条命令中的Windows 7 VHD可以任意指定,即为显示在启动项中的字符。 Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:/Users/Microsoft>bcdedit /copy {current} /d "Windows 7 VHD" The entry was successfully copied to {c52d1cc7-7355-11de-b393-b3a1933c90d1}. C:/Users/Microsoft>bcdedit /set {c52d1cc7-7355-11de-b393-b3a1933c90d1} device vhd=[F:]/VirtualHD.vhd The operation completed successfully. C:/Users/Microsoft>bcdedit /set {c52d1cc7-7355-11de-b393-b3a1933c90d1} osdevice vhd=[F:]/VirtualHD.vhd The operation completed successfully. C:/Users/Microsoft>bcdedit /set {c52d1cc7-7355-11de-b393-b3a1933c90d1} detecthal on The operation completed successfully. 方法二 :借助一个Wim2Vhd工具,轻松地把Windows安装光盘里的Install.Wim映像文件转换成一个Vhd文件。条件: 1. WAIK,该工具需要调用WAIK里的ImageX命令,可以到以下站点下载并安装: http://www.microsoft.com/downloads/details.aspx?familyid=4AD85860-D1F4-42A1-A46C-E039E3D0DB5D&displaylang=en 2. Wim2Vhd,下载地址如下: http://code.msdn.microsoft.com/wim2vhd 3. 操作计算机,安装Windows 7或者Windows Server 2008 2,或者Windows Server 2008 With Hyper-V 操作:准备好Windows 7或者Windows Server 2008 R2安装光盘,如果是ISO映像文件,则可以借助UltraISO等挂载工具将其挂载到虚拟光驱上。假设光驱盘符为H: 1. 用管理员权限执行以下命令 cscript wim2vhd.wsf /wim:h:/sources/install.wim 该命令可以查出安装光盘里每个不同SKU映像的名称,如图所示,我们可以看出Windows 7旗舰版,其SKU名称是ULTIMATE: 2. 然后运行以下命令,把安装光盘里的旗舰版映像文件转换成一个VHD文件,并且保存到F盘下,名称为Win7Ult.vhd: cscript wim2vhd.wsf /wim:h:/sources/install.wim /sku:ultimate /vhd:f:/Win7Ult.vhd 3. Wim2Vhd脚本会自动创建一个VHD文件,默认大小是40GB,然后系统任务栏的通知区域会弹出气泡,提示加载相应的VHD磁盘驱动,以便挂载这个VHD文件,如下图所示: 4. 挂载好VHD文件,Wim2Vhd文件会自动调用ImageX命令把Wim映像里的Ultimate SKU释放到所挂载的VHD分区中,截图如下: 5. 默认情况下,Wim2Vhd并不会给VHD文件挂载的分区分配盘符,默认挂载到以下的NTFS目录: %Temp%/WIM2VHD.WSF/{guid}/mount 6. 释放完以后,Wim2Vhd会自动执行bcdboot,以便该VHD能够引导,然后自动从所挂载的路径卸载。 7. 现在已经制作好一个VHD文件,里面已经有安装好的Windows 7系统,按照常规手段在BCDEdit命令中添加一个启动项即可。 Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:/Users/Microsoft>bcdedit /copy {current} /d "Windows 7 VHD" The entry was successfully copied to {c52d1cc7-7355-11de-b393-b3a1933c90d1}. C:/Users/Microsoft>bcdedit /set {c52d1cc7-7355-11de-b393-b3a1933c90d1} device vhd=[F:]/VirtualHD.vhd The operation completed successfully. C:/Users/Microsoft>bcdedit /set {c52d1cc7-7355-11de-b393-b3a1933c90d1} osdevice vhd=[F:]/VirtualHD.vhd The operation completed successfully. C:/Users/Microsoft>bcdedit /set {c52d1cc7-7355-11de-b393-b3a1933c90d1} detecthal on The operation completed successfully. 8. 重启计算机,即可选择从VHD中引导,系统会自动进行配置。
相关文章推荐
- 基于FS4412嵌入式系统移植(2) NFS文件系统启动linux体验
- windows 无法启动 windows update 服务 (位于本地计算机上) 错误2:系统找不到指定文件
- Windows魔法堂:解决“由于启动计算机时出现页面文件配置问题.......”
- Windows不能在本地计算机启动MongoDB,错误代码 100
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(四制作根文件系统及通过NFS挂载文件系统)
- 基于visual c++之windows核心编程代码分析(26)实现文件关联
- 基于visual c++之windows核心编程代码分析(64)现有的exe文件中添加自己的代码
- win7安装xampp提示windows找不到-n文件(安装成功后,443端口占用,apache服务器无法正常启动)的解决方案
- windows 10安装mysql 5.7后,启动服务提示“本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止。
- windows版redis报错:本地计算机上的Redis服务启动后停止
- keil MDK启动文件分析---基于LPC2100系列(其实都是相通的)
- 【启动】Windows上启动图形化软件,报错: 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-1-1-0.dll
- 关于windows激活状态不可用,software protection服务启动时提示找不到文件的解决方法
- Windows 7 添加MBR文件启动
- 【转】解决Windows不能在本地计算机启动apache tomcat
- [轉]windows下mysql 启动 mysqlbinlog二进制日志文件
- Windows 不能在本地计算机启动 IIS Admin Service
- “在本地计算机无法启动Server服务,错误2:系统找不到指定的文件”问题
- 基于stm32f103zet6点亮LED之启动文件