张江高科地铁:Windows的另一种引导方式

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 03:05:36

  通常来说,如果需要安装多重引导环境,例如在电脑中安装两套不同版本的Windows系统,并在不同系统中执行不同的操作,现在已经成了一种非常简单的做法。只要为这两个操作系统准备两个独立的主分区,然后先安装老版本系统到第一个分区,随后用“全新安装”的方式安装新版本系统到第二个分区。这样以后每次打开电脑后,都会看到一个操作系统选择莱单,我们可以根据需要选择一个操作系统,并开始引导。
  这种做法虽然简单,但也有一个问题需要注意,那就是,必须为每个操作系统准备一个独立分区,而不能将所有系统安装到同一个分区中。并且在安装时还需要注意顺序问题,必须先安装最老的系统。例如,如果要安装WindoWSXP/Vista/7这三个系统,就必须按照这些系统的发布顺序挨个安装。如果搞错顺序,可能会导致先安装的系统无法正常引导。
  但实际上对于Windows 7以及Windows Server 2008 R2这类比较新的操作系统,由于内部的改进,已经可以支持另一种全新的引导方式:VHD原生引导。
  
  什么是VHD引导?
  
  使用VHD文件引导操作系统的主要思路是:首先准备好一个VHD文件,随后将该文件挂在到宿主操作系统中。接着使用特殊的方法将操作系统“安装”到VHD文件内部,并修改宿主操作系统的BCD引导记录。这样处理完毕后,VHD文件在宿主机内依然是一个独立的文件,但在打开电脑后,可以看到操作系统引导莱单,其中不仅列出了宿主操作系统,而且列出了VHD文件中安装的操作系统。我们可以选择引导其中任何一个系统,并直接进入VHD文件内所安装的系统。在启动这样的系统后,VHD文件会被装载为一个新的分区,其中的操作系统可以正常运行,并且可以访问宿主机内的其他所有硬盘分区。
  相比传统的多重引导环境,这样的做法优势在于不再需要管理多个独立硬盘分区。因为我们只需要将第一个操作系统安装到实际的硬盘分区上,随后即可在同一个分区内放置多个VHD文件,并将其他操作系统都安装到这些VHD文件内,因此简化了后续的管理工作。
  其次,现在很多人还在使用虚拟机软件同时运行多个操作系统。在宿主机硬件性能足够强大的情况下,通过虚拟机软件可以同时运行多个操作系统。但虚拟环境中运行的操作系统性能方面存在不足,虽然运行普通程序基本不成问题,但如果需要完全“等同于”宿主机的性能,例如像在虚拟机中玩大型3D游戏,或者使用CAD、三维建模等对性能要求较高的软件,目前的技术水平暂且无法实现。
  但如果使用VHD方式进行引导,上述问题都可以迎刃而解。所有操作系统都位于独立的环境中,并且所有操作系统都可以完全发挥硬件的全部性能。并且通过这一特性,我们还可以创建出一种能够“随身携带”的工作环境。只需要将自己的系统和软件安装到一个VHD文件中,随后即可将这样的文件保存在移动硬盘等可移动存储介质中,并在需要时将其复制到不同的电脑上(前提是这些电脑的处理器架构相同,即都使用了Intel或AMD的处理器),然后修改BCD引导配置,在不同电脑上使用完全相同的工作环境。
  这是一项非常先进的技术,然而新技术总是有着各种各样的缺陷和不足,VHD引导技术也是如此。现阶段,这一技术主要有下列局限:
  ·该功能要求电脑上的第一个操作系统(即直接安装在硬盘分区内的系统)必须是Windows 7企业版/旗舰版/Windows Server 2008 R2,并且在VH D文件内也只能安装这些操作系统。这主要是由于VHD引导属于一种新技术,只有最新的操作系统才能支持,因此老版本Windows系统(包括Windows Vista及WindowsSe rver 2008)无法用于这种环境。
  ·通过VHD文件引导的操作系统不支持休眠和BitLocker功能。
  ·这样的VHD文件可使用动态扩展、固定大小,或差异磁盘,但VH D文件本身不能被压缩或加密(皆指NTF S文件系统所提供的压缩和EFS加密功能)。
  ·虽然可使用动态扩展磁盘,但建议对此类VHD磁盘使用固定大小模式,因为磁盘空间不足可能导致VH D内的系统崩溃。例如,使用一块容量为50GB的动态扩展磁盘,但其中只保存了40GB文件,可VHD文件所在硬盘分区的可用空间不足10GB,此时尽管VH D内的系统并不需要这10GB空间,依然会导致系统蓝屏错误。
  ·用于引导的VHD文件不能保存在网络共享或USB接口的存储设备中。这主要是由于使用VHD进行引导的时候,引导过程中还不能访问网络,并且也还没有加载USB驱动。
  ·用于引导的VHD文件内安装的操作系统不能升级成新版本Windows。
  有如此多的局限,那么VHD引导方式还有什么优势?什么人适合使用这种技术?
  ·对于软件开发人员,可能需要在不同操作系统中测试自己开发的软件。虽然这种时候使用虚拟机即可满足需要,但有些软件,例如游戏,可能对系统的硬件有较高要求,在虚拟机中无法得到准确的结果。此时就可以使用VHD引导技术,并将需要测试的操作系统环境安装到VHD文件内,并使用这样的文件进行引导,对自己的软件进行测试。
  ·对于需要频繁更换电脑的用户,例如公司中新入职,但尚未分配专用电脑的员工,此时可能需要在不同电脑上完成自己的工作。如果直接更换电脑,每次更换后可能都要在目标电脑上进行一定的调整,例如安装自己需要的软件,或者更改某些必要的设置,显得非常麻烦。但如果使用VHD引导就简单多了,只要在任何一台电脑上准备一个VHD文件,并在其中安装操作系统和需要的全部软件。随后更换电脑后,只要这些电脑使用了相同的处理器,就可以直接把VHD文件复制过来,并经过简单的配置,直接使用VHD文件进行引导,在任何电脑上都可以获得完全相同的工作环境。
  是否已经有些感兴趣了?一起来看看如何实现这种引导方式吧。这种方式的多重引导主要有下列几个操作步骤:
  1.创建一个vhd虚拟硬盘文件,并将其挂载到现有系统中。
  2.在挂载后的虚拟硬盘文件内安装操作系统。
  3.配置原有操作系统,使其能够从vhd文件直接引导。
  下文将分别介绍这些操作。请注意,下文的全部操作都只能用于Windows 7企业版/旗舰版,以及Windows Server 2008R2操作系统。对于直接安装在硬盘分区(例如C盘)内的第一个操作系统,下文将统一简称为“原系统”,而VHD文件内安装的操作系统将简称为“新系统”。
  
  VHD文件的准备
  
  首先需要准备好所需的VHD文件,为此需执行下列操作:
  1.在原系统内运行“diskmgmt.msc”打开磁盘管理控制台,在“操作”菜单下选择“创建VHD”,随后将看到图1所示的界面。
  2.单击“浏览”按钮选择该VHD文件在硬盘上的保存位置,并设置虚拟硬盘的大小,同时建议为该虚拟硬盘设置为“固定大小”,而不要让其动态扩展。设置完毕后单击“确定”。由于是要创建固定大小的虚拟硬盘文件,因此需要将指定的空间全部分配完毕,如果指定的虚拟硬盘较大,这个过程将需要一段时间,具体进度会显示在磁盘管理控制台窗口的底部。在磁盘管理控制台内,创建完毕的VHD会显示为尚未初始化的新硬盘。
  3.在该磁盘上点击鼠标右键,选择“初始化”,并在随后出现的对话框上直接单击“确定”。
  4.在这50GB未分配空间上单击鼠标右键,选择“新建简单卷”,将全部空间建立一个NTFS文件系统的分区,并记下为该分区分配的盘符(假设为“F盘”)。
  至此该VHD文件的准备工作已经完成,并且该VHD文件会被挂载为原系统中的一个独立硬盘分区。
  
  在VHD文件内“安装”操作系统
  
  随后即可在这个VHD文件内“安装”操作系统,但此处所说的安装并非使用传统方式用光盘引导,并执行安装操作,同时选择VHD文件作为安装位置。此处需要将Windows安装介质内WIM格式的映像文件直接“展开”到VHD文件内。因此首先需要准备好下列内容:
  ·WindoWS安装介质:该功能只能用于安装Windows7企业版/旗舰版/Wind0WSServer 2008 R2,并且严格来说只需要提供这些版本操作系统介质中的\sources\install.wim文件即可。
  ·映像的部署操作命令较为繁琐,为了简化操作步骤,微软提供了一个编写好的Windows PowerShell脚本,可在这里下载:http://duanurl.net/110105-1(只需下载.psl文件)。使用该脚本后具体的操作会简单一些。
  下文将以在Windows 7旗舰版下安装Windows Server2008 R2标准版为例进行介绍:
  1.使用管理员身份打开WindowsPowerShell窗口1,并运行“set-executionpolicyremotesigned”命令(注意将下划线“更换为空格,下文将不再提醒。另外请注意“一”与“的区别,“一”是需要输入的内容)。
  2.将安装介质内的install.wim文件,以及下载回来的脚本文件都保存到D盘根目录下,并在PowerShell窗口中进入D盘根目录,随后运行“\install-windowsimage,psi——wim——d:\install.wim”命令,该命令可查看指定的wim文件内所有可用的映像,我们需要从中选择自己需要的内容。
  这一命令的输出结果如下:
  从上述内容可看出,该WIM文件中包含8个不同的映像,我们想要安装的是标准版完全安装的Windows Server 2008R2,因此该版本映像对应的编号是“1”。
  3.随后依然在WindowsPowerShell窗口中,运行下列命令即可将指定WIM文件内指定编号的映像部署到之前创建的VHD文件内:\Install-WindowsImage.psl-wimd:\install,wim-apply-index 1-destination f:
  这条命令中相关参数的含义如下:
  d:\install.wim:指定用于安装的wjm文件的位置。
  -apply:指定这是一次“安装”操作。
  -index 1:指定需要使用wim文件中包含的,序号为“1”的映像进行安装。
  -destination f:指定安装到的目的地,这里的F盘就是上文所创建的vhd文件挂载后的盘符。
  这条命令的运行过程中屏幕上只会显示一个该操作预计执行时间的警告信息,不会显示其他内容,因此请耐心等待,直到输出下列结果:
  至此新系统的安装工作已经完成,但我们还需要将该VHD文件从主系统内卸载。具体方法是,在磁盘管理控制台中,右键单击该VHD挂载后产生的硬盘,从右键菜单中选择“分离VHD”,并在随后出现的对话框中直接单击“确定”。配置BCD引导记录
  随后还要在原系统中对引导数据进行配置,以便创建多重引导莱单,并为在VHD中安装的系统添加必要的引导项。该操作的步骤如下:
  1.在原系统中使用管理员身份启动命令行窗口,然后运行“cdedit/copy-{current}d“2008R2St”命令。该命令的输出结果类似这样,请记住被“复制到”的GUID,并请使用一个简单好记的描述信息:
  C:\>bcdedit/copy{current}/d’r2008R2St
  已将该项成功复制到{278lc4le-c6ea-1lde-89ca-810b730e97b3}。
  2.随后运行“bcdedit/set{记住的GUID内容}osdevice vhd=[vhd文件所在盘符:]\VH D文件的路径”命令,该命令的输出结果类似这样:
   C:\bcdedit
  /set{278 lc41 f-c6ea-llde-89ca-810b730e97b3}
  osdevicevhd=[d:]\winServ2kSR2St.vhd
  操作成功完成。
  3.随后运行“bcdedit/set{记住的GUID}devicevhd=[vhd文件所在盘符:]\VH D文件的路径”命令该命令的输出结果类似这样:
   C:\>bcdedit
  /set{2781c41f-c6ea-11de-89ca-810b730e97b3}
  devicevhd=[d:]\winServ2kSR2St.vhd
  操作成功完成。
  4.至此操作已经完成,为了验证最终的结果,可在命令行下直接运行“bcdedit”命令,如果能看到类似下列输出结果,则表示操作正确(为节约篇幅,下列结果并不完整,只截取了最重要的内容,见图4):
  至此全部操作已经完成,如果一切操作无误,在重启动电脑后,就可以看到一个操作系统选择菜单,我们可以像使用传统多重引导系统一样,选择一个操作系统,并按下回车键开始加载。
  对于安装在VHD文件中的系统,首次启动时,因为等于是从初始封装的状态下第一次启动,因此需要安装相应的硬件驱动和设备,首次启动需要的时间较长。但后续的启动速度就会与正常情况下的启动速度相同。
  在VHD文件内安装的操作系统正常运行的过程中,依然可以访问本地硬盘上的全部分区(但具体盘符会有变化),并且这些VHD文件挂载后产生的硬盘分区也是可见的。但在原系统中,只要不挂载这样的VHD文件,对应的硬盘分区将不可见。
  
  直接捕获原系统为VHD文件
  
  上文介绍了在一个空的VHD文件中“安装”操作系统的方法。但实际上,如果有必要,我们还可以将原系统直接捕获成VH D文件。这样就等于为原系统创建了一个“克隆的副本”,并可通过转移VHD文件,将原系统的完整环境转移到其他硬件上,并直接运行。
  对于这个操作,需要使用微软提供的一个免费软件:Disk2vhd,该工具属于一种迁移工具,可将物理硬件中安装的系统“迁移”为VHD文件,这个过程也叫做P2V(Physical To Virtual,物理到虚拟)。通过使用该工具,即可将物理环境中安装的操作系统和软件“打包”为VHD文件,直接使用这样的文件进行引导,或者将这样的文件应用到微软的虚拟化软件(VirtualPC/Server以及HYPer-V)中。该工具的下载地址是:http://duanur1.net/110105-2。
  这个工具的使用非常简单,直接双击下载回来的disk2vhd.exe文件,接受用户协议,随后即可看到图2所示的界面。
  在这个界面上,首先从分区列表中选择要捕获的分区,即安装了操作系统的分区,随后单击“…”按钮指定VHD文件的保存位置,然后单击“Create”按钮即可。这里可以注意,捕获过程是非常智能的,并且并不像Ghost之类的软件那样对所选分区进行“逐扇区”方式的“克隆”。因此就算要对C盘进行捕获,也可以将捕获后的VH D文件保存到C盘中。
  取决于目标分区的大小,这一过程可能需要一段时间,这个过程会在窗口底部显示进度条。请等待操作完成,随后在所选位置就能看到获得的VHD文件。在有了VHD文件后,即可将该文件复制到其他电脑上,并按照上文的介绍配置BCD引导记录,直接使用这样的VHD文件引导电脑。