/*******************************************************************************
* VirtualBox 使用物理硬盘
* 说明:
* 之前一般都是将数据存储在虚拟硬盘中,每个虚拟机的资源使用感觉比较臃肿,
* 不方便管理,所以打算除了基本编译系统以外,其他源代码存在共享的物理硬盘中,
* 这样对数据统一管理方便一点。
*
* 2018-12-17 深圳 宝安西乡 曾剑锋
******************************************************************************/ 一、参考文档:
. Virtualbox直接运行物理分区的系统
https://callmewing.com/2016/03/29/Virtualbox%E7%9B%B4%E6%8E%A5%E8%BF%90%E8%A1%8C%E7%89%A9%E7%90%86%E5%88%86%E5%8C%BA%E7%9A%84%E7%B3%BB%E7%BB%9F/
. 让VirtualBox使用物理硬盘作为虚拟硬盘镜像
http://www.voidcn.com/article/p-zkqkeoid-bce.html 二、处理方法:
. 查看当前Windows物理硬盘信息,在Windows cmd中运行:wmic diskdrive list brief
C:\WINDOWS\system32>wmic diskdrive list brief
Caption DeviceID Model Partitions Size
LITEON CV8-8E256 \\.\PHYSICALDRIVE0 LITEON CV8-8E256
. 把Virtual Box的安装路径添加到PATH环境变量里面,为了能够使用VBoxManage创建物理硬盘映射出来的虚拟硬盘;
. 查看指定物理硬盘分区信息:
C:\WINDOWS\system32>VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive0
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
0x00 / / / /
0x00 / / / /
0x00 / / / /
0x00 / / / /
0x00 / / / /
0x00 / / / /
0x00 / / / /
. 创建物理硬盘映射出的虚拟硬盘: VBoxManage internalcommands createrawvmdk -filename "</path/to/your/virtual/disk/file>" -rawdisk "<DeviceID>"
. VBoxManage internalcommands createrawvmdk -filename "zengjf.vmdk" -rawdisk "\\.\PhysicalDrive0"
. zengjf.vmdk内容:
# Disk DescriptorFile
version=
CID=cf9fb569
parentCID=ffffffff
createType="fullDevice" # Extent description
RW FLAT "\\.\PhysicalDrive0" # The disk Data Base
#DDB ddb.virtualHWVersion = ""
ddb.adapterType="ide"
ddb.geometry.cylinders=""
ddb.geometry.heads=""
ddb.geometry.sectors=""
ddb.uuid.image="76610083-f7ca-458a-be76-abc5a064906f"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
. 创建指定分区物理硬盘映射出的虚拟硬盘: VBoxManage internalcommands createrawvmdk -filename "</path/to/your/virtual/disk/file>" -rawdisk "<DeviceID>" -partitions ,,,
. VBoxManage internalcommands createrawvmdk -filename "zengjf.vmdk" -rawdisk "\\.\PhysicalDrive0" -partitions ,
. zengjf.vmdk内容:
# Disk DescriptorFile
version=
CID=738ed84b
parentCID=ffffffff
createType="partitionedDevice" # Extent description
RW FLAT "zengjf-pt.vmdk"
RW ZERO
RW FLAT "\\.\PhysicalDrive0"
RW FLAT "\\.\PhysicalDrive0"
RW ZERO
RW ZERO
RW ZERO
RW ZERO
RW ZERO
RW ZERO
RW FLAT "zengjf-pt.vmdk" # The disk Data Base
#DDB ddb.virtualHWVersion = ""
ddb.adapterType="ide"
ddb.geometry.cylinders=""
ddb.geometry.heads=""
ddb.geometry.sectors=""
ddb.uuid.image="2a0e378d-073c-48a3-9f82-4803dbb5d6b8"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
. zengjf-pt.vmdk是二进制文件,这里不列出来;
. 将虚拟硬盘加入虚拟机系统就可以使用了。

