使用 virtualbox 将物理硬盘当做虚拟机的硬盘

Kvm、VMware、Virtualbox、Xen、Qemu 等
SimonLei
帖子: 12
注册时间: 2007-08-16 15:35

使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#1

帖子 SimonLei » 2008-04-24 9:31

我的笔记本是双操作系统,ubuntu和windows xp。前一段时间一直在ubuntu上用,由于需要使用一些即时通讯工具, 例如QQ,所以在ubuntu里面有用virtualbox虚拟了另一个winxp。这样一来,搞得有一个真实的xp系统,一个虚拟的 xp系统。这还不算头疼。最近因为一些原因,回到真实的xp系统上,发现有些ubuntu上用习惯了的东西又没有了。 这个时候,要么再virtualbox一个ubuntu,要么装cygwin。这两种方案,都不爽。而且,由于平常用的一些文件在几个真真 假假的系统之间换来换去,很难保持一致性,比较头痛。

后来想到,干脆把物理硬盘当做虚拟机的硬盘,这样,不管是把xp当做host,还是把ubuntu当做Host,我都是只有两套系统。 只不过是哪个系统为 host,哪个系统为 guest 而已。我使用的virtualbox 版本是1.5.6,参考它的手册9.9

要注意的是,文档中也指出,这是个比较危险的动作,可能会造成硬盘数据的丢失。有个原则,就是这两个系统,都不直接访问 另一个系统的分区。我就是一块硬盘,四个分区,1为xp,2和3是ubuntu,4是swap。

首先,在ubuntu上,这个比较简单,参考文档,使用命令:

VBoxManage internalcommands createrawvmdk -filename ~/winxp.vmdk -rawdisk /dev/sda -partitions 1 -relative -register

这里有个权限的问题,因为/dev/sda 和 /dev/sda1 对普通用户是不可读的,所以需要修改一下权限。我是直接用 777,虽然不安全,不过省事。这里用 relative参数,就是说不用其他分区,因此只要这两个device的权限就行。

随后是mbr的问题。我给这个虚拟机让它直接使用自己的mbr,首先用 sudo apt-get install mbr,然后

install-mbr -f -p 1 winxp-pt.vmdk

这样就使得它有独立的mbr了。不过因为我不重装系统,所以这个步骤的意义其实不是很大。随后就很简单了, 启动virtualbox,新建一个xp的虚拟机,使用这块新做出来的硬盘。这里注意,有个选项必须要选上,在属性-> 常规->高级->启用IO APIC 刚开始我没选这个属性,每次启动虚拟机,虚拟机都黑屏,选上就好了。

其次,在winxp上,也使用命令行,差别不大,不过有一点,因为ubuntu使用分区2,3,光使用这两个分区做虚拟机, 启动的时候总是停留在 MBR 1FA这个地方,查了半天也没查出个所以然来。后来想算了,干脆把全盘当做虚拟机的 硬盘好了,只要在winxp下面不要去直接访问分区2,3,应该就没事。命令行如下:

vboxmanage internalcommands createrawvmdk -filename ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -register

然后就可以了。这样我就可以把双操作系统随时都一起启动起来,比较好玩。:D
头像
kopision
帖子: 578
注册时间: 2007-05-06 18:11

#2

帖子 kopision » 2008-04-25 0:07

……好麻烦,还不如开个共享映射网络硬盘……
……
royaso
帖子: 12
注册时间: 2010-03-03 0:20

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#3

帖子 royaso » 2010-05-02 11:13

晕晕的,有点看不懂,
求图。。
larry0804
帖子: 10
注册时间: 2008-05-16 19:54

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#4

帖子 larry0804 » 2010-06-03 16:54

楼主wubi安装的ubuntu能用这种方法吗?
头像
dwl301
帖子: 1130
注册时间: 2007-04-14 11:17

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#5

帖子 dwl301 » 2010-06-03 17:57

有点不爽 …… :em25 :em25 :em25
myheartshape
帖子: 58
注册时间: 2009-12-11 19:01

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#6

帖子 myheartshape » 2010-06-23 23:19

不知这动作危险不
改天试试
wheel
帖子: 115
注册时间: 2007-05-26 18:09

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#7

帖子 wheel » 2010-07-01 16:11

VBoxManage internalcommands createrawvmdk -filename ~/winxp.vmdk -rawdisk /dev/sda -partitions 1 -relative -register

看来不错的说
fififisher
帖子: 26
注册时间: 2009-08-20 9:04

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#8

帖子 fififisher » 2010-08-03 5:46

这个方法真没的说,这是唯一的方法了。。。

举例:

如果你的host系统式ubuntu,然后在host系统里mount了一些ntfs,那么这些ntfs盘是不能让vbox作为共享空间的,


有了楼主这种方法,就可以在虚拟系统里面,读取这些ntfs的盘了。。。。。

!!!!!!!!!!!!!!!
头像
32idea
帖子: 1251
注册时间: 2006-12-15 9:32
系统: linux

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#9

帖子 32idea » 2010-08-03 8:49

如果你的host系统式ubuntu,然后在host系统里mount了一些ntfs,那么这些ntfs盘是不能让vbox作为共享空间的,
为什么不呢?我的貌似没什么问题,可以把NTFS下的文件夹建个软链接到共享文件夹下。
jack286
帖子: 278
注册时间: 2007-10-27 22:48

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#10

帖子 jack286 » 2010-11-27 22:17

花样百出,不知网络功能如何,有机会试试
头像
liuhk388
帖子: 48
注册时间: 2010-05-04 23:49

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#11

帖子 liuhk388 » 2011-08-30 10:29

为何我VBoxManage internalcommands createrawvmdk -filename ~/winxp.vmdk -rawdisk /dev/sda -partitions 1 -relative -register的时候出现:
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (2.6.38-11-generic) or it failed to
load. Please recompile the kernel module and install it by

sudo /etc/init.d/vboxdrv setup

You will not be able to start VMs until this problem is fixed.
孤檠辉不尽,纸影味无眠
头像
百草谷居士
帖子: 3910
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#12

帖子 百草谷居士 » 2011-08-30 12:58

11楼的,vboxdrv内核模块没有装载成功,请运行

代码: 全选

sudo /etc/init.d/vboxdrv setup
重新编译内核并安装它。
ubuntu下修改/dev/sda读写权限并不好用,因为系统有时候会把它的权限自动给改回来。可以把自己加入到disk组,当然这样并不安全。不过直接使用物理硬盘本身就是个不安全的事情。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
Aaron98
帖子: 93
注册时间: 2011-04-29 20:50

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#13

帖子 Aaron98 » 2011-09-04 22:59

为何我VBoxManage internalcommands createrawvmdk -filename ~/winxp.vmdk -rawdisk /dev/sda -partitions 1 -relative -register的时候出现:
Syntax error: Invalid parameter '-register'

于是我吧-register这么命令省去了,可以吗?

还有请问如何修改sda1的权限为777啊?
上次由 Aaron98 在 2011-09-04 23:35,总共编辑 1 次。
Aaron98
帖子: 93
注册时间: 2011-04-29 20:50

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#14

帖子 Aaron98 » 2011-09-04 23:33

大侠们:
我选择按lz方法制作的vmdk的时候,出现以下错误:
打开 虚拟硬盘 /home/aaron/win7.vmdk 失败.
The medium '/home/aaron/win7.vmdk' can't be used as the requested device type.


返回 代码:
NS_ERROR_FAILURE (0x80004005)
组件:
Medium
界面:
IMedium {53f9cc0c-e0fd-40a5-a404-a7a5272082cd}
被召者:
IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}
Aaron98
帖子: 93
注册时间: 2011-04-29 20:50

Re: 使用 virtualbox 将物理硬盘当做虚拟机的硬盘

#15

帖子 Aaron98 » 2011-09-04 23:38

若是加载另外一个win7-pt.vmdk的文件则出现:

打开 虚拟硬盘 /home/aaron/win7-pt.vmdk 失败.

Could not get the storage format of the medium '/home/aaron/win7-pt.vmdk' (VERR_NOT_SUPPORTED).

返回 代码:VBOX_E_IPRT_ERROR (0x80BB0005)
组件:Medium
界面:IMedium {53f9cc0c-e0fd-40a5-a404-a7a5272082cd}
被召者:IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}
回复