Миграция с виртуальной машины (ВМ) на физическую систему

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

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

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

5 ответов

Решение

Да, это возможно. Это даже не так сложно, просто требуется некоторое время, 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 clonehd your-virtualbox-disk.vdi disk.img --format RAW
    
  • Переехать/media/wherever-the-image-is/disk.imgгде вы не собираетесь писать. Если вы планируете записать его на тот диск, на котором он в данный момент находится, вам нужно будет поместить его на отдельный внутренний диск или, в худшем случае, на внешний диск.

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

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

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

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

  • Загрузитесь с Ubuntu Live CD и нажмите "Попробовать Ubuntu".

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

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

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

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

  • Вы можете открыть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
    

    -Примечание - после создания нужного файла.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
    
  • Оттуда вы можете либо выбрать файлы Cherry-Pick, либо просто скопировать все поверх вашей новой установки Ubuntu, используя что-то вроде:

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

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

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

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

Информация из программного центра Ubuntu:

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

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

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

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

  • Инкрементное резервное копирование, позволяющее восстанавливать из любой конкретной резервной копии

  • Графики регулярного резервного копирования

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

введите описание здесь

Вы будете сделаны менее чем за два часа!

удачи!

Попробуйте UDPCast

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

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

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

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

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

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

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

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

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

Тогда вы можете использовать dd Команда для копирования файла в физический раздел:

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

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

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

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

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

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

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

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

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

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

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

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