挂载vhd是win7 一个很特殊的功能,xp不能支持,一些服务器版的系统 像2008、2008R2这些可能也是支持的,只是没有测试过。

提前的准备:

Win7  wim 镜像文件

Imagex.exe

Bcdedit.exe

说明:

wim镜像一般可以再ISO镜像文件的source目录下,名为:install.wim

bcdedit  win7系统自带

imagex  可以针对系统版本自行下载

步骤:

1、首先我们要在win7的磁盘管理界面中,创建vhd文件,选择好vhd文件的保存路径后,磁盘管理界面中会多出一个磁盘,这是一个虚拟磁盘,其中也可以存放文件,但存放的文件实际上是被存放到了那个空白的vhd文件中了。

说明:一定要首先选中磁盘,创建vhd项才能使用。

选择vhd文件的存储位置和大小,此文件就是存放系统文件的地方。

挂在后会出现一块未初始化的磁盘,需要进行初始化一下

2、使用imagex工具来将wim文件释放到那个虚拟磁盘中,释放前一定要初始化虚拟磁盘,释放指令如下:

imagex  /apply  h:\win7.wim   5  g:\       #g盘是vhd文件挂在出来的那块磁盘

3、用bcdedit给这个模拟出来的新系统添加启动项:

Bcdedit  /copy  {current}   /d  “win7_of_vhd” 

当我们安装玩win7系统后会有一个表示此系统的唯一标识符,可是使用bcdedit  /enum  或者是bcdedit 来查看,我安装的是xp和win7的双os 因此win7系统的表示符是{current},也有可能是一连串的字母和数字组合,看情况而定。“win7_of_vhd”是对新建启动项的描述,也就是在系统启动时我们看到的文字表述。当我们运行玩此命令后,会产生一个此启动项的唯一标示,我们将其复制,假设为{asdf23aasdf89asdf89a}

Bcdedit   /set   {asdf23aasdf89asdf89a}  device   vhd=[h:]\win7.vhd

Bcdedit   /set   {asdf23aasdf89asdf89a}  osdevice   vhd=[h:]\win7.vhd

H盘是vhd的存放位置,此二命令是给启动项添加路径

Bcdedit   /set   {asdf23aasdf89asdf89a}  detecthal   on

Detecthal是挂载vhd时才使用的参数,将其打开。

以上命令我们只能在win7中实现,虽然bcdedit工具也可以在xp中运行,但有些参数是不能使用的  例如 vhd路径的制定参数 vhd:  和 detecthal 等因此 无论是创建虚拟擦盘还是创建启动项只能在win7中运行了…

这样我们重启后就可以进入vhd系统了

