将单个Ubuntu安装配置为双引导选项,并在Windows 10下配置VirtualBox设备

我经常需要在同一台机器上使用Windows 10和Ubuntu在一个登录会话,所以我运行Ubuntu作为一个虚拟机在Oracle VirtualBox ...

我经常需要在单个登录会话中在同一台机器上使用Windows 10和Ubuntu,因此我将Ubuntu作为虚拟机运行在Oracle VirtualBox中。 但是我也希望能够将本机启动到Ubuntu,所以双引导配置是最佳的。

为了获得最好的两个世界,我安装Ubuntu在双引导配置和Windows,并配置VirtualBox访问Ubuntu磁盘分区作为原始磁盘映像。 这允许我直接引导到Ubuntu,或者使用VirtualBox从Windows启动相同的Ubuntu安装。

使用Ubuntu 14.04.4,Windows 10 Pro v.1511 build 10586和64位Windows的VirtualBox 5.0.24成功执行了此配置。

第1步:启用虚拟化技术

直接硬件访问是此配置的关键,因此请确保在BIOS中启用虚拟化技术 ,特别是Intel VT-xAMD-v

第2步:下载并验证Ubuntu ISO

下载您将在系统上安装的ISO 。 在这个例子中,我们正在安装Ubuntu 14.0.4的64位桌面版本

在安装之前验证ISO。 从包含ISO的同一目录下载SHA256SUMSSHA256SUMS.gpg 。 对于Ubuntu 14.0.4,文件在这里 (随机的US镜像)。

使用gpg验证SHA256SUMS的真实性。 (如果您只在Windows机器上,gpg可作为Cygwin的软件包使用。)

下载Ubuntu公钥,并将其添加到gpg的密钥环:

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xEFE21092

验证密钥的指纹:

gpg --list-keys with-fingerprint 0xEFE21092

使用SHA256SUMS.gpg中的签名验证文件SHA256SUMS:

gpg --verify SHA256SUMS.gpg SHA256SUMS

如果您看到“良好的签名”,则文件将被验证。 (您可能会收到关于未被认可的密钥的信息,这意味着您没有将Ubuntu的密钥特别标记为可信任,该消息可以被忽略。)

最后,验证ISO。 SHA256SUMS将包含几个校验和,所以只需要一个你需要的,并用gpg检查。

sha256sum -c < (grep ubuntu-14.04.4-desktop-amd64.iso SHA256SUMS)

第3步.为Ubuntu安装创建一个分区

创建一个分区供Ubuntu使用,使用您选择的磁盘分区实用程序。 在这个例子中,我从Windows安装开始,所以我使用Windows 10磁盘管理器 。 Windows 10占用整个磁盘; 我需要为Ubuntu挖出一些空间。

右键单击Windows分区并选择“ 收缩卷”

创建分区

为了我的目的,20GB是足够的Ubuntu,所以我收缩了这个数量的Windows卷:

缩小音量

操作成功,我剩下一点不到20GB的未分配空间:

新分区布局

第4步:创建可启动的Ubuntu媒体

接下来,从Ubuntu ISO创建可启动的USB媒体。 此过程将覆盖thumbdrive上的所有数据,因此在继续操作之前,将任何预先存在的数据移出thumbdrive。

在Linux中创建可启动USB:

使用lsblk确定您的USB磁盘的设备名称。 如果磁盘已安装,请立即卸载。

您可以使用dd实用程序编写ISO。 作为根:

dd bs=4M if=/path/to/ubuntu-14.04.4-desktop-amd64.iso of=/dev/sdx && sync

其中sdx是您的U盘的设备标识符,例如sdb。 不要指定分区,例如sdb1。

Windows 10中 创建可启动USB

我建议使用免费的Windows应用程序Rufus 。 在Rufus对话框中,您可以通过单击可移动媒体图标(此处用红色箭头指示)来选择源ISO。

Rufus对话框

当您准备好创建USB时,单击开始

第5步:安装Ubuntu

从USB驱动器启动计算机,这将启动Ubuntu Live会话。 选择在Windows 10之外安装Ubuntu

安装完成后,卸下安装介质并重新启动。 您将被GRUB启动菜单打hello。 选择Ubuntu。

第6步:更新Ubuntu

登录到Ubuntu,打开一个终端,使您的系统更新。

sudo apt-get update && sudo apt-get upgrade

如果您将安装VirtualBox Guest服务来增强虚拟化体验,请安装内核模块构建要求:

sudo apt-get install dkms build-essentials linux-headers-generic

您可能还想现在安装您首选的窗口管理器:

sudo apt-get install openbox

第7步:创建Ubuntu分区的VirtualBox Raw Disk映像

启动到Windows 10.如果还没有安装VirtualBox, 现在就这样做

