在 Windows 10 下将单个 Ubuntu 安装配置为双引导选项和 VirtualBox 设备
在此页
- 第 1 步:启用虚拟化技术
- 第 2 步:下载并验证 Ubuntu ISO
- 第 3 步。为 Ubuntu 安装创建分区
- 第 4 步:创建可启动的 Ubuntu 媒体
- 在 Linux 中创建可启动 USB:
我经常需要在同一台机器上的单个登录会话中同时使用 Windows 10 和 Ubuntu,因此我在 Oracle VirtualBox 中将 Ubuntu 作为虚拟机运行。但我也希望能够将我的计算机本机启动到 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-x 或 AMD-v。
第 2 步:下载并验证 Ubuntu ISO
64 位桌面版 Ubuntu 14.0.4。
安装前验证 ISO。从包含 ISO 的同一目录下载 SHA256SUMS 和 SHA256SUMS.gpg。对于 Ubuntu 14.0.4,文件位于此处(美国随机镜像)。
使用 gpg 验证 SHA256SUMS 的真实性。 (如果您使用的是仅限 Windows 的机器,gpg 可作为 Cygwin 的软件包使用。)
下载 Ubuntu 公钥,并将其添加到 gpgs keyring:
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 将包含多个校验和,因此仅 grep 您需要的一个并使用 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 媒体。此过程会覆盖 U 盘上的所有数据,因此请在继续之前将任何预先存在的数据从 U 盘上移走。
在 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:
我推荐使用 Rufus,一个免费的 Windows 应用程序。在 Rufus 对话框中,您可以通过单击可移动媒体图标(此处用红色箭头指示)来选择源 ISO。
当您准备好创建 USB 时,单击开始。
第五步:安装Ubuntu
从 USB 驱动器启动计算机,这将启动 Ubuntu Live 会话。选择与 Windows 10 一起安装 Ubuntu。
安装完成后,移除安装介质并重新启动。您将看到 GRUB 引导菜单。选择Ubuntu。
第 6 步:更新 Ubuntu
登录 Ubuntu,打开终端并更新您的系统。
sudo apt-get update && sudo apt-get upgrade
如果您将安装 VirtualBox Guest Services 以增强您的虚拟化体验,请安装内核模块构建要求:
sudo apt-get install dkms build-essentials linux-headers-generic
您可能还想立即安装您喜欢的窗口管理器:
sudo apt-get install openbox
第 7 步:创建 Ubuntu 分区的 VirtualBox 原始磁盘映像
引导至 Windows 10。如果您尚未安装 VirtualBox,请立即安装。
以管理员身份打开命令提示符。使用 Windows Management Instrumentation 命令行 (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 o\ubuntu-raw.vmdk 是要创建的原始磁盘映像文件的位置。
步骤 8:创建 GRUB ISO
Ubuntu 需要 GRUB 才能启动,但 Ubuntu 虚拟机将无法访问默认的 GRUB 安装,因为它位于您的 Windows 分区上。
在这一步中,我们创建了一个可引导的 GRUB 恢复 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 拇指驱动器。
步骤 9:在 Windows 中创建虚拟机
引导进入 Windows 10。将 boot.iso 复制到适合长期访问的位置,例如 VirtualBox VM 目录或 Documents 文件夹。
以管理员身份启动 VirtualBox。重要的是 VirtualBox 具有管理员权限,以便它可以访问 Ubuntu 分区。
现在,为 Ubuntu 创建一个新的虚拟机。配置硬盘驱动器时,选择使用现有的虚拟硬盘驱动器文件。选择您在第 7 步中创建的 VDMK 文件。此原始磁盘映像使您的虚拟机能够访问 Ubuntu 分区。
创建 Ubuntu VM 后,选择它并转到设置 -> 存储。选择控制器:IDE 并使用光驱图标添加可移动磁盘。
选择您的 boot.iso 文件并点击确定。
现在,当您启动虚拟机时,它会将 GRUB 恢复 ISO 读取为可移动磁盘,并为您提供 GRUB 启动菜单,减去启动 Windows 10 的选项。
完成此步骤后,您的虚拟机应该准备就绪。
建议和注意事项
当您要虚拟化 Ubuntu 时,请确保以管理员身份运行 VirtualBox,否则 Ubuntu 分区将无法访问。
在连续的虚拟化会话之间随意暂停 VM 并将其保留在已保存状态,但请确保在将计算机直接启动到 Ubuntu 之前正确关闭虚拟机。
不要尝试从 Ubuntu 虚拟机中访问您的 Windows 分区——这会产生不可预知的结果。这样做可能会破坏数据!使用其他方法在 Ubuntu VM 和 Windows 之间交换数据,例如可移动媒体或网络传输(如 rsync)。
故障排除
如果您启动计算机并且缺少 Windows 的 GRUB 菜单项,请以 root 身份登录 Ubuntu 并运行 os-prober 以扫描可启动的操作系统:
os-prober
然后,更新您的 GRUB 配置:
update-grub
...并重新启动。