Верните виртуальные машины hyper-v после переустановки хост-ОС
У меня есть автономный сервер Win 2012 R2 с Hyper-V на нем. Это мой тестовый сервер, который я использую для экспериментов, поэтому его можно отключить в любое время. Это не проблема.
Можно ли импортировать виртуальные машины 2012 r2 в Hyper-V 2016 без их экспорта? Что-то вроде загрузки файлов vbox в virtualbox без необходимости экспорта машин? У меня мало места на диске, и я хотел бы выполнить чистую установку хоста OS, а затем каким-то образом вернуть мои текущие виртуальные машины на новый Hyper-V, но без их экспорта и импорта. Таким образом, они по-прежнему будут в том же месте, где они находятся сейчас, но просто зарегистрируют их в hyper-v без особых операций ввода-вывода, чтобы экспортировать и импортировать их обратно.
Я не хочу делать обновление на месте хоста OS, но чистой установки 2016 года, а затем загрузить мой VMS.
Является ли это возможным? Если да, то как?
1 ответ
Если у вас есть файлы, как vhd(x), так и файл vmx компьютера, и ваша система настроена одинаково с похожими именами vSwitch, тогда вы сможете использовать команду Import-VM -Register path\to\the\file.vmx
,
Если у вас больше нет файлов VMX, вам нужно просто заново создать новую виртуальную машину и, когда вас спросят о добавлении хранилища, использовать существующие файлы vhd(x), которые у вас уже есть.
Основываясь на инструкции по использованию
Import-VM
, следующий сценарий PowerShell импортирует все виртуальные машины в папке на месте, будь то старые файлы XML или новые файлы vmcx. Безопасно для запуска в папке, в которой некоторые из них уже зарегистрированы, поскольку
Import-VM
просто покажет ошибку и пойдет дальше.
Просто установите BaseFolder соответствующим образом и выполните.
$baseFolder='Q:\Hyper-V\Virtual Machines\'
$vms=Get-ChildItem $baseFolder -Recurse | where {$_.extension -in ".xml",".vmcx"}
$vms | ForEach {
Write-Output "Importing $_"
Import-VM -Path $_.FullName -Register
}
Read-Host -Prompt "Press Enter to continue"