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

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

  • автор:

Как передавать файлы между виртуальной машиной и хостом в 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?

Понадобилась 32 разрядная система. Решил поставить ее на Hyper-V, но ни разу этого не делал. В общем, теперь у меня есть виртуальная Windows 7.

Не понимаю, как можно передать файл с 8-ки на 7-ку. Буфер обмена может передавать только текст. А где хранятся файлы виртуальной 7-ки так и не понял.

  • Вопрос задан более трёх лет назад
  • 18564 просмотра

Комментировать
Решения вопроса 1

Jump

Системный администратор со стажем.

Буфер обмена передает все что угодно, в том числе файлы и папки.
Поэтому можете просто копировать и вставить. Но это медленно и расточительно в плане ресурсов.

А вообще самое верное решение это просто открыть сетевой доступ к папке. Быстро и просто.

Из более экзотических и специфических решений — ftp сервер, btsync, torrent, dropbox и. т. д.

Ответ написан более трёх лет назад
Нравится 2 7 комментариев
Tenebrius @Tenebrius Автор вопроса

Вероятно я что-то сделал не так. Но файлы у меня не копируются. А в меню пункт зовется «Вставить текст из буфера обмена». Как написал к ответу выше, к сети оно не подключается.

Jump

@Tenebrius я честно говоря не понимаю о каком пункте вы говорите.
Файлы вставляются очень просто — скопировали, на одной машине, переключились на виртуалку, в нужной правый клик мышкой и «вставить» .
Ну или ctl-c ctrl-v
По поводу сети — что значит не подключается к сети? Вы намеренно не хотите подключить к сети, или просто возникли проблемы с подключением к сети?

Ну и опять же, если вы не подключите машину к сети, то как вы с ней будете работать? Доступ то к машине как осуществляете?

Tenebrius @Tenebrius Автор вопроса

Копирование обычными способами не работает, ни ctrl+c/ctrl+v, ни через контекстное меню. Зато в главном меню виртуальной машины есть пункт «буфер обмена», но там только один пункт, позволяющий копировать текст.

А доступа к сети из виртуальной машины нет. В настройках сети запущенной там Windows 7 отсутствуют сетевые адаптеры.

Jump

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

После чего в виртуальной машине разрешите доступ по RDP и подключайтесь по RDP к этой машине, ну и папку по сети можно будет расшарить.

Tenebrius @Tenebrius Автор вопроса

Коммутатор создал и добавил, перезапустил. Адаптер не появился. Что такое RDP я не знаю, и что где разрешать, соответственно, тоже.

Jump

@Tenebrius интересно. Попробуйте вручную в конфигурации виртуальной машины добавить сетевой адаптер.
RDP — стандартный протокол майкрософта для доступа к удаленным машинам, т.е удаленный рабочий стол.

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

Четвертая версия PowerShell, вышедшая вместе с Windows Server 2012 R2, включает в себя некоторое количество новых командлетов для управления Hyper-V. Одним из таких командлетов является командлет Copy-VMFile, позволяющий копировать файлы в виртуальную машину напрямую, не используя сетевое подключение.

Напомню, что утилита VMConnect, отвечающая в Hyper-V за локальное подключение к ВМ, в стандартном режиме не дает возможность перенести в гостевую систему файлы и папки, только текст. Правда есть еще расширенный режим подключения, но для него необходима поддержка гостевой системы, которая имеется только в новейших ОС Windows. Для всех остальных ОС при необходимости скопировать данные внутрь ВМ необходимо настроить сетевое подключение.

С помощью командлета Copy-VMFile можно скопировать необходимые файлы в ВМ напрямую с хоста, не используя подключение по сети. Для примера возьмем виртуальную машину SRV2008R2 с установленной Windows Server 2008R2 (что исключает использование расширенного режима) и скопируем в нее файл Doc.txt командой:

Copy-VMFile -Name SRV2008R2 -SourcePath ″D:\Doc.txt″ -DestinationPath ″C:\Doc\doc.txt″ -CreateFullPath -FileSource Host

Здесь ключ SourcePath указывает расположение копируемого файла на хосте, DestinationPath — папку в виртуальной машине, в которую будет скопирован файл, CreateFullPath создает папку в случае ее отсутствия, а FileSource Host указывает в качестве источника локальный хост Hyper-V.

Копирование файлов в виртуальную машину

Для работы командлета необходимо включение опции Гостевые службы (Guest services) в настройках ВМ на вкладке ″Integration Services″. Обратите внимание, что по умолчанию эта опция выключена.

Сервисы интеграции в Hyper-V Manager

Также включить ″Guest services″ можно из консоли PowerShell. Сначала проверяем их состояние:

Get-VMIntegrationService -Name ″Guest Service Interface″ -VMName SRV2008R2

И затем включаем:

Enable-VMIntegrationService -Name ″Guest Service Interface″ -VMName SRV2008R2

Как напрямую скопировать файл с хоста 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

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

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