Вопрос Перенос с виртуальной машины (VM) на физическую систему


Aka: Как я могу конвертировать .vdi или .vmdk в реальную установку на физический диск?

Возможно ли / возможно переносить установку виртуальной машины Ubuntu на физическую машину? Если возможно, насколько это будет сложно, и какие шаги я должен предпринять для подготовки к миграции.

Я бы хотел провести некоторое тестирование на виртуальной машине, и если это будет выполнено, перенесите эту систему на физическое оборудование, а не переустановите все. Это возможно?


115
2018-03-29 09:42


происхождения


Связанный: Можно ли преобразовать виртуальные машины в физические среды?в СУ - kenorb


ответы:


Да, это возможно. Это даже не что жесткий, это занимает некоторое время, Ubuntu LiveCD, липкой пластиковой и внешний USB-диск (если у вас не более одного внутреннего диска).

Предварительный шаг: конвертировать диск в нечто полезное

И VMWare, и VirtualBox (среди других) используют дисковые форматы, которые не поддаются описанию непосредственно на диске. Вы Можно но я лично считаю, что удобнее сначала написать его промежуточному, стандартным изображениям. Вы можете сделать это из своей текущей системы, не загружая LiveCD.

  • Загрузите терминал и выполните пожар:

    cd /media/wherever-the-image-is/
    
    # for VMWare
    sudo apt-get install qemu-kvm
    qemu-img convert your-vmware-disk.vmdk -O raw disk.img
    
    # For VirtualBox
    VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX
    
  • Переехать /media/wherever-the-image-is/disk.img где ты не собираешься писать. Если вы планируете записать его на диск, на котором он сейчас сидит, вы захотите придерживаться его на отдельном внутреннем диске или на худшем - на худшем - на внешний диск.

  • Следующие инструкции предполагают, что вы переместили его на /media/dave/disk.img (dave это внешний USB-диск)

  • Прежде чем вы начнете серьезное письмо, убедитесь, что у вас есть резервные копии, Это клише, чтобы сказать, но одна опечатка, и есть очень реальная возможность, что вы убьете свою систему. Предположите, что все пойдет не так и будет подготовлено. CloneZilla может помочь вам создать резервные копии всего диска, если у вас есть место для хранения этих данных.

Запишите образ на диск из его собственного

Вы захотите сделать что-то подобное. Это предполагает, что вы собираетесь перезаписать весь диск. Если вы хотите выполнить установку рядом с Windows, не следуйте этим инструкциям! Пройдите к пулям.

  • Загрузите компакт-диск Ubuntu Live и нажмите «Попробовать Ubuntu».

  • Установите место, где хранится ваше изображение vmdk (например, внешний USB-диск как /media/dave). Делать не смонтируйте место, куда вы хотите написать.

  • Затем мы идем на работу:

    sudo dd if=/media/dave/disk.img of=/dev/sdX
    

    Вы хотите заменить sdX с правильным путем к целевому диску. sudo пароль пуст, просто нажмите return.

  • Затем вы можете открыть gparted или что-то еще, и вы должны увидеть раздел Ubuntu, сидящий на диске. Вы должны быть в состоянии расширить его.

Запишите образ на диск вместе с другой операционной системой

