Перейти к содержимому

Как передать файл на виртуальную машину hyper v

  • автор:

Передача файлов на виртуальную машину Hyper-V

img

Привет, дорогой читатель! Если ты когда-нибудь задавался вопросом – как перенести файл с хостовой машины на виртуальную в Hyper-V, то эта статья для тебя! Дело в том, что не всегда представляется возможным организовать сетевую связность между хостом и виртуальной машиной, а иногда это и вовсе не нужно. К счастью, в Hyper-V предусмотрена простая возможность переноса файлов прямо на виртуальные машины (как Windows так и Linux и другие) с помощью PowerShell и сейчас мы про неё расскажем.

Важно отметить, что данная функционал стал доступен только в 3 версии PowerShell. Поэтому проверьте установленную у себя версию. Для этого в консоли PowerShell введите команду $PSVersionTable

Версия PoweShell

Процесс

Итак, сразу раскроем все карты. Для переноса файлов на гостевые (виртуальные) машины нужно использовать команду со следующим синтаксисом:

Copy-VMFile -Name “Имя виртуальной машины” -SourcePath ?Путь кфайлукоторыйхотим перенести? -DestinationPath ?Путь кпапке на виртуальной машинекуда хотимположить файл? -CreateFullPath -FileSource Host

Основой команды является часть Copy-VMFile, которая, в терминологии PowerShell, называется командлетом (Cmdlet) далее следуют ключи командлета, определяющие параметры и правила выполнения команды. Например, в примере выше, c помощью ключа -Name мы указываем имя виртуальной машины, на которую хотим скопировать файл, путь к которому указываем в ключе -SoucePath. Директория, в которую мы хотим поместить файл на виртуальной машине указывается в ключе -DestinationPath. Ключ -CreateFullPath создаст директорию, если её ещё нет. Ну и -FileSource Host означает, что источником, с которого мы переносим файл является хостовый сервер.

Однако, если вы выполните команду на текущем этапе без предварительной подготовки виртуальной машины, то получите следующую ошибку:

Ошибка

Чтобы этого избежать, необходимо предварительно включить в параметрах виртуальной машины поддержку гостевых сервисов (Guest Services). Для этого зайдите в параметры виртуальной машины, далее выберите Сервисы Интеграции (Integration Services) и поставьте галочку напротив Гостевые сервисы (Guest Services).

Гостевые сервисы

Или просто введите команду Enable-VMIntegrationService -Name ?Guest Service Interface? -VMName “Имя виртуальной машины”

После этого следует ввести команду Copy-VMFiles ещё раз, после чего начнётся копирование файлов с хоста в указанную директорию на виртуальной машине. Данный способ подходит для файлов любых размеров, ограничением является только используемое виртуальной машиной дисковое пространство.

Как передавать файлы между виртуальной машиной и хостом в Hyper-V

Windows 10 по умолчанию включает Hyper-V. Вы можете включить его в «Включение или отключение функций Windows». Последняя версия Hyper-V не позволяет передавать файлы между хостом и виртуальной машиной напрямую. В этой статье мы обсудим способы простой передачи файлов между виртуальной машиной и хостом.

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

Второй способ — создать файл ISO и смонтировать его внутри виртуальной машины. Хотя это работает, если у вас есть программное обеспечение для создания ISO, оно требует дополнительных усилий. Мы ищем простой способ служить нашей цели.

Третий способ — присоединить хост и виртуальную машину к одной локальной сети. Это может быть довольно легко, если вы подключены к сети. Но если вы не подключены к сети, это становится все труднее.

Создание частной сети между хостом и гостевой виртуальной машиной

В этой статье мы возьмем третий подход, но с изюминкой. Мы создадим частную сеть между хостом и ВМ и передадим файлы (или даже поделимся дисками хоста с ВМ). Просто выполните следующие шаги, чтобы это произошло:

  1. Откройте Hyper-V (Выполнить -> virtmgmt.msc)
  2. В правом меню выберите Virtual Switch Manager.
  3. Выберите New Virtual network switch и выберите Internal в качестве его типа. Нажмите кнопку « Создать виртуальный коммутатор», чтобы создать новый список коммутаторов.
  4. Теперь откройте настройки виртуальной машины. В разделе «Сетевой адаптер» выберите имя только что созданного коммутатора.
  5. Далее мы должны назначить статические IP-адреса двум сетевым адаптерам. Сначала зайдите в виртуальную машину и назначьте статический IP-адрес сетевому адаптеру.
  6. После этого мы должны сделать то же самое для нашего сетевого адаптера. Не волнуйтесь. Эти настройки не будут мешать вашим текущим сетевым настройкам. Если вы перейдете в Панель управления -> Сетевые подключения, вы увидите новый сетевой адаптер с именем коммутатора, созданного на шаге 3.
  7. Назначьте IP на сетевой адаптер.

