当前位置:  开发笔记 > 后端 > 正文

Virtualbox无法从GPT物理分区启动guest虚拟机

如何解决《Virtualbox无法从GPT物理分区启动guest虚拟机》经验,为你挑选了1个好方法。

Virtualbox无法从GPT物理分区启动guest虚拟机,它在黑色屏幕上停留,左上角有一个光标(不闪烁).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 falsh启动Ubuntu14.04.3.

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

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 ram,使用现有的a.vmdk.启动虚拟机,它在黑色屏幕上停止,左上角有一个光标(不闪烁).

我做了很多搜索,但没有得到解决方案.这里的任何人都可以帮助我吗?



1> Joe Ding..:

最后,我设法做到了这一点,尽管还有一些我无法解释的问题.我想在这里为那些遇到同样问题的人录制,所以我将来会记得.

    当创建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
    

    创建guest虚拟机(如问题所述)后,进入来宾设置,系统,主板,扩展功能,一定要保持"启用EFI(特殊操作系统专用)"检查.

    启动guest Del虚拟机,然后快速按下以进入guest虚拟机的VirtualBox BIOS,然后再显示Windows启动菜单.如果您没有这样做并进入Windows启动菜单,请强行关闭客户端电源并重新启动.

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

    当guest虚拟机再次重新启动时,它将进入EFI shell(而不是Windows启动菜单).现在您需要确定哪个分区是EFI引导加载程序.进入外壳后,它会打印出部分和它们的颜色,但它似乎并没有为我打印出来.一旦你找到了哪个是你的EFI引导加载程序,运行:

    BLK2:\EFI\ubuntu\grubx64.efi
    

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

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

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

希望这对你有所帮助.我想澄清,我只测试了下:*的VirtualBox 5.0.10 64*主机操作系统:Win7的SP1 64位*访客操作系统:Ubuntu的14.04.3 64*与所描述的特定的磁盘分区.

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

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有