Это, возможно, более безопасный способ делать что-то. Идея очень похожа, кроме того, что вы правильно устанавливаете Ubuntu, а затем просто синхронизируете файлы из disk.img,

  • Ваш LiveCD на этот раз должен быть той же версией Ubuntu, что и ваша виртуальная установка. Загрузите Live CD и снова нажмите «Установить».

  • Следуйте за установщиком, переделывайте вещи по своему усмотрению. Примерно через 10 минут вы будете установлены, и он попросит вас перезагрузить компьютер. Не перезагружайтесь. Не имеет значения, случайно ли вы это делаете, просто убедитесь, что вы вернулись в LiveCD для следующих инструкций.

  • Установите раздел новой установки и внешний диск, на котором вы сохранили disk.img из ранее (просто дважды щелкните их в nautilus).

  • Подключите диск disk.img ISO к терминалу:

    sudo mkdir /media/oldinstall
    sudo mount -o loop /media/dave/disk.img /media/oldinstall
    

    -Note. После создания желаемого .img-файла иногда, когда вы пытаетесь подключить его как устройство цикла, вы можете получить следующую ошибку

    «Отсутствует подпись NTFS.  Не удалось установить '/ dev / loop0': неверный аргумент  У устройства '/ dev / loop0', похоже, нет действительной NTFS. " 

    Файл .img иногда содержит основную загрузочную запись и таблицу разделов перед фактическим разделом, который вы хотите установить. Следовательно, вам нужно найти смещение необходимого раздела. Для этого можно использовать расставался инструмент. Например, посмотрите на ответ sisco311 в этой ссылке http://ubuntuforums.org/archive/index.php/t-1576011.html 

    Итак, если вы определили, что ваше смещение должно быть «xxx», вы можете монтировать ваш раздел, используя

    sudo mount -o loop,offset=xxx /media/dave/disk.img /media/oldinstall
    
  • Оттуда вы можете либо выбрать вишневые файлы, либо просто скопировать все поверх новой установки Ubuntu, используя что-то вроде:

    sudo rsync /media/oldinstall/ /media/my-new-install/
    
  • Перезагрузитесь, и вы должен приветствуйтесь старой установкой VMWare, но на голом металле. Если у вас возникнут неприятные проблемы с grub, вы можете исправить их Возвращаясь к Live CD, chrooting и fixing things,


91
2018-03-29 10:44



Знаете ли вы об инструменте, который делает это автоматически? - the_drow
Для настроек в Windows / VirtualBox VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX команда все равно будет работать. Все, что необходимо, - это cd to Program Files\Oracle\VirtualBox перед запуском первой команды. - Aust
@. Я сомневаюсь, что /dev/sdX действительная цель в Windows. AFAIK это будет \\Device\Harddisk0 или что-то вроде этого. - Danatela
VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX не работает. В Linux он дает ошибку: VBoxManage: error: Cannot create destination file "/dev/sdX": VERR_ALREADY_EXISTS, Необходимо использовать VBoxManage чтобы отправить его на изображение в первую очередь. Затем используйте DD, чтобы поместить изображение на физический диск. - L. D. James


Возможно, это не совсем то, о чем вы просите, но это может сделать то, что вы хотите сделать.

Поскольку все ваши настройки хранятся в вашем домашнем каталоге, вы можете просто сделать резервную копию его на другой раздел на реальном диске. После того, как вы установили новый Ubuntu на реальном диске, просто запустите программу резервного копирования еще раз, чтобы восстановить домашний каталог со всеми неповрежденными настройками.

Вы можете использовать действительно аккуратную программу резервного копирования, называемую Déjà Dup,

Информация от программного обеспечения ubuntu:

Déjà Dup - простой инструмент резервного копирования. Он скрывает сложность резервного копирования правильного пути (зашифрованный, вне сайта и регулярный) и использует двуличность в качестве бэкэнд.

Особенности:

  • Поддержка локальных, удаленных или облачных хранилищ, таких как Amazon S3 или Rackspace Cloud Files

  • Безопасно шифрует и сжимает ваши данные

  • Пошаговая поддержка, позволяющая вам восстановление из любой конкретной резервной копии

  • Расписание регулярных резервных копий

  • Интегрирует в ваш GNOME рабочий стол

enter image description here

Вы сделаете это менее чем за два часа!

удачи!


8
2018-03-29 10:32



Звучит просто. Может ли s / o подтвердить, что это действительно работает? - Mateng


Пытаться UDPCast

Идея состоит в том, чтобы передать весь ваш vmdk из его виртуальной машины на физическую машину, где она записывается на физический hdd.

Процедура изложена ниже.

Поскольку у вас есть файл vmdk, у вас может быть рабочая станция VMWare, даже полная виртуальная машина, к которой привязан vmdk. Запустите свою виртуальную машину с помощью этого конкретного vmdk, но вместо обычной загрузки используйте PartedMagic liveCD для загрузки.