После выполнения этих шагов ваши операционная система хоста и гостя будут связаны друг с другом через частную сеть. Вы можете использовать удаленный рабочий стол («Выполнить» -> mstsc), чтобы войти в свою виртуальную машину и даже изменить настройки подключения к удаленному рабочему столу, чтобы отображать диски хоста внутри виртуальной машины.

Надеемся, что это решит проблему совместного использования файлов между хостом и гостевыми машинами навсегда. Существуют и другие методы, такие как включение гостевых служб интеграции, а затем передача файлов через командную строку PowerShell, но я не предпочитаю, чтобы этими методами было сложнее управлять, если у нас есть большое количество файлов для передачи. Какие методы вы используете для передачи файлов между виртуальными машинами и хостом?

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Как напрямую скопировать файл с хоста Hyper-V в виртуальную машину

date

09.01.2020

user

itpro

directory

Windows Server 2012 R2

comments

комментариев 5

В обновленной роли Hyper-V, представленной в Windows Server 2012 R2 и Windows 8.1 появилась возможность прямого копирования файлов с хоста Hyper-V в виртуальную машину без использования сетевых интерфейсов. Этот функционал реализуется с помощью новой службы в гостевой ОС под названием Guest Services, входящей в состав интеграционных компонентов Hyper-V (Integration Services).

Итак, чтобы воспользоваться возможностью прямого копирования файлов в виртуальную машину с хостовой ОС Hyper-V, нужно в ВМ установить последнюю версию компонентов интеграции (Integration Services версии не ниже 6.3.9600.16384), и активировать на ней службу Guest Services.

Служба Guest Services позволяет осуществить копирование файлов между хостовым гипервизором (компьютером с ролью Hyper-V) и виртуальной машиной, запущенной на нем без использования сетевых компонентов. Процесс копирования осуществляется через высокоскоростную внутреннюю шину vmbus (Virtual Machine Bus), напрямую связывающую гипервизор и виртуальную машину. Благодаря этому администратор может скопировать внутрь виртуальной машины любой файл, причем абсодютно неважно в какой сети находится целевая виртуальная машина, подключена ли она вообще к виртуальному коммутатору, или находится в изолированной сети.

Примечание. В предыдущих версиях Hyper-V, чтобы скопировать файл внутрь виртуальной машины с сервера Hyper-V приходилось настраивать rdp подключение, общие папки через дополнительную внутреннюю сеть или общие vhd файлы. Также не стоит путать копирование файлов через службу Guest Services с возможностью копирования файлов через режим-расширение rdp-протокола — Enchanted Session Mode.

Служба интеграции guest services в hyper-v windows server 2012 r2

Служба Guest services для виртуальных машин по умолчанию отключена. Включить ее можно через GUI консоли Hyper-V в свойствах виртуальной машины (в разделе Integration Services ) или с помощью Powershell.

Проверить, включена ли служба Guest services для виртуальной машины, можно так:

Get-VMIntegrationService -VMName HV2012R2 -Name "Guest Service Interface”

Get-VMIntegrationService Powershell

В данном примере служба отключена: Guest Service Interface: False.

Чтобы включить службу, воспользуемся такой командой:

Enable-VMIntegrationService -VMName "HV2012R2" -Name "Guest Service Interface" -ErrorAction Continue

Внутри виртуальной машины должна быть запущена служба Hyper-V Guest Service, ее статус можно получить так:

Get-Service vmicguestinterface

Служба интеграции vmicguestinterface

После того, как служа интеграции Guest Service включена, можно с помощью специального командлета Copy-VMFile скопировать любой файл, расположенный на файловой системе сервера Hyper-V напрямую в виртуальную машину. Чтобы скопировать файл в уже существующую папку в гостевой ОС, выполним на сервере команду:

Copy-VMFile "HV2012R2" -SourcePath C:\Install\2012R2.iso -DestinationPath C:\Install\2012R2.iso -FileSource Host

Если целевой путь в гостевой ОС не существует, команда вернет ошибку. Чтобы автоматически создать указанный путь на файловой системе гостевой ОС, воспользуемся аргументом -CreateFullPath

Copy-VMFile "HV2012R2" -SourcePath C:\Install\2012R2.iso -DestinationPath C:\Install\2012R2.iso -FileSource Host –CreateFullPath

Copy-VMFile - копируем файл внутрь виртуальной машины Hyper-V с помощью Powershell

Примечание. Командлет Copy-VMFile позволяет за раз скопировать только один файл. Чтобы скопировать содержимое папки целиком, можно воспользоваться такой конструкцией:

