无法使用指定的 -partitions 创建的 vmdk 在 vi​​rtualbox 中运行原生 Ubuntu

无法使用指定的 -partitions 创建的 vmdk 在 vi​​rtualbox 中运行原生 Ubuntu

我在单个硬盘上安装了 Win7 x64 和 Ubuntu 11.10 x64 双启动设置。

我想在 Win7 主机上运行的 VirtualBox 中将原生 Ubuntu 作为客户操作系统运行。

我使用以下命令列出分区:

C:\ >vboxmanage internalcommands listpartitions -rawdisk \\.\physicaldrive0
Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x07  0   /32 /33  153 /27 /2           1200         2048
2       0x07  153 /27 /3   1023/254/63        363337      2459648
5       0x82  1023/254/63  1023/254/63          9537    746575872
6       0x83  1023/254/63  1023/254/63         46430    766107783
7       0x83  1023/254/63  1023/254/63         46431    861200384
4       0x07  1023/254/63  1023/254/63         10000    956291072

然后我创建了如下 vmdk 文件(指定 ubuntu 分区 5、6 和 7):

C:> vboxmanage internalcommands createrawvmdk -filename“C:\ubuntu_01.vmdk”-rawdisk \.\physicaldrive0 -partitions 5,6,7


vmdk 文件已成功创建,但当我创建虚拟机并指定此虚拟驱动器时,虚拟机无法启动,只有一个空白的黑屏,左上角有一个白色光标。它甚至没有显示 Grub 启动菜单。

然后我创建了另一个 vmdk 文件,但没有指定分区。

C:> vboxmanage internalcommands createrawvmdk -filename“C:\ubuntu_02.vmdk”-rawdisk \.\physicaldrive0

这次 VM 启动了,并且 ubuntu 从 VM 内部成功启动(出现 grub 2 启动菜单,选择 Ubuntu 后,它成功启动)。

我如何才能仅为客户机 ubuntu 操作系统使用特定的本机 ubuntu 分区?请帮忙。

主机:Win 7 x64
客户机:Ubuntu 11.10 x64
Vbox 版本:4.1.6 r74713,安装了最新的客户机添加组件。

答案1

我找到了一个完美的解决方法。sda7是我安装 Linux 的分区,5,6,7是我想要虚拟化的本机分区,“ceztko”是我的家:P

  • 来自本国的linux,重新安装 grub 到原生 Linux 分区sudo-grub install --force /dev/sda7
  • 将分区引导扇区复制到你的主目录: # dd if=/dev/sda7 of=/home/ceztko/virtualbox-native.mbr bs=512 count=1
  • 复制virtualbox-native.mbr到你的 Windows 安装
  • 重新启动 Windows 并从管理员提示符开始:

    VBoxManage internalcommands createrawvmdk -filename C:\users\ceztko\ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 5,6,7 -mbr c:\users\ceztko\Dropbox\resources\virtualbox-native.mbr

  • 运行 VirtualBox 并将新的虚拟驱动器分配给虚拟机。
  • 享受!

这可能是 Virtualbox 的一个错误。但我猜这更可能是 grub 的一个错误,当在启动盘中安装为 mbr 时,它会与无法访问的 Windows 分区混淆。

相关内容