Для передачи файлов через буфер обмена в Hyper V виртуальную машину есть несколько способов. Каждый из них отличается от версии операционной системы и условий в которых вы его хотите использовать, но любой из них позволяет копировать файлы в виртуальную машину с хоста и обратно.
Первый вариант работает с версий ВМ Windows Server 2012 R2 и Windows 8.1 и называется Enhanced Session Mode (ESM). Эта возможность работает по тому же принципу, что и RDP, то есть мы можем использовать не только буфер обмена, но и USB устройства, принтеры и так далее. Отличия от RDP в том, что мы не используем сеть в данном случае, но если у вас настроены политики ограничивающие RDP подключения они могут быть причиной ошибок.
По умолчанию Enhanced Session Mode включен. Мы можем проверить ее если зайдем в настройки Hyper V:
Или выполнить аналогичное через Powershell:
# Проверка
Get-VMHost | SELECT -Property EnableEnhancedSessionMode
# Включение
Set-VMHost -EnableEnhancedSessionMode $True -Passthru
Настройка расширенного сеанса Hyper V (ESM) устанавливается только на уровне сервера, но что бы у нас работала возможность копирования нужно включить и пакет интеграции Hyper V, который по умолчанию отключен. Эта служба интеграции называется Guest services (Гостевая служба), и она включается у каждой виртуально машины отдельно. Для ее включения зайдем в настройки виртуально машины:
И включить гостевую службу:
Аналогичную настройку через Powershell можно сделать так:
# Просмотр включенных пакетов интеграций у ВМ с именем Win10
Get-VMIntegrationService -VMName 'Win10'
# Включение гостевого пакета интеграции
Enable-VMIntegrationService -VMName "Win10" -Name "Guest Service Interface"
# Включение на всех виртуальных машинах
Get-VM | Enable-VMIntegrationService -Name "Guest Service Interface"
Последнее что нужно сделать — это включить службу «Remote Desktop Services»:
Можно установить и в консоли PS:
# Получение статуса сервиса
Get-Service "Remote Desktop Services"
# Установка сервиса на автоматический запуск
Set-Service "Remote Desktop Services" -StartupType Automatic
Теперь включим виртуальную машину и подключимся к ней:
О том что у нас включен режим расширенного сеанса можно увидеть по следующему окну. Если мы хотим проверить, что возможность использования буфера у нас включена нужно зайти в дополнительные настройки:
На второй закладке стоит галочка под Clipboard (Буфер обмена) — это то что нам нужно:
После этого у нас будет работать в Hyper V буфер обмена путем копирования/вставки, а перетаскивание файлов в виртуальную машину работать не будет, так как такого функционала нет.
Мы так же можем использовать Powershell:
# Откуда скопировать
$s_path = 'C:\file.txt'
# Куда скопировать
$d_path = 'C:\'
Copy-VMFile -Name 'Win10' -SourcePath $s_path -DestinationPath $d_path -FileSource Host
Microsoft описывает проблему, при которой копирование так же не будет работать и оно связано с политиками. По следующему пути нужно изменить политику с «Do not allow drive redirection» на «Disabled» или «Not Configured»:
Computer Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Device and Resource Redirection
Такого пути в групповых политиках я у себя не нашел.
Передача файлов в Hyper V через публичную папку
Второй вариант это создать в Hyper V виртуальную сеть через внутренний коммутатор. Внутренний или Internal коммутатор не использует физический сетевой адаптер и разрешает пользоваться таким типом соединения хосту Hyper V и виртуальным машинам. Таким образом затрачиваемые ресурсы, при копировании в Hyper V большого объема данных, не будут сильно отличаться от первого способа.
Для создания внутреннего коммутатора нужно зайти в окно управления свичами:
В новом окне выбрать «Internal» или «Частный»:
Ввести имя коммутатора и подтвердить создание:
Это делается в Powershell одной командой:
New-VMSwitch -Name 'Private' -SwitchType Private -ComputerName 'AD1'
После этого для каждой виртуальной машины, с которой мы хотим обмениваться данными, нужно подключить адаптер к этому коммутатору. Для этого зайдем в настройки виртуальной машины:
Теперь создадим виртуальный сетевой адаптер:
Теперь подключим адаптер к коммутатору:
В случае с Powershell это так же одна команда:
Add-VMNetworkAdapter -SwitchName 'Private' -VMName 'Win10'
В виртуальных машинах отобразится новое подключение и возможно потребуется настроить IP адрес, так как скорее всего у нас не будет доступ к DHCP серверу. Далее можно подключаться к машинам по сетевому пути.
Копирование файлов в Hyper V через виртуальный диск
Этот способ заключается в подключении виртуального диска отключенной ВМ. Мы можем создать новый диск или использовать системный диск операционной системы. Я крайне не рекомендую использовать этот способ, так как в случае существования чекпоинтов/снэпшотов на этой ВМ или если вы забудете размонтировать диск, это может привести к необратимым последствиям.
Вы можете создать диск воспользовавшись статьей «Создание виртуальных дисков в Hyper V». Папку, где лежит виртуальный диск можно увидеть через настройки виртуальной машины:
Если путь заканчивается на avhdx, то вы используете контрольную точку. Для монтирования диска нужно перейти по пути и выбрать Mount у vhd/vhdx файла:
В моем случае появилось два раздела, так как это системный диск. Для размонтирования дисков нужно кликнуть по разделу и нажать Eject.
Если хотите выполнить команду через Powershell, то это можно сделать так:
$disk = Get-VMHardDiskDrive -VMName 'Win10'
# Монтирование
Mount-VHD -Path $disk.Path
# Размонтирование
Dismount-VHD $disk.Path
Командлет выше подразумевает, что у вас подключен один диск. В случае нескольких дисков запустите:
$disk | select *
Копирование в Hyper V используя буфер обмена с RDP
Последний способ подключения работает через «Подключению к удаленному рабочему столу» или RDP. Для такой возможности копирования, кроме открытых портов и включенной возможности в свойствах компьютера дополнительных требований нет. Так же стоит проверить галочку в свойствах подключения RDP:
Вы так же можете почитать как настроить RDP в Powershell.
…
Теги:
#powershell
#hyper-v
NOTE: The question has two parts to it. The FIRST part asks «How to COPY-PASTE FILES». THIS is an answer to that part of the question. (The SECOND part asks how to copy/paste TEXT; e.g. a clipboard operation. This answer is NOT about that.)
Also see these other answers relevant to copy/paste files, in specific situations:
For ESM-compatible VMs
For initial setup before starting your VM
Files can be copy/pasted between a MAC and a PC, or a LINUX box and a PC, and the same technique can be used between a virtual machine (even using «Version 1», to run older Windows, in my case Windows 7) and its host PC.
How? Network sharing aka «Share a folder over a network».
KEY POINT: Once you have set up a shared folder, you can then do regular file-copying in a Windows Explorer view on the host PC, even if the source is on host and the destination is on VM, or vice-versa. That is, Network sharing is not just about making a set of network files visible on the VM, it also makes it easy for you to later move individual files, or complete folders, between two different computers (here, the VM is one of the computers), as if they were on a single computer.
- Hyper-V Manager — Virtual Switch Manager.
-
- Create Virtual Switch / External
- Hyper-V / Your VM / Settings
-
- Network Adapter / Virtual Switch = the External Virtual Switch from above
- Boot your VM, login with an Administrator account.
- Do what you normally do to «Share a folder over the network». (See documentation for the OS you are running on the VM.) In my case, I shared my username/Documents folder. specify read/write privilege, if you want to copy files both to and from that folder
- Host machine / Windows Explorer / Network / your VM should appear with that shared folder.
-
- Select your VM (its «Network» representation), and LOGIN with your VM’s administrator account.
-
- Copy / Paste files in this Explorer window on your host.
NOTE: I only tested with my user account / Documents folder, so I do not know whether there are limitations on what can be shared. I assume it works exactly the same as any other network sharing from the virtual OS, so it shouldn’t matter that it is virtual. It is just another machine on your network, running that OS.
I also did not test with a Linux VM, however I did test with Windows 7, running «Version 1» VM — that works, so any OS that can be run under Hyper-V, and that supports network sharing with Windows, should work.
- Remove From My Forums
-
Вопрос
-
В диспетчере Hyper-V подключаюсь к виртуальной машине.
Чтобы передать что-то гостю, в окне подключения есть меню «буфер обмена», в этом меню жму команду «ввести текст в буфер обмена». Неудобно! Но всё таки работает. А вот команду для передачи от гостя к хосту не нашел.
Может ее вообще нет? Подскажите плиз! Может требуется что-то доустановить, чтобы работали ctrl+c и ctrl+v?
PS: Платформа виртуализации Windows Server 2008 R2 SP1 с ролью Hyper-V
-
Изменено
21 октября 2011 г. 8:50
-
Изменено
Ответы
-
Найдете информацию — поделитесь -)
Насколько я в курсе — подобная возможность будет реализована только в следующей версии майкрософтовского гипервизора.
-
Предложено в качестве ответа
Кудрявцев Кирилл
21 октября 2011 г. 10:39 -
Помечено в качестве ответа
Yuriy Lenchenkov
24 октября 2011 г. 11:51
-
Предложено в качестве ответа
Как скопировать файл в виртуальную машину Hyper-V.
В своей работе системным администраторам бывает необходимо перенести файлы в гостевую систему виртуальной машины. В этой статье описано как это сделать в системе виртуализации Hyper-V при невозможности скопировать файлы по RDP или по сети(как скопировать файлы в виртуальную машину VMware описано в одноименной статье).
Есть несколько способов это сделать. Не буду подробно описывать первые два, просто скажу, что они есть и работают(иногда, только с их помощью и можно решить поставленную задачу, например если на ВМ установлена не Windows). В любом случае, выбирайте способ, который подходит в вашей ситуации.
Первый способ.
1. Первый способ заключается в создании ISO-образа, подключении его к машине, с которой надо скопировать файл, копировании на него нужных файлов, а потом монтировании к машине, на которую нужно эти файлы переместить.
Второй способ.
2. Второй способ аналогичен первому, только вместо ISO-образа используется файл виртуального жесткого диска(создать его можно на хосте в управлении дисками или в оснастке Hyper-V).
С помощью вышеописанных способов, естественно можно переместить файлы и в обратном направлении, то есть из ВМ на хост Hyper-V.
Перед тем как приступить к описанию двух других способов, нужно сказать, что я не смог использовать их при копировании файлов в гостевую систему, отличную от Windows. Поэтому, если у вас в качестве гостевой ОС используется Linux, то, скорее всего, придется использовать первые два.
Третий способ.
3.Итак, способ номер три:
В Hyper-V на Windows Server 2012 R2 и Windows 8.1 появился новый режим Enhanced Session Mode (ESM), позволяющий, при подключении к виртуальной машине через консоль, пробрасывать внутрь ВМ локальные ресурсы(диски,принтеры, usb-устройства) хоста, на котором открыта консоль Hyper-V. Этот режим позволяет копировать файлы в ВМ, если даже на ней отсутствуют сетевые адаптеры.
Для работы ESM должны быть выполнены следующие условия:
В свойствах сервера Hyper-V должен быть включен Enhanced Session Mode.
В качестве гостевых ОС могут выступать только виртуальные машины с ОС не старше Windows 8.1 (редакции Pro/Enterprise) и Windows Server 2012 R2.
В гостевой ОС должна быть запущена служба Remote Desktop Services.
Пользователь ОС должен на гостевой системе входить в локальную группу администраторов или группу Пользователи удаленного рабочего стола.
Для включения режима ESM откройте параметры Hyper-V и установите необходимую галку:
В свойствах самой виртуальной машины установите галочку на службах интеграции(по умолчанию она не стоит).
Подключитесь к виртуальной машине. При первом подключении появится табличка с настройками параметров подключения.
Если появится необходимость изменить параметры подключения или табличка не появляется, закройте консоль подключения и нажмите «Изменить параметры сеанса» в Диспетчере Hyper-V.
В открывшемся окне параметров сеанса можно изменить разрешение экрана консоли и настроить дополнительные параметры подключения. Для этого нажмите «Показать параметры» в левом нижнем углу.
После этого выберите вкладку локальные ресурсы. Установите галки «Принтеры»(если нужно предоставить доступ ВМ к принтерам) и «Буфер обмена». Нажмите «Дополнительно».
В открывшемся окне отметьте галками какие ресурсы хоста будут доступны виртуальной машине(диски, USB-устройства и т.д).
Сохраните изменения, нажав ОК. Теперь при подключении к ВМ, указанные ресурсы хоста будут доступны и виртуальной машине.
Этот способ аналогичен способу копирования файлов при подключении по RDP, и мне представляется самым простым и удобным в случае с Windows-машинами.
Четвертый способ
4. Ну и четвертый способ предполагает использование Powershell.
При использовании этого метода консоль Powershell должна быть запущена от имени Администратора и, как и в предыдущем способе, в ВМ должны быть установлены Гостевые службы(Integration Services).
Для копирования файла в ВМ нужно выполнить команду:
Copy-VMFile -Name Windows10 -SourcePath D:\VMFiles\my_file.iso -DestinationPath D:\Files\my_file.iso -CreateFullPath -FileSource Host |
Значение параметров команды:
-Name — имя ВМ;
-SourcePath — путь к файлу;
-DestinationPath — путь к папке назначения;
-CreateFullPath — создать папку назначения, если она отсутствует;
-FileSource — источник нахождения файла(хост Hyper-V).
Если нужно скопировать не один файл, то нужно использовать команды:
Get-ChildItem C:\MyFiles -Recurse -File | % { Copy-VMFile «Windows10» -SourcePath $_.FullName -DestinationPath $_.FullName -CreateFullPath -FileSource Host } |
Данный способ не самый удобный и работает только в одну сторону, но, возможно, и он будет очень полезен в определенных условиях.
Для создания виртуальной машины (ВМ) обычно используются дополнительные программы, вроде VirtualBox. Однако, Windows 10 в редакциях Professional и Enterprise имеют предустановленную поддержку необходимой утилиты Hyper V Manager. Иными словами, в операционной системе (ОС) уже есть все необходимое для создания ВМ. В версиях Home по-прежнему придется пользоваться альтернативными приложениями. Сейчас подробно разберем, как запустить виртуальную машину на Windows 10, а также познакомимся с ее особенностями.
Виртуальная машина — что это?
Виртуальная машина – отдельная и независимая программная среда, функционирующая в рамках другой операционной системы. У нее собственное хранилище, системные файлы и остальные атрибуты обычной системы. Стоит упомянуть, что Hyper V Windows 10 – это всего лишь встроенная утилита для создания виртуальной ВМ. В созданную таким образом ОС можем устанавливать программы, удалять из нее файлы и проводить любые другие эксперименты. Даже в случае плачевного результата основная система никак не пострадает, а переустановить Windows 10 или откатить на ВМ не представляет особого труда.
У некоторых читателей может остаться вопрос, для чего нужна виртуальная машина. У каждого пользователя свой ответ на него, но некоторые из них встречаются чаще остальных.
Основные причины использования виртуальной машины для Windows 10 x64:
- Посмотреть и попробовать новую операционную систему (версию, обновление или совсем другую ОС, вроде Linux или Mac.
- Работа с сомнительными программами. Если потребность в приложении высока, но нет желания рисковать собственными данными и стабильность ОС, его можем использовать на ВМ. Риски для системы будут минимальны.
- Использование в качестве сервера.
- При посещении опасных веб-сайтов через браузер в виртуальной машине удается исключить риск заражения основной операционной системы.
- Для отладки программного кода для разных ОС и т. п.
Как проверить включена ли виртуализация Windows 10?
Прежде всего нужно удостовериться, активна ли виртуализация на ПК. В противном случае виртуальная машина Hyper V не сможет работать.
Как проверить:
- Жмем сочетание Win + R, вставляем msinfo32 и нажимаем «Ок».
- Прокручиваем страницу в поисках Hyper-V. Возле всех элементов должно стоять значение «Да».
Hyper V Windows 10 — как пользоваться?
Создание виртуальной машины в Windows 10 – несложная процедура, но у нее есть свои особенности, которые нужно обязательно учесть.
Установка Hyper V на Windows 10
На самом деле Hyper V не нужно устанавливать, ведь это интегрированная утилита, которая уже присутствует в ОС. Обычно ее нужно только включить.
Инструкция:
- Нажимаем комбинацию Win + R, вводим Appwiz.cpl и нажимаем Enter.
- Переходим на следующую страницу по ссылке «Включение и отключение компонентов».
- Находим в перечне Hyper-V, устанавливаем возле него флажок и кликаем на «Ок».
- Перезагружаем компьютер.
Возможно, опция была уже активной, тогда предварительные настройки не нужны, можем сразу переходить к установке. Бывают и плохие новости – если элемент выключен и его нет возможности включить, скорее всего установлена ОС х32 или стоит только 4 Гб или меньше ОЗУ. В некоторых случаях просто выключена виртуализация на уровне BIOS.
Как включить поддержку виртуализации в Windows 10:
- Перезагружаем компьютер.
- Во время включения нажимаем клавишу F2, F10, F12, Del или другую для перехода в BIOS (обычно есть подсказка снизу окна.
- Открываем раздел «Advanced», а затем – «CPU Configuration».
- Выбираем опцию «Intel Virtualization Technology» и переводим ее в состояние «Enabled».
- Активируем вариант «Save & Exit» и выбираем «Save Changes and Reset».
- После перезагрузки виртуализация будет включена.
Настройка сети Hyper V
Начинать работу с виртуальной машиной лучше с настройки интернет-соединения, скорее всего им придется пользоваться много раз. Выставление параметров требуется только 1 раз.
Пошаговая инструкция:
- Через поиск переходим в «Диспетчер Hyper V Windows 10».
- В левом меню выбираем пункт с названием ПК, кликаем по нему правой кнопкой мыши (ПКМ) и переходим в «Диспетчер виртуальных коммутаторов».
- Нажимаем на вариант «Создать…», выбираем пункт «Внешняя» и жмем на кнопку «Создать».
- В текущем окне обычно все данные выставлены верно, максимум, что нужно сделать – выбрать сетевой адаптер и сеть для подключения.
- Кликаем по клавише «Ок» и ждем запуск виртуального адаптера.
Все готово для создания виртуальной машины для игр и прочего. Процедура добавления имеет подробное пошаговое руководство, но начинающие пользователи все равно путаются. По этой причине рассмотрим инструкцию в местах, где могут быть проблемы.
- Внутри диспетчера щелкаем по названию ПК и из вкладки «Действие» выбираем «Создать» — «Виртуальная машина».
- Указываем диск, на котором будут храниться данные от ВМ.
- На третьем шаге выбираем первый пункт для простых задач, а второй – для ВМ с UEFI.
- Указываем объем оперативной памяти, зарезервированный под виртуальную машину. Один из вариантов его подбора – узнать минимальные требования устанавливаемой ОС и добавить 1-2 Гб.
- Выбираем адаптер сети.
- Выставляем место хранения виртуального HDD и выставляем ему доступный объем.
- Активируем второй пункт и задаем путь к iso-файлу (дистрибутиву Windows) на ПК.
- Запускаем установку.
Чтобы в будущем перейти в окно с ВМ, достаточно открыть диспетчер Hyper-V и выполнить двойной клик по названию операционной системы.
Важно! Буфер обмена у основной операционной системы и Hyper-V разные, то есть они работают независимо между собой.
Как отключить Hyper V в Windows 10?
Принцип отключения Hyper V Windows 10 не во многом отличается от включения:
- Нажимаем ПКМ по Пуску и переходим в «Программы и компоненты».
- Жмем на раздел меню «Включение…».
- Снимаем галочку с Hyper-V и кликаем по клавише на «Ок».
Это все, что необходимо знать для создания, запуска и начальной настройки виртуальной машины средствами предустановленного компонента Windows 10 – Hyper V.
Андрей
Остались вопросы по теме?
Задать вопрос