VirtualBox 使用物理硬盘的更多相关文章

  1. Linux下VirtualBox启动物理硬盘上已安装的Window 8系统

    创建虚拟机 1.创建一个没有硬盘的windows虚拟机,与已安装在物理硬盘上的系统一致.2.通过命令行在创建的虚拟机目录下创建一个指向物理硬盘的虚拟硬盘 VBoxManage internalcomm ...

  2. MikroTik RouterOS使用VirtualBox挂载物理硬盘作为虚拟机硬盘进行安装

    说明:这一切似乎在Windows下更好操作.虚拟机操作不是难点,难点在于虚拟磁盘的转换挂载 一.先挂载硬盘 # 创建虚拟镜像并映射到物理硬盘 cd "c:\Program Files\Ora ...

  3. VirtualBox使用物理硬盘建立磁盘

    VirtualBox,只能用命令行来 建立磁盘才可以使用物理硬盘. 1.运行cmd,cd进入你的VirtualBox目录,如:  cd C:\Program Files\Sun\VirtualBox ...

  4. RAID 损坏后如何对物理硬盘做完整镜像

    "磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能.利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上." ...

  5. 使用VMware将Linux装在物理硬盘上,开机即可进入Linux

    我的笔记本上是双系统Windows和Linux .经常需要在两个系统间切换,很麻烦.于是我想到如果能用VMWare虚拟机加载物理硬盘中的系统,可以在需要时,直接启动另外一个系统.     注意:我的双 ...

  6. 使用VMware将Linux装在物理硬盘上,开机即可进入Linux (转)

    目录(?)[-] 本文目的 具体操作 1 软件准备 2  安装 21 对硬盘操作 22 创建虚拟机并安装 23 使用Grub引导Linux 1. 本文目的 适合于没有光驱的计算机来安装Linux,还有 ...

  7. Zabbix整合MegaCLI实现物理硬盘的自动发现和监控

    MegaCLI是LSI提供的用户空间管理RAID卡(LSI芯片)工具,适用于大多数的Dell服务器. MegaCLI介绍: http://zh.community.dell.com/techcente ...

  8. VirtualBox 扩展虚拟硬盘容量

    转载:VirtualBox 扩展虚拟硬盘容量 如果使用的是ubuntu主机加xp虚拟机,扩容后,xp还无法识别扩大后的硬盘部分,可以在xp下使用“分区助手”进行处理,即将扩大的空间分给C盘.

  9. VirtualBox改变虚拟硬盘位置

    原本放虚拟硬盘的位置容量不足,因此将原来的虚拟硬盘放到了一个相对空闲的分区.设置虚拟硬盘位置时出现一点小问题,解决过程记录如下. 1. 将虚拟硬盘复制到目标位置后,假设为“F:\Ubuntu 16.0 ...

随机推荐

  1. AJAX的简单解释

    什么是AJAX AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以 ...

  2. Angular2+URL中的 # 引发的思考

    1.先分析 # 的作用 1.1. # 的涵义 #代表网页中的位置.其右面的字符就是该位置的标识符.比如,http://www.example.com/index.html#print就代表网页inde ...

  3. Linux c 获取cpu使用率(2)

    上一篇博文当中,我们谈论了在Linux中如何获取执行命令行的结果,最终得到cpu的 使用率,但是十分不幸的事情是: 1)通过top -n 1 | grep Cpu获取的cpu使用率不会刷新,每次读取结 ...

  4. 关于node_js的比较

    node_js的比较是我自己初学遇到的第一个绕脑的事情. 在比较的函数多了之后,一些函数的调用和变量提升, 搞得自己头晕,有时候函数是没有返回值的,自己还在 用变量值去比较,实际上却是undefine ...

  5. openjudge真的慢啊

    €openjudge真的慢啊

  6. INSERT INTO SELECT

    今天遇到一个问题在写把查询的数据添加到一个表里时出现问题 sql  INSERT INTO db1_name(field1,field2) VALUES SELECT field1,field2 FR ...

  7. css中的宽高以及百分比参照

    百分比数参照物    父元素宽度:padding,margin,width,text-indent 父元素高度:height 自身:transform中的translate() 其他单位     vh ...

  8. Applet

    Applet简介: 可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果.包含Applet的网页被称为Java-po ...

  9. 转 Redis 总结精讲 看一篇成高手系统-4

    转 Redis 总结精讲 看一篇成高手系统-4 2018年05月31日 09:00:05 hjm4702192 阅读数:125633   本文围绕以下几点进行阐述 1.为什么使用redis 2.使用r ...

  10. C# 鼠标点击移动窗体代码,可以实现无边框窗体的拖动

    private static bool IsDrag = false; private int enterX; private int enterY; private void setForm_Mou ...