Вернуть виртуальные машины Hyper-v после переустановки ОС хоста

У меня есть автономный сервер win 2012 r2 с Hyper-v. Это мой тестовый сервер, который я использую для экспериментов, поэтому его можно отключить в любой момент. Это не проблема.

Можно ли импортировать виртуальные машины 2012r2 в Hyper-v 2016 без их экспорта? Что-то вроде загрузки файлов vbox в виртуальный бокс без необходимости в первую очередь экспорта машин? Я' m заканчивается место на диске, и я хотел бы выполнить чистую установку ОС хоста, а затем каким-то образом вернуть мои текущие виртуальные машины на новый Hyper-v, но без их экспорта и импорта. Таким образом, они по-прежнему будут на том же месте, что и сейчас, но просто зарегистрируйте их в Hyper-v без особых операций ввода-вывода для их экспорта и импорта обратно.

Я не хочу выполнять обновление ОС хоста на месте, но очищаю установить 2016 и затем загрузить мою виртуальную машину.

Возможно ли это? Если да, то как?

5
задан 28 October 2017 в 20:52
2 ответа

Если у вас есть файлы, как vhd (x), так и файл vmx машины, и ваша система настроена так же с аналогичными именами vSwitch, тогда вы сможете использовать команду Import-VM -Register path \ to \ the \ file.vmx .

Если у вас больше нет VMX файлов, то вам следует просто воссоздать новую виртуальную машину и, когда вас спросят о добавлении хранилища, использовать существующие файлы vhd (x), которые у вас уже есть.

6
ответ дан 3 December 2019 в 01:29

Основываясь на инструкции по использованию 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"
1
ответ дан 10 May 2020 в 22:39

Теги

Похожие вопросы