以管理员身份打开命令提示符。 使用Windows Management Instrumentation Command-line( WMIC )工具获取物理磁盘驱动器的DeviceID:

wmic diskdrive list brief /format:list

在这个例子中,我们的DeviceID是\\。\ PHYSICALDRIVE0

在管理员命令提示符中,将目录更改为VirtualBox安装目录,并使用VBoxManage列出该驱动器上的所有分区:

cd "\Program Files\Oracle\VirtualBox"

VBoxManage.exe internalcommands listpartitions -rawdisk \\.\PHYSICALDRIVE0

输出将类似于以下内容:

Number  Type  StartCHS     EndCHS       Size (MiB)  Start (Sect)
1 0x07 0 /32 /33 1023/239/63 217962 2048
6 0x83 1023/254/63 1023/254/63 16110 446392320
5 0x82 1023/254/63 1023/254/63 3891 479385600
2 0x27 1023/239/63 1023/239/63 508 487354368

这里,分区号1是我的Windows安装,分区2是我的Windows恢复分区。 分区6是我的Ubuntu安装,分区5是Ubuntu交换分区。

我想创建一个可以访问我的Ubuntu分区(分区5和6)的原始磁盘映像。对于这个配置,VBoxManage命令是:

VBoxManage internalcommands createrawvmdk -filename “C:\path\to\ubuntu-raw.vmdk” -rawdisk \\.\PHYSICALDISK0 -partitions 5,6

其中C:\ path \到\ ubuntu-raw.vmdk是要创建的原始磁盘映像文件的位置。

第8步:创建GRUB ISO

Ubuntu需要GRUB启动,但Ubuntu虚拟机将无法访问默认的GRUB安装,因为它位于Windows分区上。

在此步骤中,我们创建了一个可引导的GRUB Recovery ISO,虚拟机将用于引导到Ubuntu。

在Ubuntu中,选择一个位置(如临时目录)并创建目录结构iso / boot / grub

mkdir -p iso/boot/grub

/ usr / lib / grub / i386-pc / *的内容复制到iso / boot / grub中

cp /usr/lib/grub/i386-pc/* iso/boot/grub

然后将/boot/grub/grub.cfg复制到同一目录中:

cp /boot/grub/grub.cfg iso/boot/grub

使用您最喜爱的文本编辑器编辑grub.cfg的副本:

vi iso/boot/grub

在此文件中,找到并删除Windows 10的引导菜单项。它如下所示:

menuentry 'Windows 10' {
...
}

注释或删除此菜单项( menuentry}之间的所有内容(包括))。 将更改写入grub.cfg并退出编辑器。

接下来,使用grub-mkrescue创建可引导的GRUB ISO。 这需要GNU xorriso 。 如果您还没有安装,请立即安装:

sudo apt-get install xorriso

运行grub-mkrescue,指定您的iso目录:

grub-mkrescue -o boot.iso ./iso

这将创建可引导的GRUB恢复ISO boot.iso ,它必须传输到Windows 10.将其复制到USB thumbdrive。

第9步:在Windows中创建虚拟机

引导到Windows 10.将boot.iso复制到适合长期访问的位置,例如VirtualBox VMs目录或Documents文件夹。

以管理员身份启动VirtualBox。 重要的是,VirtualBox具有管理员权限,以便它可以访问Ubuntu分区。

现在,为Ubuntu创建一个新的虚拟机。 配置硬盘驱动器时,选择使用现有的虚拟硬盘驱动器文件。 选择您在第7步中创建的VDMK文件。该原始磁盘映像使虚拟机能够访问Ubuntu分区。

创建Ubuntu VM后,选择它,然后转到设置 - >存储 。 选择控制器:IDE ,并使用光驱图标添加可移动磁盘。

Virtualbox IDE控制器

选择您的boot.iso文件,然后单击确定。

现在当您启动虚拟机时,它会将GRUB Recovery ISO读取为可移动磁盘,并为您提供GRUB启动菜单,减去启动Windows 10的选项。

在此步骤之后,您的虚拟机应该准备好了。

建议和注意事项

当您想要虚拟化Ubuntu时,请确保以管理员身份运行VirtualBox,否则Ubuntu分区将无法访问。

随时暂停虚拟机并将其保持在连续虚拟化会话之间的保存状态,但请确保在将计算机直接引导到Ubuntu之前正确关闭虚拟机。

不要尝试从Ubuntu虚拟机访问您的Windows分区 - 这将产生不可预测的结果。 这样做可能会破坏数据! 使用其他方法在Ubuntu VM和Windows之间交换数据,例如可移动媒体或网络传输(如rsync)。

故障排除

如果您启动计算机并且缺少Windows的GRUB菜单条目,请以root身份登录Ubuntu,并运行os- prober扫描可引导操作系统:

os-prober

然后,更新您的GRUB配置:

update-grub

...并重启。