Vmdk чем открыть ubuntu

Обновлено: 04.07.2024

Возникла необходимость обеспечить работу Linux как на виртуальной машине (VirtualBox), так и на реальном железе. После долгих поисков и попыток запускать Linux с виртуального диска формата VHD, по примеру Windows, которые либо слишком сложны, либо не работают, я пришел к достаточно простому способу сделать это. Правда не из дисков в формате VHD, а из образа раздела диска в формате VMDK.

Linux возможно загрузить из образа раздела. Теперь нужно сделать так, чтобы у нас был и образ диска, который понимает VirtualBox и образ раздела, который может загрузить grub.

Далее расписано, как это можно сделать быстро и без лишней головной боли.

Все что далее, сделано из Windows.

Создаем новый диск фиксированного размера в формате vmdk:

Имеем созданные файлы:

  • test1.vmdk — дескриптор диска, текстовый файл
  • test1-flat.vmdk — файл с образом диска

Теперь необходимо в начало диска добавить еще один кусок размером 1M.

Создаем файл test1-boot.vmdk размером 1M:

В test1.vmdk меняем createType="custom" на createType="monolithicFlat" . Это будет означать, что диск состоит из нескольких файлов.

Добавляем test1-boot.vmdk в test1.vmdk , первым. После добавления test.vmdk должен выглядеть как-то так:

где 2048 — это 2048*512=1048576 байт (1M) для этой части диска.

Создаем виртуальную машину для установки Linux, подключаем к ней диск test1.vmdk и ставим ubuntu/kubuntu/xubunu. Я ставил только эти дистрибутивы, начиная с версий 18.04 до последней (еще не вышедшей) 21.04, все остальное не проверял.

Особенность при установке: должен быть создан только один раздел на виртуальном диске и должен он быть на границе 1M. Это поведение по умолчанию при ручном создании раздела.

Загрузчик должен быть установлен на диск /dev/sda, а не на раздел /dev/sda1. Это тоже поведение по умолчанию.

После того, как все установили, перезагружаемся в VirtualBox, чтобы убедится, что Linux загружается.

Теперь загрузим только что установленный Linux на реальном железе. Проще всего сделать это с использованием загрузочной флешки.

Создаем файл ventoy\ventoy_grub.cfg на разделе данных флешки со следующим содержимым:

  • imgfile="/mydisks/test1-flat.vmdk" — путь до файла с образом раздела
  • d_label="MYDISK" — метка раздела, где лежит файл с образом раздела test1-flat.vmdk

Загружаемся с этой флешки, нажимаем F6 и попадаем в меню, где выбираем пункт "boot linux from vmdk part". Радуемся запущенному Linux.

Можно вернуться в свою рабочую OS, запустить VirtualBox и загрузить Linux из виртуального диска.

Таким вот, незамысловатым, способом можно иметь возможность сидя в Windows запускать Linux в VirtualBox, настраивать его… А потом запускать на реальном железе.

Стоит иметь ввиду, что если обновления затрагивают grub, то они не корректно будут завершены в системе, запущенной на реальном железе, ибо нет раздела с загрузчиком. Однако это не мешает нормальной работе. А такие обновления можно и через VirtualBox применять.

Читайте также: