vbox如何直接存取物理磁盘分区
06-11
把win7作为虚拟机的一个问题是磁盘空间不够用, 一个常规的办法是使用共享文件夹,我使用这种方式遇到了两个大问题:
1. 不能创建文件。
2. 映射为盘符后,不能执行里面的可执行文件(直接在VBOXSRV 里面倒是可以,不过cmd不能切过去)
今天突然想到,能不能把磁盘分区直接给vbox用,我搜索"vbox direct access disk partition"的确是可以的:
sudo VBoxManage internalcommands createrawvmdk -filename /mnt/sda5.vmdk
-rawdisk /dev/sda -partitions 3,5 -relative
sudo chown $USER /mnt/sda5*
sudo chmod 777 /dev/sda3
sudo chmod 777 /dev/sda5
然后在Storage/SATA Controller 新增磁盘/mnt/sda5.vmdk 就行啦。
说明:
1. 其中3,5 对应我原来win7下面的D盘和E盘,(F盘被我装成ubuntu啦)。
2. 加relative 的目的是不用把/dev/sda权限给我。
3. chown,chmod 是为了解决在新增磁盘时出现VBOX_E_OBJECT_NOT_FOUND的问题。
把虚拟机win7起来后,explorer多了两个Raw Disk, 如果你去format 就坏了, 因为那是linux用的。
用Disks工具查看布局是这样的:
sda:
sda1 | sda2 | sda3 | sda4|
sda4:
sda5 | sda6 | sda7 | sda8|
对应到win7下面,
sda1 是系统保留分区105MB
sda2 是C盘 107GB
sda3 是D盘 137GB
sda4 是扩展分区,包括:
sda5 是E盘137GB,原来的F盘在装linux时分割为
sda6 boot 分区128MB,sda7 交换分区1.8GB, sda8 根分区116GB.
为了避免误操作, 到计算机管理磁盘管理去掉分配的盘符即可。