Get-ChildItem C:\Scripts -Recurse -File | %

Отключить службу Guest Services можно так:

Get-VMIntegrationService -VMName "HV2012R2" -Name "Guest Service Interface" | Disable-VMIntegrationService -Passthru

Итак, благодаря службе Guest Services администратор Hyper-V может напрямую скопировать любой файл внутрь гостевой ОС виртуальной машины.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Читайте далее в разделе Windows Server 2012 R2

page

page

page

FAQ по KMS активации продуктов Microsoft (Windows и Office)

Лицензирование Windows Server в виртуальной среде

Настройка VPN сервера на базе Windows Server 2012 R2

Настройка FTP-сервера с изоляцией пользователей на Windows Server 2016 / 2012 R2

Экспорт и импорт виртуальных машин

В этой статье показано, как экспортировать и импортировать виртуальную машину, которая является быстрым способом перемещения или копирования. В этой статье также рассматриваются некоторые варианты, которые следует сделать при выполнении экспорта или импорта.

Экспорт виртуальной машины

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

Использование диспетчера Hyper-V

Чтобы экспортировать виртуальную машину:

  1. В диспетчере Hyper-V щелкните правой кнопкой мыши виртуальную машину и выберите «Экспорт«.
  2. Выберите место для хранения экспортированных файлов и нажмите кнопку «Экспорт«.

После завершения экспорта вы увидите все экспортированные файлы в расположении экспорта.

Использование PowerShell

Откройте сеанс как Администратор istrator и выполните следующую команду после замены и виртуальной машины:

Export-VM -Name \ -Path \

Дополнительные сведения см. в разделе «Экспорт виртуальной машины».

Импорт виртуальной машины

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

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

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

Импорт с помощью диспетчера Hyper-V

Импорт виртуальной машины:

  1. В меню «Действия» в диспетчере Hyper-V щелкните «Импорт виртуальной машины«.
  2. Нажмите кнопку Далее.
  3. Выберите папку, содержащую экспортированные файлы, и нажмите кнопку «Далее«.
  4. Выберите виртуальную машину для импорта.
  5. Выберите тип импорта и нажмите кнопку «Далее«. (Описание см. в разделе Импорт типов, приведенных ниже.)
  6. Нажмите кнопку Готово.

Импорт с помощью PowerShell

Используйте командлет Import-VM, следуя примеру типа импорта, который требуется импортировать. Описание типов см. в разделе «Импорт типов» ниже.

Регистрация на месте

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

Import-VM -Path 'C:\\2B91FEB3-F1E0-4FFF-B8BE-29CED892A95A.vmcx' 
Восстановление

Чтобы импортировать виртуальную машину, указав собственный путь к файлам виртуальной машины, выполните следующую команду, заменив примеры значениями:

Import-VM -Path 'C:\\2B91FEB3-F1E0-4FFF-B8BE-29CED892A95A.vmcx' -Copy -VhdDestinationPath 'D:\Virtual Machines\WIN10DOC' -VirtualMachinePath 'D:\Virtual Machines\WIN10DOC' 
Импорт в виде копии

Чтобы завершить импорт копирования и переместить файлы виртуальной машины в расположение Hyper-V по умолчанию, выполните следующую команду, заменив примеры своими значениями:

Import-VM -Path 'C:\\2B91FEB3-F1E0-4FFF-B8BE-29CED892A95A.vmcx' -Copy -GenerateNewId 

Дополнительные сведения см. в разделе Import-VM.

Типы импорта

Hyper-V предлагает три типа импорта:

  • Регистрация на месте — предполагается, что файлы экспорта находятся в расположении, где вы будете хранить и запускать виртуальную машину. Импортированная виртуальная машина имеет тот же идентификатор, что и во время экспорта. Из-за этого, если виртуальная машина уже зарегистрирована в Hyper-V, ее необходимо удалить перед импортом. После завершения импорта файлы экспорта становятся запущенными файлами состояния и не могут быть удалены.
  • Восстановите виртуальную машину— восстановите виртуальную машину в выбранном расположении или используйте по умолчанию Hyper-V. Этот тип импорта создает копию экспортированных файлов и перемещает их в выбранное расположение. При импорте идентификатор виртуальной машины такой же, как и при экспорте. Из-за этого, если виртуальная машина уже запущена в Hyper-V, ее необходимо удалить перед завершением импорта. После завершения импорта экспортированные файлы остаются неизменными и могут быть удалены или импортированы еще раз.
  • Скопируйте виртуальную машину . Это аналогично типу восстановления, в котором вы выбираете расположение для файлов. Разница заключается в том, что импортированная виртуальная машина имеет новый уникальный идентификатор, что означает, что виртуальную машину можно импортировать в один узел несколько раз.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *