4

Virtualbox 无法从 GPT 物理分区启动来宾,它停在黑屏上,左上角有一个光标(不闪烁)。Virtualbox 版本是 5.0.10 x64。

PhysicalDrive0 是 GPT 驱动器,这里是分区信息:

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands listpartitions -rawdisk \\.\PhysicalDrive0
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
1 0x00 0 /0 /0 0 /0 /0 100 2048
2 0x00 0 /0 /0 0 /0 /0 128 206848
3 0x00 0 /0 /0 0 /0 /0 409372 468992
4 0x00 0 /0 /0 0 /0 /0 409600 838862848
5 0x00 0 /0 /0 0 /0 /0 409600 1677723648
6 0x00 0 /0 /0 0 /0 /0 662640 2516584448
7 0x00 0 /0 /0 0 /0 /0 16288 3873671168
  • 分区 #3:Win7 sp1 x64,主机
  • 分区 #6:Ubuntu14.04.3 x64,来宾
  • 分区 #7:交换

通过 BIOS 进行双重引导工作正常。

首先,通过 BIOS 使用 Ubuntu14.04.3 启动计算机,运行以下命令创建 .mbr 文件:

sudo grub-install /dev/sdb
sudo dd if=/dev/sdb of=~/my.mbr

/dev/sdb 是一个 USB 闪存,在这些命令之后,我可以通过这个 USB 闪存启动 Ubuntu14.04.3。

然后用 Win7 启动计算机,在 DOS 提示符下以管理员权限运行以下命令以创建 vmdk 文件:

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands createrawvmdk
-filename e:\VirtualBox\a.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 6,7 -mbr
e:\VirtualBox\my.mbr
RAW host disk access VMDK file e:\VirtualBox\a.vmdk created successfully

以管理员权限启动 Virtualbox,创建一个虚拟机,Ubuntu 64 位,4G 内存,使用现有的 a.vmdk 。启动虚拟机,它停在黑屏,左上角有一个光标(不闪烁)。

我做了很多搜索,但没有得到解决方案。这里有人可以帮我吗?

4

1 回答 1

7

最后,我设法做到了这一点,尽管仍有一些问题我无法解释。我想把它记录在这里,给遇到同样问题的人,这样我以后可以记住。

  1. 创建 vmdk 文件时,该-mbr参数不是必需的,但请确保不要包括主机操作系统所在的分区,即在 vmdk 中包含整个物理驱动器会失败。我的最终命令行(不包括主机分区 #3)是:

    C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands createrawvmdk -filename e:\VirtualBox\Ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 1,2,4,5,6,7
    
  2. 创建客户机后(如问题中所述),转到客户机设置、系统、主板、扩展功能,确保选中“启用 EFI(仅限特殊操作系统)”。

  3. 启动来宾,并Del在显示 Windows 启动菜单之前快速按下 进入来宾的 VirtualBox BIOS。如果您未能这样做并进入 Windows 启动菜单,请强制关闭来宾的电源并重新启动。

  4. 在 BIOS 中,转到引导维护管理器、引导选项、更改引导顺序。将 EFI Internal Shell 移至第一个选项 Commit Changes and Exit。在 Boot Maintenance Manager 屏幕中按 Reset System 菜单项。在 BIOS 屏幕底部有关于如何更改引导顺序的说明。

  5. 当客户机再次重新启动时,它将进入 EFI shell(而不是 Windows 启动菜单)。现在您需要确定哪个分区是 EFI 引导加载程序。进入外壳后,它会打印出分区及其别名,但它似乎并没有为我打印出来。确定哪个是 EFI 引导加载程序后,运行:

    BLK2:\EFI\ubuntu\grubx64.efi
    

    如果不是 EFI 引导加载程序,它将返回错误。

  6. 现在 GRUB 启动菜单显示,我们可以启动 Ubuntu。

有时我发现来宾仍然在一个空的 Ubuntu 屏幕上,有时 VirtualBox 会显示错误。我不断重新启动客人,直到它工作。您可能还必须从第 3 步重新启动,因为您的 BIOS 设置似乎丢失了。

希望这对您有所帮助。我想澄清一下,我只在以下条件下进行了测试:* VirtualBox 5.0.10 x64 * 主机操作系统:Win7 sp1 x64 * 来宾操作系统:Ubuntu 14.04.3 x64 * 具有所述的特定磁盘分区。

要非常小心,因为这直接在物理驱动器上运行。您的数据是您的责任。

于 2015-12-24T14:56:05.523 回答