win7挂载VHD文件,模拟多系统并存的更多相关文章

  1. 快速挂载iso文件到虚拟机系统

    在vm软件菜单栏那里选择vm,再选择弹出菜单最下面的设置,如图,找到实体机上的iso文件,保存. 这时候,在虚拟机ls /dev会发现有一个cdrom,这个就是我们的iso文件,不过我们还需要把它挂载 ...

  2. 系统重装 WIN7如何创建和使用VHD文件

    1 在磁盘管理中,点击操作-创建VHD,然后可以创建一个空的VHD文件   2 右击这个磁盘,点击初始化磁盘,然后可以新建简单卷   3 右击这个磁盘,设置为脱机或者联机就可以在计算机中显示和隐藏这个 ...

  3. 快速挂载和分离VHD文件的小脚本

      =======代码开始======== echo select vdisk file= %VHD文件路径% echo attach vdisk exit 分离VHD的脚本,只需要将上述代码中 at ...

  4. win7 创建vhd提示“找不到指定文件的虚拟磁盘支持提供程序”解决方法

    本文参照:https://itbbs.pconline.com.cn/diy/16509116_2.html 14楼中"坚持不放弃"用户的答案得到解决 问题复现: 1.window ...

  5. Windows 7 下快速挂载和分离VHD文件的小脚本

    1.保存以下代码为VDM.vbs,放在Windows\system32下 Dim ArgsSet Args = WScript.ArgumentsTranArgs = " "For ...

  6. VHD轻松实现双系统

    VHD 是微软虚拟磁盘文件.   VHD(Microsoft Virtual Hard Disk format). 目前可以使用Microsoft Virtual PC 2007 and Micros ...

  7. 开机自动挂载 VHD 的方法

    一.批处理 除了将 VHD 文件用人工方式在[磁盘管理]里[附加]来挂载以外,也能用[脚本]来实现自动挂载. 打开[启动],将写好的 mount.bat 放入即可: Mount.bat 文件的内容为: ...

  8. 虚拟磁盘VHD文件压缩方法

    问题描述 因工作需要在Mac上跑了一个VirtualBox虚拟win7,使用对win系统友好的vhd格式作为虚拟硬盘.经过一段时间使用发现vhd占用空间远大于虚拟磁盘使用量,想办法减减肥才行. 步骤整 ...

  9. 利用qemu模拟嵌入式系统制作全过程

    http://www.tinylab.org/using-qemu-simulation-inserts-the-type-system-to-produce-the-whole-process/ 利 ...

随机推荐

  1. LLVM 笔记(四)—— three-phase 设计的收益

    ilocker:关注 Android 安全(新手) QQ: 2597294287 采用 three-phase 的设计方式,便于编译器支持多种语言和多种目标平台. 如果在优化器阶段采用通用的 IR ( ...

  2. Linux下安装Nginx1.9.3

    操作系统:CentOS6.5 64bit Nginx: 1.9.3 1.下载Nginx [root@iZ94jj63a3sZ softs]# wget http://nginx.org/downloa ...

  3. 直播时代--IOS直播客户端SDK,美颜直播【开源】

    当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC.UGC的视频直播门槛都降低了很多. 本文介绍一个:IOS 客户端直播的SDK,代码完全开源. 直播时代:让IOS普通开发者一天内做出一个RTM ...

  4. MMORPG大型游戏设计与开发(服务器 AI 基础接口)

    一个模块都往往需要统一的接口支持,特别是对于非常大型的模块,基础结构的统一性非常重要,它往往决定了其扩展对象的通用性.昨天说了AI的基本概述以及组成,作为与场景模块中核心一样重要的地位,基础部分的设计 ...

  5. DataGridView列的宽度、行的高度自动调整

    注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. 介绍一下DataGridView列的宽度和行的高度,根据单元格或Header的内容(一般是内容全部被表示)自 ...

  6. 学习C++.Primer.Plus 10 对象和类

    1.类的声明和定义 类的声明和定义. 类声明的格式如下: class className { private://private 是类对象的默认访问控制,因此,可以省略 data member del ...

  7. C#反射在ADO中的巧用

    在C#原生开发网站的时候,经常会碰到一个问题,后台用原生查出来的数据一般是DataReader或者是DataTable,这样就把数据从数据库中拿到了,然后就是把数据绑定到前台页面进行输出,这是最原生态 ...

  8. 获取使用ClickOnce部署的应用程序的版本号

    引子 在编写使用ClickOnce部署的应用程序时,需要在程序的标题栏.软件变更记录.软件关于等页面读取显示当前的版本号. 之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地 ...

  9. IT职场人的“存在主义”

      人生在世,最重要的一条就是:找准你的位置.也就是,你的定位问题. 就在前两天,参加一次社交活动,一知名培训师回顾过往,感慨地说:一个好的培训师,一定要定位好自己的客户群,根据他们的需求做好自己的定 ...

  10. 【转】C++之父:C++ 的五个普遍误解

    文章三部分如下: 1.http://blog.jobbole.com/82460/ 2.http://blog.jobbole.com/82461/ 3.http://blog.jobbole.com ...