Импорт и экспорт виртуальных машин. Перенос виртуальных машин на другое устройство
Разберемся с импортом и экспортом виртуальных машин и с тем, как перенести виртуальную машину на другой компьютер без потери данных.
Экспорт конфигурации виртуальной машины происходит в файл формата .ova (Open Virtual Appliance). Это универсальный формат для хранения данных виртуальной машины, файлы .ova могут использоваться в разных программах виртуализации: VirtualBox, VMware Workstation, Microsoft Hyper-V. Виртуальная машина, экспортированная в файл .ova, затем может быть импортирована как в VirtualBox, так и в VMware Workstation, Microsoft Hyper-V.
Экспорт виртуальной машины VirutalBox
В окне VirtualBox выбираем виртуальную машину, нажимаем Файл и выбираем Экспорт конфигураций.
Выбираем виртуальную машину и нажимаем Далее.
Виртуальные машины можно экспортировать только в выключенном состоянии, если машина приостановлена VirtualBox предложит сбросить состояние виртуальной машины.
Теперь настраиваем параметры экспорта. Формат оставляем по-умолчанию, а папку для экспорта, которая по-умолчанию расположена на системном диске, можем изменить на более удобную нам.
Проверяем описание виртуальной машины и нажимаем Экспорт
Процесс экспорта может занять длительное время, в зависимости от размеров дисков виртуальной машины.
Экспортированная виртуальная машина в формате .ova будет находится в той папке, что мы указали перед экспортом, оттуда ее можно переместить на другой жесткий диск, другой компьютер или в облако.
Импорт виртуальной машины VirtualBox
Теперь у нас есть экспортированная конфигурация виртуальной машины, мы перенесли ее на другое устройство и может импортировать.
Открываем VirtualBox, нажимаем Файл и выбираем Импорт конфигураций.
Указываем путь к нашему файлу .ova
Здесь мы можем изменить параметры виртуальной машины: имя виртуальной машины, увеличить или уменьшить оперативную память, сгенерировать новые MAC адреса, если планируется, чтобы две виртуальные машины (ту которую мы экспортировали и эта, экспортированная) работали в одной сети.
В самом низу будет указано расположение файла жесткого диска, в нашем случае .vdi. По умолчанию это папка для хранения виртуальных машин, если вы не меняли настройки VirtualBox, она находится на системном диске по адресу С:\Users\Username\VirtualBox VMs\. Здесь вы можете изменить директорию хранения виртуального диска для импортируемой машины. Проверив все настройки нажимаем Импорт
Процесс импорта может занять некоторое время, в зависимости от размеров импортируемой виртуальной машины.
После завершения импорта мы увидим нашу импортируемую виртуальную машину в списке виртуальных машин VirtualBox.
Теперь можем запустить виртуальную машину. Она будет в том же самом состоянии, в котором она была на момент экспорта.
Hyper-V перенос виртуальной машины на другой диск
В этой статье пойдет речь о том, как перенести виртуальную машину Hyper-V с одного жесткого диска на другой или же просто в другую папку на диске.
Для этого открываем «Диспетчер Hyper-V» (Рис. 1). Выбираем виртуальную машину для переноса и справа в списке нажимаем кнопку «Переместить. ». Переносить можно как остановленные виртуальные машины, так и запущенные.
![]() |
Рис. 1 |
Далее откроется мастер перемещения виртуальных машин. Нажмите кнопку «Далее» (Рис. 2).
![]() |
Рис. 2 |
Выберите чекбокс «Переместить хранилище виртуальной машины». Нажмите кнопку «Далее» (Рис. 3).
![]() |
Рис. 3 |
Затем выберите чекбокс «Переместить все данные виртуальной машины в одно расположение». Нажмите кнопку «Далее» (Рис. 4).
![]() |
Рис. 4 |
Далее нажмите кнопку «Обзор» и выберите новое расположение виртуальной машины. Нажмите кнопку «Далее» (Рис. 5).
![]() |
Рис. 5 |
В следующем окне нажмите кнопку «Готово» для начала перемещения виртуальной машины (Рис. 6).
Как перенести виртуальные машины VirtualBox на другой диск или другой компьютер
Виртуальные машины VirtualBox можно переносить целиком и частично (например, только виртуальные диски) в рамках одного компьютера (например, на более быстрый SSD), а также между компьютерами.
Эта заметка расскажет о том, как правильно выполнить перенос виртуальных машин VirtualBox без необходимости последующей долгой настройки.
Важно: переносить виртуальные машины или их диски не используя интерфейс VirtualBox, например, в файловом менеджере, это плохая идея. При таком переносе вы потратите больше времени на восстановление работоспособности и настройку виртуальных носителей и машин. Рекомендуется делать перенос именно так, как это показано в данной инструкции.
Как перенести целиком виртуальные машины VirtualBox на другой диск
Если вы хотите перенести виртуальную машину VirtualBox целиком на больший по размеру или на более быстрый SSD, то этот раздел покажет, как это сделать буквально в несколько кликов.
Остановите виртуальную машину, если она запущена.
Кликните правой кнопкой мыши по виртуальной машины и в открывшемся контекстном меню выберите «Переместить».
Выберите директорию, куда вы хотите переместить папку с виртуальной машиной, затем нажмите кнопку «Открыть».
В правой части окна VirtualBox появится прогресс-бар переноса виртуальной машины. Дождитесь завершения процедуры.
Когда прогресс-бар переноса исчезнет, это означает, что виртуальная машина успешно перенесена и вы можете начать её использовать.
Как перенести виртуальные диски VirtualBox на другой физический диск
Наибольший объём в папке виртуальной машины занимает виртуальный диск. Все другие файлы виртуальной машины, включая файлы настроек и логов, занимают примерно 1 Мегабайт. То есть обычно нет смысла переносить виртуальный диск отдельно от других файлов виртуальной машины — удобнее перенести виртуальную машину целиком как это показано выше.
Тем не менее, если вы хотите переместить только виртуальный диск, то данный раздел покажет как это сделать.
В меню VirtualBox перейдите в Файл → Инструменты → Менеджер виртуальных носителей.
Кликните правой кнопкой мыши по виртуальному диску, который вы хотите переместить, и в открывшемся контекстном меню выберите «Переместить…».
Выберите папку, в которую вы хотите переместить виртуальный диск, и нажмите кнопку «Сохранить».
Дождитесь завершения переноса.
Всё готово — вам не нужно делать какие-либо дополнительные настройки в виртуальных машинах, которые используют перенесённый диск — все эти настройки будут сделаны автоматически и виртуальная машина будет в курсе где расположен её виртуальный диск.
Выбор расположения снимков виртуальной машины
Если размер виртуальной машины непомерно разросся, то, возможно, дело в том, что вы используете снимки системы?
Возможно, вам не нужно целиком переносить виртуальную машину, а достаточно просто перенести папку, в которую сохраняются снимки, то есть точные копии виртуальной машины на момент его сохранения. Снимки могут использоваться, например, для отката к предыдущему состоянию виртуальной машины.
Для изменения расположения снимков виртуальной машины VirtualBox, перейдите в настройки виртуальной машины, затем перейдите в раздел «Общие» и выберите вкладку «Дополнительно».
Здесь вы можете настроить «Папку для снимков».
Как перенести виртуальную машину VirtualBox на другой компьютер
Если вам нужно полностью перенести виртуальную машину VirtualBox на другой компьютер или выложить в виде файла для скачивания онлайн, то вы также можете это сделать.
Нажмите правой кнопкой на виртуальную машину, которую вы хотите перенести на другой компьютер и выберите в открывшемся контекстном меню опцию «Экспортировать в OCI…».
В открывшемся окне вы можете увидеть сообщение «Ошибка работы с облаком». Не обращайте на него внимание, если вы хотите экспортировать виртуальную машину в файл на локальном компьютере.
В качестве «Формата» выберите «Открытый формат виртуализации 2.0».
Выберите папку, куда будет сохранён файл .ova с экспортированной виртуальной машиной.
Остальные настройки можете оставить без изменения, либо отредактируйте их в соответствии с вашими потребностями.
На следующем окне вы можете добавить описание, ссылку, изменить настройки виртуальной машины. Затем нажмите кнопку «Готово».
В результате виртуальная машина будет экспортирована в файл .ova.
Вы можете перенести этот вайл на любой другой компьютер с установленным VirtualBox. Для развёртывания виртуальной машины достаточно запустить файл двойным кликом и следовать подсказкам. В результате на другом компьютере будет получен полностью настроенный для работы клон первоначальной виртуальной машины.
Настоятельно рекомендуется ознакомиться с Руководством по VirtualBox
Клонирование, импорт и экспорт виртуальных машин в Hyper-V
06.10.2022
itpro
Hyper-V, PowerShell, Windows Server 2016, Виртуализация
комментариев 20
В Hyper-V в отличии от VMWare нет встроенной функции клонирования виртуальной машины (клонирование есть только в Virtual Machine Manager). Чтобы создать полную копию существующей ВМ придется использовать функцию импорта/экспорта. В этой статье мы рассмотрим, как клонировать виртуальную машину в Hyper-V через импорт/экспорт через графический интерфейс Hyper-V Manager, PowerShell и Windows Admin Center (WAC).
%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe
ВМ будет выключена и при следующей загрузке как оригинальной ВМ, так и ее клона для Windows будет сгенерирован новый SID. Также нежелательно клонировать ВМ, включенные в домен Active Directory.
Экспорт/импорт ВМ из консоли Hyper-V Manager
Сначала нужно экспортировать ВМ в отдельный каталог.
Запустите консоль Hyper-V manager, выберите ВМ и в контекстном меню выберите Export.
Укажите каталог, в который нужно экспортировать виртуальную машину.
Статус экспорта ВМ будет отображен в строке состояния ВМ в консоли Hyper-V.
Чтобы импортировать ВМ щелкните в консоли Hyper-V Manager по имени хоста и выберите Import Virtual Machine.
Затем нужно указать путь к каталогу, в котором находятся папки с файлами импортируемой ВМ. При импорте ВМ в Hyper-V предлагается 3 варианта регистрации ВМ на хосте:
- Register the virtual machine in-place (use the existing unique ID) —зарегистрировать ВМ в каталоге с импортируемыми файлами, ID ВМ сохраняется;
- Restore the virtual machine (use the existing unique ID) — скопировать файлы ВМ в другой каталог, сохранить исходный идентификатор ВМ;
- Copy the virtual machine (create a new unique ID) — скопировать ВМ в другую каталог и сгенерировать новый ID.
Если вы попробуете импортировать ВМ с дублирующим ID, появится ошибка:
Чтобы создать клон ВМ с новым ID мы выбрали 3 вариант. Мастер предложит указать в каких каталогах нужно разместить файлы ВМ. По умолчанию, используются каталоги, заданные в настройках хоста Hyper-V.
Затем укажите каталог для хранения виртуальных дисков vhdx ВМ.
После этого новая клонированная виртуальная машина появится в консоли Hyper-V.
Клонирование ВМ через экспорт/импорт в Hyper-V с помощью PowerShell
Рассмотрим, как клонировать виртуальную машину Hyper-V через импорт/экспорт из консоли PowerShell.
Для экспорта ВМ воспользуйтесь такой командой:
Export-VM -Name win10 -Path ‘C:\VHD\export’
Если вы хотите экспортировать запущенную ВМ, вы можете использовать параметр CaptuteLiveState, в котором определяется как нужно копировать оперативную память ВМ. Доступны три опции
- CaptureSavedState – экспортировать оперативную память (по-умолчанию);
- CaptureDataConsistentState – экспортировать состояние ВМ из Production checkpoint;
- CaptureCrashConsistentState – не сохранять содержимое памяти.
Export-VM -Name win10 -Path ‘C:\VHD\export’ -CaptureLiveState CaptureCrashConsistentState
Если вы хотите экспортировать состояние ВМ в определеном снимке, нужно указать его имя.
Сначала выведите список снимков для указанной ВМ:
Get-VMSnapshot -VMName win10
Затем выполните экспорт нужного снимка по его имени:
Export-VMSnapshot -Name “win10 — (2/17/2021 — 9:52:20 PM) Standard” -VMName win10 -Path ‘C:\VHD\export’
После завершения экспорта ВМ вы можете импортировать ее. Если нужно зарегистрировать ВМ по месту хранения файлов, выполните команду:
Import-VM -Path «C:\VHD\export\win10\Virtual Machines\1117A061-0B50-4BC2-850C-88CCD4C114FB.vmcx»
В параметре Path указываем расположение vmcx файла конфигурации ВМ (формат vmcx заменил XML формат конфигурационных файлов ВМ в Hyper-V Server 2016). Для копирования ВМ в другой каталог с тем же ID используйте параметр Copy. Чтобы сгенерировать нового идентификатор ВМ, используйте параметр GenerateNewId:
Import-VM -Path «C:\VHD\export\win10\Virtual Machines\1117A061-0B50-4BC2-850C-88CCD4C114FB.vmcx» -VhdDestinationPath «C:\VHD\win10_2» -VirtualMachinePath «C:\VHD\win10_2»
В параметре VhdDestinationPath указывается каталог, куда нужно скопировать VHDX файлы ВМ, а в параметре VirtualMachinePath — каталог конфигурационных файлов ВМ. Если эти параметры не задать, файлы ВМ будут скопированы в дефолтный каталог, указанный в настройках хоста Hyper-V (C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\).
Обратите внимание, что клонированная ВМ появилась в консоли Hyper-V с оригинальным именем. Переименуем новую ВМ, но сначала нужно получить ее ID:
get-vm | select VMNAME,VMId
Как вы видите в консоли есть две ВМ с одинаковым именем и разными ID. Нужно переименовать ВМ с ID, который отличается от ID импортируемой ВМ. Скопируйте ID новой ВМ и переименуйте ее:
Затем для удобства можно переименовать виртуальный жесткий диск.
Get-VHD -VMId 24ad8934-f650-46f6-9caa-2a3b79b79bd5| Select Path | Rename-Item -NewName win10_2.vhdx
Remove-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0
Add-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path «C:\VHD\win10_2\win10_2.vhdx»
Изменим MAC адрес виртуального адаптера (можно указать новый статический MAC или настроить динамическое получение MAC адреса).
Set-VMNetworkAdapter -VMName win10_2 -DynamicMacAddress
Start-VM -Name win10_2
Прежде, чем подключить новую ВМ в сеть, желательно переименовать ее и изменить IP адрес на новый (если используется DHCP адресация, этот шаг можно пропустить). В данном случае мы можем подключиться к новой ВМ через PowerShell Direct с помощью командлета Invoke-Command или Enter-PSSession:
Enter-PSSession -ComputerName win10_2 -Credential (Get-Credential)
Rename-Computer win10_2
Remove-NetIPAddress -InterfaceAlias “Ethernet” -AddressFamily IPV4
New-NetIPAddress -IPAddress 192.168.31.50 -InterfaceAlias “Ethernet” -AddressFamily IPv4 -PrefixLength 24
Restart-Computer
Клонирование виртуальных машин Hyper-V через Windows Admin Center
Возможно клонировать ВМ Hyper-V напрямую без промежуточного экспорта/импорта появилась в Windows Admin Center v2009.
Запустите WAC, выберите раздел Virtual Machines, выберите ВМ -> Manage -> Clone.
Затем нужно указать имя новой ВМ и каталог, в который нужно поместить ее файлы.
Обратите внимание, что мастере клонирования есть опция “I have already run sysprep on my VM”. Если вы не выполнили генерализацию образа с помощью Sysprep, и не включили эту опцию, Hyper-V создаст снапшот исходной ВМ, выполните ее Sysprep и склонирует в новую (исходная ВМ будет несколько раз перезагружена и не доступна для работы). После этого исходная ВМ будет возвращена в первоначальное состояние, а снапшот удален.
Дождитесь окончания клонирования ВМ. Новой ВМ автоматически будет присвоен новый ID.
Предыдущая статья Следующая статья
alt=»включить Enable single-root I/O virtualization (SR-IOV) для виртуального коммутатора hyper-v» width=»58″ height=»56″ /> Включаем поддержку SR-IOV для виртуальных машин Hyper-V
alt=»Новые настройки Get-NetTCPSetting в Windows Server 2019″ width=»58″ height=»56″ /> Низкая скорость сети на хосте Hyper-V с Windows Server 2019
alt=»ignoreHeadless=TRUE — добавить параметр при установке vmware esxi» width=»58″ height=»56″ />Установка VMWare ESXi в виртуальную машину Windows Hyper-V
alt=»назначить ip адреса шлюзов hyper-v коммутаторам» width=»58″ height=»56″ />Маршрутизация между разными IP подсетями в Hyper-V
А какие есть бесплатные способы сделать клон ВМ из ESXi в Hyper-V?
Из приличных был StarWind V2V Converter, вроде это функционал там бесплатные. можно еще тулзой disk2vhd
«зарегистрировать ВМ по хранения файлов» — что это?
Отсуствие грамотного редактора для вычитки
речь про «по месту хранения файлов»
Copy и GenerateNewId вместе. Не ошибка?
Очень интересует последний способ, спасибо за него! Я поставил Windows Admin Center, она отлично встала на Windows Server 2022, я попробовал клонировать Windows 10 (заведено 2 юзера, оба админы).
Вот какую ошибку получаю:
Подробная информация об уведомлении
Ошибка
Не удалось клонировать виртуальную машину
00:43:25
Источник
Перейти в Виртуальные машины
Тип
Ошибка
Сообщение
Не удалось клонировать виртуальную машину «Win10_1». Ошибка: «Sysprep could not be completed.2021-12-11 00:39:41, Error SYSPRP Package Microsoft.LanguageExperiencePackru-RU_19041.28.77.0_neutral__8wekyb3d8bbwe was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.2021-12-11 00:39:41, Error SYSPRP Failed to remove apps for the current user: 0x80073cf2.2021-12-11 00:39:41, Error SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.2021-12-11 00:39:41, Error SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing ‘SysprepGeneralizeValidate’ from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf22021-12-11 00:39:41, Error SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf22021-12-11 00:39:41, Error SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x3cf22021-12-11 00:39:41, Error [0x0f0070] SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf22021-12-11 00:39:41, Error [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80073cf2»
В образе установлен Microsoft.LanguageExperiencePackru-RU_19041.28.77.0_neutral__8wekyb3d8bbwe. На этом прилжении падает sysprep.
Нужно удалить его:
_https://docs.microsoft.com/en-us/troubleshoot/windows-client/deployment/sysprep-fails-remove-or-update-store-apps
Хотелось бы поинтересоваться, как можно победить следующую проблему. Из-за расплодившихся снапшотов, на физическом диске закончилось место и виртуалка не запустилась. Перенес один из виртуальных дисков на другой физический диск. Система запустилась, преждевременно спросив где тот самый диск. Теперь все работает, но место может закончиться.
Клонировать систему не дает, перенести не дает, и удалить снапшоты тоже не дает.
Подскажите как решить проблему? Можно ли скопировать всё на внешний диск и путем подмены букв дисков запустить виртуалку? И если можно, то как отключить службу hyper-v на время подмены букв?
Спасибо, надеюсь на ответ
Вот так не дает переместить файлы ВМ?
Move-VMStorage «VMname» -DestinationStoragePath «FullPathtothenewfolder»
Я так понимаю эту команду можно запустить при работающей машине? Или желательно отключить?
Ошибка выходит
Move-VMStorage: Не удалось выполнить операцию, так как файл не найден.
Move-VMStorage позволяет делать онлайн миграцию. другая проблема в том, что если виртуальный диск во времея миграции нагружен из гостевой ВМ, это может занять дополнительное время иил просто не хватит места для хранения изменнеия.
файл не найден — проверьте путь к файлам
Почему не видит работающую машину?
PS C:\Users\IMorozov> Export-VM -Name POSTER -Path ‘E:\Hyper-V\_EXPORT\POSTER’
Export-VM : Недопустимый параметр. Hyper-V не удалось найти виртуальную машину с именем POSTER.
строка:1 знак:1
+ Export-VM -Name POSTER -Path ‘E:\Hyper-V\_EXPORT\POSTER’
+
+ CategoryInfo : InvalidArgument: (POSTER:String) [Export-VM], VirtualizationInvalidArgumentException
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.ExportVMCommand
get-vm что возвращает?
Добрый день. Тоже возникает ошибка при экспорте ВМ. В чем может быть проблема? Спасибо.
Export-VM : Не удалось скопировать файл во время экспорта.
строка:1 знак:1
+ Export-VM -Name ‘NetFlowAnalyzer’ -Path ‘E:\Mainserver\NetFlowAn …
+
+ CategoryInfo : NotSpecified: (Microsoft.HyperV.PowerShell.VMTask:VMTask) [Export-VM], VirtualizationOpe
rationFailedException
+ FullyQualifiedErrorId : OperationFailed,Microsoft.HyperV.PowerShell.Commands.ExportVMCommand
Не удается найти описание для идентификатора события 18110 из источника Microsoft-Windows-Hyper-V-VMMS. Вызывающий данное событие компонент не установлен на этом локальном компьютере или поврежден. Установите или восстановите компонент на локальном компьютере.
Если событие возникло на другом компьютере, возможно, потребуется сохранить отображаемые сведения вместе с событием.
К событию были добавлены следующие сведения:
%%2147942401
0x80070001
C:\Hyper-V\Virtual Hard Disks\NetFlowAnalyzer\NetFlowAnalyzer.vhd
E:\Mainserver\NetFlowAnalyzer\NetFlowAnalyzer\Virtual Hard Disks\NetFlowAnalyzer.vhd
Отсутствует специальный ресурс языкового стандарта для нужного сообщения
Добавлю, что некоторые виртуалки экспортнулись, а вот несколько не хотят… в чем проблема я не понимаю.
Попробуйте проверить vhdx диски проблемных машин на ошибки с помощью Test-VHD.
Пробовали экспортировать эту ВМ через Hyper-V GUI? Можем там юудет более понятна ошибка
Через GUI ошибка еще больше неинформативна.
А зачем в случае клонирования через консоль Hyper-V Manager сначала нужно экспортировать? Оно безо всякого предварительного экспорта замечательно импортирует если просто указать папку существующей ВМ, которую нужно клонировать.
Спасибо за ваш вариант. Всё получилось без экспорта. Просто импортировал с уже рабочей виртуалки.
Поскольку клонировал доменный компьютер, то у клонированной виртуалки удалил сетевую карту, вывел из домена, переименовал, сменил SID с помощью программы SIDCHG64 (64-bit Windows), добавил сетевую карту (как раз сменился MAC адрес) и добавил в домен.