Когда liveCD запускается, перейдите в главное меню и найдите UDPCast Disk Cloning, Его диалоги не требуют пояснений (см. Скриншот) UDPCast Disk Cloning start screen

После выбора этой виртуальной машины sender, вы должны выбрать, какой диск вы хотите транслировать (используя нотацию Unix, например / dev / sda).

После того, как вы sender, вам нужно начать receiver также. Поскольку у вас есть физический hdd, я предполагаю, у вас также есть полный компьютер с этим hdd, прикрепленным к нему. То же самое здесь: вам нужно запустить liveCD с UDPCast Disk Cloning выбирающий receiver на этот раз, а также соответствующий физический hdd.

Стоит отметить, что вы должны принять все необходимые меры для обеспечения сетевой связи между вашей виртуальной машиной и физическим оборудованием. Вы должны принять необходимые меры предосторожности, если ваш vmdk содержит личные данные, поскольку его содержимое будет эффективно передаваться по вашей сети. Другое дело, что ваш целевой hdd должен иметь не менее емкость памяти, чем емкость вашего vmdk. Это очевидно, но также стоит отметить, что ваш образ выложен один на один на вашем целевом hdd, и вам нужно выполнить соответствующие операции с gparted или т.п., чтобы использовать большую емкость вашего нового hdd.


4
2018-02-12 23:24



Хотелось бы отметить, что этот метод очень прост и относительно прост в исполнении. А именно, единственным шагом подготовки, который вам нужно предпринять, является подготовка вашего LiveCD с UDPCast на нем или любой другой LiveCD, которого достаточно для загрузки и запуска UDPCast. Если у вас есть виртуальное изображение hd, вы определенно использовали его в виртуальной машине, которая уже установлена ​​и готова, с другой стороны, вы подготовили свою физическую систему, и она также готова к задаче. - PF4Public
Есть еще: UDPCast можно запускать прямо из PXE. udpcast.linux.lu/bootloader.html#pxe - PF4Public


Если вы установили VirtualBox, вы можете конвертировать Файл образа VDI (образ диска VirtualBox) в формате IMG используя VBoxManage команду, затем скопируйте ее на физический диск, например.

VBoxManage clonehd --format RAW file.vdi file.img

Затем вы можете использовать dd чтобы скопировать файл в физический раздел:

dd if=./file.img of=/dev/<partition_here>

Примечание. При необходимости используйте sudo. Будьте осторожны при указании правильного устройства в / dev.


3
2018-06-03 15:22





Если у вас есть новый физический диск, подключенный к компьютеру, виртуальный диск VM включен, вы можете конвертировать VDI в физическое без промежуточного преобразования, возможно, сохраняя кучу времени и места на диске. Это предполагает, что ваш физический диск будет таким же или больше, чем максимальный размер виртуального диска. В моем случае целью было преобразование VDI в ZFS zvol, но подход должен быть одинаковым с любым блочным устройством.

Сначала создайте файл VMDK, указывающий на ваше блочное устройство:

VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX

Затем (с выключением VM!) Вы можете клонировать VDI в VMDK:

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

Это займет некоторое время ...  Когда это будет сделано, вы можете удалить файл VMDK, поскольку он использовался только как указатель для VirtualBox, чтобы найти физическое устройство.

В моем случае новый zvol был точно такого же размера, как и виртуальный диск. Учитывая, что ваш физический диск, вероятно, другой, вам нужно использовать какой-то механизм изменения размера раздела, чтобы заполнить полный диск. Gparted или что-то, возможно. Вы должны указать, что на физическом устройстве / dev / sdX устройство все еще подключено к машине VM, поэтому вам не нужно прибегать к загрузке компакт-диска с физического хоста.

Как только изменение размера будет сделано, поп-диск на вашей физической машине, перекрестите пальцы и включите питание.

В случае, если вы хотите продолжать использовать физический диск с VirtualBox, поддерживайте VMDK и используйте VBoxManage storageattach для подключения к виртуальной машине.


0
2018-05-15 13:23



Похоже, что это работает, но данные каким-то образом повреждаются, и ОС не загружается должным образом. - Sarge Borsch