Как сделать виртуальную машину из физической
Но что, если у вас возникнет нужда в обратном, то есть в переносе настроенной виртуальной Windows на физический компьютер?
Развертывания виртуальной Windows на физический диск
Скажем, понравилась вам тестируемая на виртуалке версия Windows, и вы захотели, не тратя времени, развернуть ее на хостовой машине. Возможно ли такое? Да, но с определенными оговорками, ибо нельзя дать стопроцентной гарантии, что система встанет без ошибок и необходимости дополнительных настроек вроде установки драйверов. На одном из ресурсов для этого предлагается использовать программу Macrium Reflect, но нам этот способ показался слишком громоздким и неудобным, поскольку, во-первых, он предполагает работу как минимум с двумя переносными носителями, во-вторых, с ним связано практически неизбежное падение развернутой системы в BSOD , с которым придется разбираться отдельно.
Мы предлагаем более простое решение с применением утилиты Vhd2Disk — выполняющей ту же работу, что и знаменитая Disk2vhd, только в обратном порядке. Если Disk2vhd виртуализирует физический ПК, то Vhd2Disk, извините за не совсем удачное выражение, материализует виртуальную Windows на физическом компьютере.
Утилита тоже бесплатна, скачать ее вы можете с официальной странички форума:
Перенос Windows с VirtualBox на реальный компьютер
Для примера мы будем использовать виртуальную Windows XP ввиду ее компактности и небольшого объема внешнего диска, но суть от этого не меняется, с таким же успехом на физический диск вы можете перенести Windows 10, 8.1 и 7. Итак, имея настроенную виртуальную Windows на Oracle VM VirtualBox , удаляем из нее дополнения гостевой ОС во избежание конфликтов и отцепляем общие папки, если таковые имеются. Зайдя в управление дисками виртуальной системы, вы увидите примерно такую картину, только разделов в Windows 10/8.1/7 будет больше (служебные, системный и пользовательский) .
Конвертирование диска VDI в VHD
Более чем наверняка ваша переносимая с VirtualBox Windows будет установлена на виртуальный диск формата VDI , нам же нужен виртуальный диск формата VHD , поэтому завершаем работу гостевой системы, идем в менеджер виртуальных носителей VirtualBox и выбираем диск с нашей системой.
Процедура не займет много времени, в результате которой вы получите точную копию виртуальной машины, только в формате VHD .
Подготовка диска
В данном примере развертывание образа будет выполняться на чистый накопитель, который необходимо подключить к компьютеру через SATA или USB . Если на диске уже имеются разделы, удаляем их со всем содержимым в Diskpart. Правда, есть способ, позволяющий развернуть систему из VHD -образа только на системный том, но в данном примере мы предположим, что вы решили перенести не только одну систему, но весь виртуальный диск с его разделами. Вот так это должно выглядеть в оснастке управления дисками.
Работа с Vhd2Disk
После загрузки рабочего стола первым делом зайдите управления дисками и разберитесь с размером томов, подсоединив нераспределенное пространство к ближайшему тому или создав на его месте еще один раздел. Для этого можно воспользоваться любым бесплатным менеджером разделов или тем же консольным Diskpart.
Также, что очень важно, вам нужно будет зайти в Диспетчер устройств, в котором наверняка обнаружатся неопознанные устройства или же устройства без драйверов. Это нормальное явление, драйвера ставим с вручную или помощью DriverPack Solution либо же аналогичной программы.
Сегодня на рабочем компьютере вышла из строя материнская плата. Пока плату будут ремонтировать решил свою рабочую физическую windows-систему перенести на виртуальную машину, чтобы не терять время на инсталляцию и настройку софта который облегчает администрирование. Оказалось что перенос windows с физической машины на виртуальную - достаточно простая задача.
Если на физической машине\винчестере у вас несколько логических дисков, а время поджимает, можете сделать образ только с системного диска.
Устанавливаем и создаем виртуальную машину с той ОС, чей образ Вы сделали.
На этапе создания виртуального жесткого диска, говорим что он у нас уже есть и указываем на файл созданного образа
После этого можете пробовать запускать виртуальную машину, но у меня на этом этапе она не запустилась и пришлось сделать еще пару кликов в свойствах виртуальной машины.
- На вкладке материнской платы ставим галочку напротив "Enable IO APIC"
- На вкладке процессора убеждаемся что не установлена галочка напротив "PAE/NX features."
Если физический диск на физической машине был сконфигурирован как SATA-устройство, вам может понадобиться подключить его образ как SATA-устройство и в виртуальной машине.
Делается это на вкладке "Storage".
Удаляем текущий контроллер:
И создаем SATA-контроллер:
Подключаем к контролеру образ жесткого диска (у вас он конечно будет в vhd/vhdx-формате):
Хочу отметить что столкнулся с таким нюансом: изначально на хостовой машине с 8 ГБ ОЗУ я создал виртуальную машину с 2 ГБ ОЗУ, после успешного запуска решил увеличить до объем ОЗУ на виртуальной машине до 4 ГБ, но она перестала запускаться, выдавая ошибки. Свободного времени было немного, потому я не записал текст ошибки и не стал разбираться в сути проблемы, просто снова установил в виртуальной машине 2 ГБ ОЗУ.
Если выскакивает ошибка 0x0000007B мне помогло для виртуализиванной машины с windows xp указать носитель IDE с типом ICH6, чипсет ICH9. При этом винчестер на физической машине был воткнут в SATA.
Практически гениально!
Благодаря виртуализации вы можете сохранить все свои старые компьютеры. Это также хороший вариант, если вы используете несколько настольных или портативных компьютеров одновременно. Таким образом, вы можете сэкономить место для хранения. Наконец, если вы продаете оборудование ваших виртуализированных машин, вы можете заработать достаточно денег, чтобы достойно обновить свой главный компьютер.
Вам удалось создать виртуальную машину из старого компьютера? Вы столкнулись с какими-либо проблемами во время процесса? Пожалуйста, поделитесь своим опытом в разделе комментариев ниже.
27.07.2021
itpro
Hyper-V, PowerShell, Windows Server 2016, Виртуализация
комментариев 6
В Hyper-V в отличии от VMWare нет встроенной функции клонирования виртуальной машины (клонирование есть только в Virtual Machine Manager). Чтобы создать полную копию существующей ВМ придется использовать функцию импорта/экспорта. В этой статье мы рассмотрим, как клонировать виртуальную машину в Hyper-V через импорт/экспорт через графический интерфейс Hyper-V Manager, PowerShell и Windows Admin Center (WAC).
При клонировании виртуальных машин с Windows не забывайте о том, что после клонирования ВМ у ее копии будет такой же SID. Для сброса SID нужно использовать утилиту sysprep. Если вы создали эталонный образ Windows, то перед клонированием на нем нужно выполнить команду:
%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe
ВМ будет выключена и при следующей загрузке как оригинальной ВМ, так и ее клона для Windows будет сгенерирован новый SID. Также нежелательно клонировать ВМ, включенные в домен Active Directory.
Экспорт/импорт ВМ из консоли Hyper-V Manager
Сначала нужно экспортировать ВМ в отдельный каталог.
Запустите консоль Hyper-V manager, выберите ВМ и в контекстном меню выберите Export.
Начиная с версии Hyper-V в Windows Server 2012 R2 (в том числе в Free Hyper-V Server) вы можете экспортировать даже запущенные виртуальные машины без их остановки.
Укажите каталог, в который нужно экспортировать виртуальную машину.
Статус экспорта ВМ будет отображен в строке состояния ВМ в консоли Hyper-V.
Начиная с Hyper-V в Windows Server 2012 R2 вы можете экспортировать конкретный снимок (checkpoint) виртуальной машины. Для этого достаточно выбрать нужны снимок в дереве Checkpoints и выбрать Export.
Чтобы импортировать ВМ щелкните в консоли 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.
У каждой ВМ на хосте Hyper-V есть идентификатор 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\).
Также можно указать каталоги для хранения чекпоинтов ( SnapshotFilePath ) и файла подкачки ( SmartPagingFilePath ).
Обратите внимание, что клонированная ВМ появилась в консоли 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.
Предыдущая статья Следующая статья
Включаем поддержку SR-IOV для виртуальных машин Hyper-V
Низкая скорость сети на хосте Hyper-V с Windows Server 2019
Установка VMWare ESXi в виртуальную машину Windows Hyper-V
Маршрутизация между разными IP подсетями в Hyper-V
А какие есть бесплатные способы сделать клон ВМ из ESXi в Hyper-V?
Из приличных был StarWind V2V Converter, вроде это функционал там бесплатные. можно еще тулзой disk2vhd
Очень интересует последний способ, спасибо за него! Я поставил Windows Admin Center, она отлично встала на Windows Server 2022, я попробовал клонировать Windows 10 (заведено 2 юзера, оба админы).
Вот какую ошибку получаю:
Подробная информация об уведомлении
Ошибка
Не удалось клонировать виртуальную машину
00:43:25
Источник
Перейти в Виртуальные машины
Тип
Ошибка
Читайте также: