![当 Windows 的启动管理器位于不同的驱动器上时,在 VirtualBox 中从 Linux 主机启动 Windows 客户机](https://linux22.com/image/1607523/%E5%BD%93%20Windows%20%E7%9A%84%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E4%BD%8D%E4%BA%8E%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A9%B1%E5%8A%A8%E5%99%A8%E4%B8%8A%E6%97%B6%EF%BC%8C%E5%9C%A8%20VirtualBox%20%E4%B8%AD%E4%BB%8E%20Linux%20%E4%B8%BB%E6%9C%BA%E5%90%AF%E5%8A%A8%20Windows%20%E5%AE%A2%E6%88%B7%E6%9C%BA.png)
我正在双重启动 Windows 和 Linux,它们都在不同的驱动器上,但两个启动管理器都在同一个驱动器上(Linux 驱动器)。
我想在 Linux 中通过 Virtualbox 运行我现有的 Windows 安装,我将按照以下指南进行操作:https://superuser.com/a/756731/954036
因此,我创建了一个 vdmk 映像/dev/sda
,并将该映像添加到 VirtualBox VM。启动 VM 后,我收到以下错误:
FATAL: Could not read from the boot medium! System halted.
我相信它这样说是因为 Windows 的实际启动管理器位于不同的驱动器上,这里是输出fdisk -l
:
Disk /dev/nvme0n1: 119.25 GiB, 128035676160 bytes, 250069680 sectors
Disk model: SAMSUNG MZVLW128HEGR-000L2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4FE65E84-A0C4-4173-AD7F-CE3C128F56B4
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 234883071 234881024 112G Linux filesystem
/dev/nvme0n1p2 234883072 247875583 12992512 6.2G Linux swap
/dev/nvme0n1p3 247875584 250069646 2194063 1G EFI System
Disk /dev/sda: 465.78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 850
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 369746B4-CA1B-47E1-84C8-237D4200861E
Device Start End Sectors Size Type
/dev/sda1 2048 634562559 634560512 302.6G Linux filesystem
/dev/sda2 634562560 976773119 342210560 163.2G Microsoft basic data
Windows 10 启动管理器的启动文件位于 EFI 系统分区(/dev/nvme0n1p3)上,与我的 Linux 分区(rEFInd)的启动管理器一起。
我如何让 VirtualBox 知道在哪里找到 Windows 的启动管理器?
答案1
我通过添加带有 Windows 启动管理器的驱动器(/dev/nvme0n1),然后在 VM 的设置中启用 EFI 来修复此问题。