linux下virtualBox挂载物理磁盘,启动第二块硬盘中的系统
问题描述: 目前我有两个硬盘,一个装linux系统,一个装windows系统。我在linux系统里安装了virtualbox,想让vitualbox直接使用安装了windows系统的那块硬盘,而且希望不会对windows系统中的文件造成破坏。
首先,很遗憾我没有完全实现,目前实现的是在linux系统中用virtualbox虚拟了一个win7系统,然后将原来windows系统中的D盘、E盘,添加到虚拟机中,这样原来系统中的存放的资料也能正常使用,只是有些程序可能要
具体实现的步骤,参考(http://forum.ubuntu.org.cn/viewtopic.php?t=360338):
1.在linux下安装virtualbox,安装成功后,在virtualbox中先虚拟一个可使用win7系统。
我的linux 为 centos 7,virtualbox为4.3。
2. 在命令行下执行:fdisk -l命令,查看硬盘情况。(注意:在root用户下)
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x983f4408
设备 Boot Start End Blocks Id System
/dev/sda1 63 465884 232911 de Dell Utility
/dev/sda2 * 465885 105338204 52436160 7 HPFS/NTFS/exFAT
/dev/sda3 105338205 976768064 435714930 f W95 Ext'd (LBA)
/dev/sda5 105338268 524779289 209720511 7 HPFS/NTFS/exFAT
/dev/sda6 524779353 976768064 225994356 7 HPFS/NTFS/exFAT
磁盘 /dev/sdb:240.1 GB, 240057409536 字节,468862128 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c687f
设备 Boot Start End Blocks Id System
/dev/sdb1 * 2048 1026047 512000 83 Linux
/dev/sdb2 1026048 468860927 233917440 8e Linux LVM
可以看到,我有两个硬盘,sda和sdb。sda有五个分区,sdb有两个分区。我的linux系统安装在sdb这块硬盘上,虚拟机中要添加的为/dev/sda5和/dev/sda6两个物理分区。
3.接下来做硬盘vmdk文件创建,这里直接创建整个硬盘的映射文件。创建单个分区的比较麻烦,又要提取mbr,又要修改bcd,而且还造成虚拟机能运行,原生启动错误的问题。
创建前请分配所有硬盘分区的读写权限,假如有三个 sda1 sda2 sda3 那么命令行下
chmod 666 /dev/sda1
chmod 666 /dev/sda2
chmod 666 /dev/sda3
chmod 666 /dev/sda5
chmod 666 /dev/sda6
更多以此类推,两块盘以上的一样,无非是sdb sdc,,,,,等。我这里将sda所有的分区都修改了权限,其实只要修改sda5和sda6就可以了。在我的系统中,sda5对应原来windows系统的D盘,sda6对应原来windows系统的E盘。
使用如下指令创建 wmdk 硬盘的映射文件,这里用到的是Virtualbox的shell模式,更多内容请参看virtualbox高级用户手册
vboxmanage internalcommands createrawvmdk -filename /home/sea/sda5.vmdk -rawdisk /dev/sda5 -relative
vboxmanage internalcommands createrawvmdk -filename /home/sea/sda6.vmdk -rawdisk /dev/sda6 -relative
这样就创建了两个可以供virtualbox使用的虚拟磁盘:sda5.vmdk sda6.vmdk
4. 打开virtuabox ,设置---->存储--->控制器,将这两个虚拟硬盘都添加虚拟机中。运行虚拟机,就可以看到这两个盘了。