Virtualbox не может загрузить гостя из физического раздела GPT

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 работает нормально.

Во-первых, загрузите компьютер с Ubuntu14.04.3 через BIOS, выполните следующие команды для создания файла.mbr:

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

/ dev / sdb - это USB-флеш-накопитель, и после этих команд я могу загрузить Ubuntu14.04.3 через этот USB-фальш.

Затем загрузите компьютер с Win7, запустите следующие команды для создания файла vmdk, в командной строке DOS, с разрешения администратора:

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 с разрешения администратора, создайте виртуальную машину, 64-битную Ubuntu, 4G RAM, используйте существующий a.vmdk. Запустите виртуальную машину, она остановится на черном экране с курсором (не мигает) в левом верхнем углу.

Я много искал, но не нашел решения. Кто-нибудь может мне помочь?

1 ответ

Решение

Наконец, мне удалось это сделать, хотя есть некоторые вопросы, которые я не могу объяснить. Я хотел бы записать это здесь для людей, которые сталкиваются с той же проблемой, и поэтому я могу помнить в будущем.

  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, чтобы войти в гостевую BIOS VirtualBox, прежде чем отобразится меню загрузки Windows. Если вам не удалось это сделать и вы попали в меню загрузки Windows, принудительно отключите питание гостя и начните снова.

  4. В BIOS перейдите в Диспетчер обслуживания загрузки, Параметры загрузки, Изменить порядок загрузки. Переместите EFI Internal Shell к первому варианту: "Принять изменения и выйти". Нажмите Сбросить пункт меню системы на экране Boot Maintenance Manager. Инструкции по изменению порядка загрузки находятся внизу экрана BIOS.

  5. Когда гость снова перезагрузится, он войдет в оболочку EFI (вместо меню загрузки 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 * с определенными разделами диска, как описано.

Будьте очень осторожны, так как это действует непосредственно на физический диск. Ваши данные - ваша ответственность.

Другие вопросы по тегам