虚拟机直接加载硬盘实现Ubuntu和Windows双系统同时运行

1,055 阅读1分钟

在以Ubuntu为主力系统的时候,电脑上一般都同时安装了Windows,使用Windows系统中的程序和文档需要重启电脑进入Windows系统。也可以通过在虚拟机中安装Windows的方式运行Windows,但这种情况Windows是虚拟机中的系统,并不是硬盘上的Windows系统。

有没有一种方法在运行Ubuntu的同时运行硬盘上的Windows系统呢?可以通过虚拟机挂载Windows系统所在硬盘的方法运行物理电脑上的Windows系统。

虚拟机像VirtualBox,硬件都是模拟的,其中的硬盘是以vmdk、vhd等格式的虚拟硬盘文件,如果让虚拟机直接访问物理硬盘,需要创建一个对应物理硬盘的vmdk文件。先通过Disks应用或lsblk命令确定Windows所在的路径,在我的电脑上Windows是装在256 GB的SanDisk硬盘上,对应的设备路径是/dev/sda(注意不是/dev/sda1,这是硬盘的第一个分区,虚拟机需要加载整个硬盘)。

1.png

安装VirtualBox

sudo apt install virtualbox

创建指向Windows分区的vmdk文件

sudo VBoxManage internalcommands createrawvmdk -filename "Disk.vmdk" -rawdisk /dev/sda

2.png

这个创建的Disk.vmdk是个文本文件只有537字节,其内容也是指向对应的硬盘。因为需要访问物理硬盘,需要用sudo权限运行VirtualBox。

sudo virtualbox

然后使用刚才创建的Disk.vmdk文件创建一个Windows 10虚拟机就可以在Ubuntu下同时虚拟运行硬盘上的Windows系统了。

3.png