- Как передавать файлы используя буфер обмена в Hyper V
- Передача файлов в Hyper V через публичную папку
- Копирование файлов в Hyper V через виртуальный диск
- Копирование в Hyper V используя буфер обмена с RDP
- Общий каталог на хосте Windows Hyper-V с виртуальной машиной Ubuntu
- Shared Folders over Hyper-V Ubuntu Guest
- Starting a file share
- Guest to Host Networking
- Mounting the Shared Folder on Guest
- About the author
- Ranvir Singh
Как передавать файлы используя буфер обмена в Hyper V
25 сентября 2019
Для передачи файлов через буфер обмена в Hyper V виртуальную машину есть несколько способов. Каждый из них отличается от версии операционной системы и условий в которых вы его хотите использовать, но любой из них позволяет копировать файлы в виртуальную машину с хоста и обратно.
Первый вариант работает с версий ВМ Windows Server 2012 R2 и Windows 8.1 и называется Enhanced Session Mode (ESM). Эта возможность работает по тому же принципу, что и RDP, то есть мы можем использовать не только буфер обмена, но и USB устройства, принтеры и так далее. Отличия от RDP в том, что мы не используем сеть в данном случае, но если у вас настроены политики ограничивающие RDP подключения они могут быть причиной ошибок.
По умолчанию Enhanced Session Mode включен. Мы можем проверить ее если зайдем в настройки Hyper V:
Или выполнить аналогичное через Powershell:
Настройка расширенного сеанса Hyper V (ESM) устанавливается только на уровне сервера, но что бы у нас работала возможность копирования нужно включить и пакет интеграции Hyper V, который по умолчанию отключен. Эта служба интеграции называется Guest services (Гостевая служба), и она включается у каждой виртуально машины отдельно. Для ее включения зайдем в настройки виртуально машины:
И включить гостевую службу:
Аналогичную настройку через Powershell можно сделать так:
Последнее что нужно сделать — это включить службу «Remote Desktop Services»:
Можно установить и в консоли PS:
Теперь включим виртуальную машину и подключимся к ней:
О том что у нас включен режим расширенного сеанса можно увидеть по следующему окну. Если мы хотим проверить, что возможность использования буфера у нас включена нужно зайти в дополнительные настройки:
На второй закладке стоит галочка под Clipboard (Буфер обмена) — это то что нам нужно:
После этого у нас будет работать в Hyper V буфер обмена путем копирования/вставки, а перетаскивание файлов в виртуальную машину работать не будет, так как такого функционала нет.
Мы так же можем использовать Powershell:
Microsoft описывает проблему, при которой копирование так же не будет работать и оно связано с политиками. По следующему пути нужно изменить политику с «Do not allow drive redirection» на «Disabled» или «Not Configured»:
Такого пути в групповых политиках я у себя не нашел.
Передача файлов в Hyper V через публичную папку
Второй вариант это создать в Hyper V виртуальную сеть через внутренний коммутатор. Внутренний или Internal коммутатор не использует физический сетевой адаптер и разрешает пользоваться таким типом соединения хосту Hyper V и виртуальным машинам. Таким образом затрачиваемые ресурсы, при копировании в Hyper V большого объема данных, не будут сильно отличаться от первого способа.
Для создания внутреннего коммутатора нужно зайти в окно управления свичами:
В новом окне выбрать «Internal» или «Частный»:
Ввести имя коммутатора и подтвердить создание:
Это делается в Powershell одной командой:
После этого для каждой виртуальной машины, с которой мы хотим обмениваться данными, нужно подключить адаптер к этому коммутатору. Для этого зайдем в настройки виртуальной машины:
Теперь создадим виртуальный сетевой адаптер:
Теперь подключим адаптер к коммутатору:
В случае с Powershell это так же одна команда:
В виртуальных машинах отобразится новое подключение и возможно потребуется настроить IP адрес, так как скорее всего у нас не будет доступ к DHCP серверу. Далее можно подключаться к машинам по сетевому пути.
Копирование файлов в Hyper V через виртуальный диск
Этот способ заключается в подключении виртуального диска отключенной ВМ. Мы можем создать новый диск или использовать системный диск операционной системы. Я крайне не рекомендую использовать этот способ, так как в случае существования чекпоинтов/снэпшотов на этой ВМ или если вы забудете размонтировать диск, это может привести к необратимым последствиям.
Вы можете создать диск воспользовавшись статьей «Создание виртуальных дисков в Hyper V». Папку, где лежит виртуальный диск можно увидеть через настройки виртуальной машины:
Если путь заканчивается на avhdx, то вы используете контрольную точку. Для монтирования диска нужно перейти по пути и выбрать Mount у vhd/vhdx файла:
В моем случае появилось два раздела, так как это системный диск. Для размонтирования дисков нужно кликнуть по разделу и нажать Eject.
Если хотите выполнить команду через Powershell, то это можно сделать так:
Командлет выше подразумевает, что у вас подключен один диск. В случае нескольких дисков запустите:
Копирование в Hyper V используя буфер обмена с RDP
Последний способ подключения работает через «Подключению к удаленному рабочему столу» или RDP. Для такой возможности копирования, кроме открытых портов и включенной возможности в свойствах компьютера дополнительных требований нет. Так же стоит проверить галочку в свойствах подключения RDP:
Вы так же можете почитать как настроить RDP в Powershell.
Источник
Общий каталог на хосте Windows Hyper-V с виртуальной машиной Ubuntu
Только что установил Hyper-V на Windows 8 и гостевую ОС Ubuntu 12.04.
Исходя из VirtualBox, я ищу лучший способ для совместного использования каталога на хосте / Windows с гостевой Ubuntu.
Я прочитал это: https://stackoverflow.com/a/1386764/913295 и я знаком с самбой. Поскольку этот вопрос не относится к Hyper-V, я поднимаю этот вопрос здесь.
Плохая новость заключается в том, что, в отличие от VirtualBox или VMWare, который позволяет вам определять «Общие папки», которые являются каталогами на вашем хосте, которые доступны гостю, Windows 8 Hyper-V вообще не предоставляет такую функцию.
Хорошая новость заключается в том, что, поскольку в Hyper-V нет такой функции, как «из коробки», для нее не понадобятся специальные инструменты, например, для монтажа. vboxsf файловые системы. Вы просто проходите официальный / стандартный путь, получая доступ к общим папкам вашего хоста как к сетевым общим папкам.
smbclient командная строка SMB/CIFS клиенты для Unix, это инструмент командной строки для доступа к общим папкам хоста Windows. Ниже приведены два примера, которые я нашел. Опять же, ничего особенного, доступ к нему так же, как и к любым другим общим сетевым папкам Windows.
Я отправлю репост в разделе «Настройка общей папки» по второй ссылке:
Нам нужно поделиться папкой на хосте с гостем. Гость может смонтировать это при загрузке. В этом уроке я предполагаю, что мы делимся им из этого места %USERPROFILE%\workspace
В ВМ отредактируйте /etc/fstab :
Кроме того, добавьте файл учетных данных для монтирования для работы. Поместите туда следующее содержание:
Это должно быть так.
Дополнительные ссылки для монтажа на основе графического интерфейса:
Если сначала это не сработало, попробуйте сначала с клиентом на базе Windows получить доступ к общим папкам хоста. Опять же, ничего особенного, доступ к нему так же, как и к любым другим общим сетевым папкам Windows. То есть, некоторые инструкции говорят, что вы «Должен быть создан внутренний виртуальный коммутатор через диспетчер виртуальных коммутаторов» использовать общий ресурс хоста, в этом нет необходимости, и он вообще не дает никаких преимуществ / преимуществ, поскольку мы просто обращаемся к нему как к обычной общей сетевой папке Windows. Напомним, вот шаги:
На хосте Hyper-V создайте общую папку и назначьте всем пользователям разрешение на изменение.
На виртуальной машине, работающей на хосте, откройте Центр управления сетями и общим доступом и включите общий доступ к файлам и принтерам.
На виртуальной машине нажмите Пуск и введите \\host_name\share_name где host_name имя вашего хоста Hyper-V и share_name это имя общего ресурса, который вы создали.
Нажмите клавишу ВВОД, и в виртуальной машине откроется окно проводника, отображающее содержимое общей папки на хосте.
Теперь вы можете копировать файлы с виртуальной машины на хост и наоборот при необходимости.
Источник
Shared Folders over Hyper-V Ubuntu Guest
To make sure we are all on the same page, we are running the following steps on a Windows 10 Pro host system with a Ubuntu 18.04 LTS running as a guest inside Hyper-V.
Starting a file share
In your Start Menu search for “Turn Windows Features on or off”. Once you find that, open it up and check the SMB 1.0 and SMB Direct boxes, as shown below:
Click OK, and wait for the changes to take place. If it asks you to reboot the system, do that. Also search for “Advanced Sharing Settings” in the Start Menu and verify that Sharing is Turned On like so:
If it isn’t, check the box that does switch it on and save the changes.
Once that is done, let’s create a Folder in which we will keep our shareable contents. We will name ours MySharedFolder. Right-click on this new folder, go to Properties → Sharing and Click on Share.
It will ask you about which users you might want to share this folder with. By default, your username will be selected, let’s leave it at that, for security reasons. Here you can see a dummy user name WitchKing is being used. If you want to add more users feel free to do so.
Next, Click on Share which would require you to have administrative privileges and you will be given the Network Path of the folder in the next Window.
As you can see the path is \\ANGMAR\MySharedFolder in this case. Usually, it will follow the same \\PCName\Shared_Folder_Name format. Backslashes are used to separate different directories while prescribing paths in Windows. On our Linux guest we will replace the backslashes to forward one like so //PCName/Shared_Folder_Name
So far, so good. Now the question is how do we access this from our Linux Guest?
Guest to Host Networking
To access the contents of the shared folder, both the guest and host network should be on the same network. If you are using the Default Switch option by Hyper-V to provide connectivity to your Guest, then your VM can talk to the main Windows installation and we have nothing to worry about.
In the Hyper-V manager screen go to your Ubuntu virtual machine settings and verify that the Default Switch is used for connectivity.
While this may work with both Internal and External Switch (two virtual switches offered by hyper-V) it is important to note that both the host and guest must be on same network for SMB/CIFS file sharing to work.
Mounting the Shared Folder on Guest
Start your Guest OS, which in our case is Ubuntu. Open up the terminal and install a simple cifs-client.
Next, you need to decide where in the file system would you like to mount the shared folder. In our case, we would mount it in a new directory called SharedFolder which lives inside the home directory.
Okay, so now as the final step, you need to mount the folder. Remember that when we created the file share in our host we got a network path for the folder which was \\ANGMAR\MySharedFolder while yours may differ, the one thing that would remain the same is the backslashes used by Windows which you need to turn into forward slashes while specifying on Linux.
Also since we shared it with only one Windows user (yourself) you need to tell Linux what your Windows user name is so it can authenticate against that name.
/ SharedFolder -o user = YOUR WINDOWS USERNAME >
For instance, in the above example, the path assigned to the folder, by Windows was as shown below:
To mount this folder on the path
/SharedFolder I would need to run:
/ SharedFolder -o user =WindowsUserName
You will be prompted for sudo password (if you are not running as root), in which case enter the password for your Linux user and you will be prompted for the password to access the remote folder, in which case, enter the Windows user’s password.
That should do the trick! Now you can go to the path
/SharedFolder and see the contents that are in the shared by your host OS. You can tweak the file permissions to prohibit the VM to modify files. Hope, you enjoyed this tutorial and learned something useful from it!
Let us know if there’s any issue that you are facing with Hyper-V or any other virtualization related topic that you want us to cover!
About the author
Ranvir Singh
I am a tech and science writer with quite a diverse range of interests. A strong believer of the Unix philosophy. Few of the things I am passionate about include system administration, computer hardware and physics.
Источник