/*******************************************************************************
* 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. javascript 十进制转换为二进制

    1.十进制转换为二进制 var toBin = (n) => { if(n == 0) return '0'; var res = ''; while(n != 0) { res = n % 2 ...

  2. Photos_2017 China MVP Community Connection

  3. Android NDK pthreads详细使用

    这个pthread.h文件可以在NDK环境里创建子线程,并对线程能够做出互斥所.等待.销毁等控制. 写这个博客的原因是我要写如何使用FFmpeg播放视频,因为同时需要播放音频和视频所以需要开启线程,并 ...

  4. git切换用户踩坑

    1)配置用户信息 git config --global user.name "username" git config --global user.email "**@ ...

  5. typescript 关于class属性类型定义被属性默认值覆盖的问题及解决方式

    问题来源于 React.component的第二个参数的类型定义问题,我构建了以下简化demo,方便描述问题: class P<STATE> { public state: STATE; ...

  6. 【算法】单源最短路——Dijkstra

    对于固定起点的最短路算法,我们称之为单源最短路算法.单源最短路算法很多,最常见的就是dijkstra算法. dijkstra主要用的是一种贪心的思想,就是说如果i...s...t...j是最短路,那么 ...

  7. 使用HM16.0对视频编码

    1.编译HM16.0源码: 步骤参照:https://www.vcodex.com/hevc-and-vp9-codecs-try-them-yourself/(可设置pq等参数) [编译过程中遇到l ...

  8. 1 实现添加功能 1.1 定义一个学员类(Student),在Student类中定义姓名、性别和年龄属性,定义有 参数的构造方法来初始化所以的成员属性 1.2 创建学员类对象来存放学员信息,并且为每一个学生对象添加的相应的编号。并将 学员类对象添加到Map<Integer,Student>集合中 1.3 添加完成后,显示所有已添加的学员姓名 1.4 限制年龄文本框只能输入正整数,否则的会采

    学生类 package com.lanxi.demo1_3; public class Student { private String name; private String sex; priva ...

  9. Git通过密钥对远程仓库上传和更新详细操作

    1,先到ssh中ls查看之前本地生成的公钥和私钥,然后将别人的密钥替换掉自己的密钥,这里我把别人的密钥放在d:/desktop/id_rsa 中,利用cp /D/Desktop/id_rsa  id_ ...

  10. ios中iframe页面出现白屏问题

    最近用ionic3开发的一个项目在ios中出现了白屏的问题 banner轮播图跳转网页 使用了iframe 但是却时不时的出现白屏现象 在android中一切正常 网上查资料发现 是因为ios不允许访 ...