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

56

При запуске Hyper-V и виртуальной машины (также с современной ОС Windows), действительно ли невозможно копировать / вставлять файлы между хостом и виртуальными машинами? Кажется, даже не текст, хотя есть странная опция «type clipboard text», которая, кажется, работает только время от времени.

Я должен что-то упустить.

Я запускаю Windows 8.1 в качестве хоста и Windows 7 в виртуальной машине, если это имеет значение.

Kjensen
источник
4
Я бы просто использовал RDP и копировал файлы таким образом.
Оптичип
Тренер Microsoft сказал мне, что Server 2012 R2 поддерживает копирование-вставку, поэтому я ожидаю, что Windows 8.1 также сделает это. У вас установлено обновление 1 на хосте (не уверен, требуется ли оно, просто спрашиваю)? Что еще более важно, вы установили последние компоненты интеграции в ВМ?
Сельдерей Человек
Я просто использую стандартные ресурсы Windows. Я не пользуюсь AD, но все мои учетные записи имеют пароли, поэтому мне не нужно делать никаких хаков групповой политики. Это просто работает.
Дэвид Бетц
Да , вы можете копировать / вставить - совместное использование сети Использование
ToolmakerSteve
При подключении к ВМ появляется всплывающее окно с настройкой дисплея. Если вы нажмете Показать параметры> Локальные ресурсы> Еще .., вы можете выбрать диск на хост-компьютере, который будет виден на виртуальной машине.
Роман О

Ответы:

16

Лучшими вариантами являются обычная старая сетевая копия и удаленный рабочий стол, который вместо этого допускает полную передачу в буфер обмена.

RDP может стать довольно нестабильным, если вы попытаетесь скопировать большие файлы поверх него, поэтому, если требуется передача больших файлов, я бы порекомендовал сеть; если вам просто нужно скопировать / вставить текст, RDP отлично работает.

Конечно, чтобы оба варианта работали, вам нужно, чтобы гостевая система была подключена к вашей сети и имела правильные настройки TCP / IP.

Massimo
источник
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
DavidPostill
1
@ToolmakerSteve Правильное место для этих ссылок в вашем собственном ответе, а не в качестве комментария к другому ответу. И, пожалуйста, уважайте «Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат».
DavidPostill
42

Вот быстрый и простой способ получить эту работу эффективно:

  • Если вы используете виртуальную машину, сначала отключите ее.
  • найдите файл образа вашего виртуального жесткого диска .vhd вашей виртуальной машины
  • Щелкните правой кнопкой мыши по этому файлу и выберите mount
  • Это даст "System Reserved" и "Local Disk" диски.
  • Откройте диск «Локальный диск» (это диск ОС на ВМ)
  • Пойди туда и вставь свои файлы.
  • Наконец размонтировать или извлечь один из драйверов
  • Запустите виртуальную машину и перейдите на диск c: \, и вы найдете свои файлы.

Надеюсь, это поможет кому-то :)

Хазем Абдель Вахаб
источник
2
Чтобы быть справедливым, это дает вам способ для копирования файлов на виртуальную машину с хоста. Это может быть не через буфер обмена, но иногда со старыми гостевыми ОС могут потребоваться сложные маршруты, подобные этому.
AdamH
2
Это смешно. Я не могу выключать гостевую виртуальную машину время от времени.
Благословенный Компьютерщик
2
@BlessedGeek Вы можете сделать это, не выключая виртуальную машину, если вместо этого вы используете отдельный виртуальный жесткий диск из системного диска виртуальной машины и подключаете его к гостевому контроллеру SCSI, что позволяет монтировать его во время работы гостевой системы. Вы все еще не можете установить его на хосте и госте одновременно.
Шамбулатор
2
Я мог также переместить мою машину по улице, полностью разобрав ее, переместив ее по частям и собрав в другом месте. Но о эффективность ...
Brain2000
1
Осторожно Это повредило мой диск, когда я пытался - я думаю, потому что у меня были снимки. VHD стал не синхронизирован с дифференцирующим приводом. К счастью, следующая ссылка помогла мне восстановиться с помощью Set-VHD с «ignoreidmismatch»: chentiangemalc.wordpress.com/2017/06/15/…
Стив С.
9

Согласно этому ответу StackOverflow это делает независимо от того , что гость ОС:

ESM работает только с виртуальными машинами Windows 8.1 и Windows Server 2012 R2. Поскольку вы используете виртуальную машину Win7, ESM не будет доступен.

Хотя принятый здесь ответ говорит, что нет способа скопировать и вставить что-либо, я могу сделать это между моим хостом Windows 8.1 и Windows 10 Tech Preview, запущенным в Hyper-V с ESM. Мне еще предстоит найти документацию по Windows 8.1, в которой это объясняется, но для Server 2012R2 см. Эту статью TechNet .

Изменить: я нашел это очень практическое руководство по ESM, в котором разъясняется, что вам также нужны версии Pro или Enterprise.

Ян В.
источник
Подтверждено, что это было (наконец) введено в Windows 8.1. Он был недоступен, когда я опубликовал свой ответ, и он был принят.
Массимо
1
Подтверждено. Убедитесь, что вы используете «Расширенный сеанс», а не «Базовый сеанс».
Джимсон Каннантхара Джеймс
4

Это можно сделать через Powershell.

Сначала создайте сессию с New-PSSessionHOST:

$s = New-PSSession -VMName <VMName> -Credential (Get-Credential)

Затем из HOST скопируйте файл с Copy-Itemпомощью сеанса:

Copy-Item -ToSession $s -Path C:\host_path\data.txt -Destination C:\guest_path\

Подробности смотрите в разделе Копирование файлов с помощью New-PSSession и Copy-Item .

коричневый
источник
3

Вы можете «записать» ваши файлы в файл ISO на хосте и смонтировать ISO на гостевой.

Windows не может создавать ISO-образы изначально, но вы можете использовать что-то вроде * InfraRecorder (лицензию GNU GPL) для создания ISO.

Если вы в конечном итоге используете InfraRecorder, действие создания ISO будет скрыто в верхнем меню:

Действия> Записать компиляцию> на образ диска ...


* Я не имею отношения к InfraRecorder, мне просто нужно было скопировать некоторые файлы гостю.

Джейн Панда
источник
1

У меня есть странная проблема с копированием вставки в Hyper-V, где я могу скопировать вставку после запуска виртуальной машины, но если я выйду из ОС виртуальной машины и снова войду в нее как другой пользователь, вставка копии не будет работать. Я обнаружил, что тик расширенного сеанса в окне «Подключение к виртуальной машине» снимался либо вскоре после входа в систему, либо во время переключения между пользователями в ВМ. Я снова включил отметку Enhanced Session, и после этого функция копирования и вставки в Hyper-V снова работает.

gakera
источник
Да, просто закройте и снова откройте виртуальную машину, сработавшую для меня. Не знаю, почему все эти посты о монтировании дисков / RDP ... он должен просто работать с обычными / стандартными настройками на ВМ. Дважды проверьте настройки при запуске подключения к виртуальной машине.
Дон Чидл
-2

ПРИМЕЧАНИЕ. Вопрос состоит из двух частей. Первая часть спрашивает "Как скопировать-вставить файлы". Это ответ на эту часть вопроса . (ВТОРАЯ часть спрашивает, как скопировать / вставить текст; например, операция с буфером обмена . Этот ответ НЕ об этом.)

Также смотрите эти другие ответы , относящихся к копировать / вставлять файлы в определенных ситуациях:
Для ESM-совместимых виртуальных машин
Для первоначальной настройки перед началом VM


Файлы могут быть скопированы / вставлены между MAC и ПК, или блоком LINUX и ПК, и такая же техника может использоваться между виртуальной машиной (даже с использованием «Версии 1», для запуска более старой Windows, в моем случае Windows 7). ) и его хост-компьютер.
Как? Совместное использование сети ака "Поделиться папкой по сети".

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


  • Диспетчер Hyper-V - диспетчер виртуальных коммутаторов.
    • Создать виртуальный коммутатор / внешний
  • Hyper-V / Ваша ВМ / Настройки
    • Сетевой адаптер / виртуальный коммутатор = внешний виртуальный коммутатор сверху
  • Загрузите свою виртуальную машину, войдите с учетной записью администратора.
  • Делайте то, что вы обычно делаете, чтобы «поделиться папкой по сети». (См. Документацию для ОС, на которой вы работаете на ВМ.) В моем случае я поделился своим именем пользователя / папкой Documents. укажите права на чтение / запись, если вы хотите копировать файлы в эту папку и из нее
  • Хост-машина / Проводник Windows / Сеть / Ваша виртуальная машина должна появиться с этой общей папкой.
    • Выберите вашу виртуальную машину (ее представление «Сеть») и войдите в систему с учетной записью администратора вашей виртуальной машины.
    • Скопируйте / Вставьте файлы в этом окне проводника на вашем хосте.

ПРИМЕЧАНИЕ. Я проверил только свою учетную запись пользователя / папку «Документы», поэтому не знаю, существуют ли ограничения на то, что можно использовать совместно. Я предполагаю, что он работает точно так же, как и любой другой сетевой ресурс из виртуальной ОС, поэтому не должно иметь значения, что он виртуальный. Это просто еще одна машина в вашей сети, на которой установлена ​​эта ОС.

Я также не проводил тестирование на виртуальной машине Linux, однако я проводил тестирование на Windows 7 с виртуальной машиной «Версия 1», которая работает, поэтому любая ОС, которая может работать под Hyper-V и которая поддерживает совместное использование сети с Windows, должна работать. ,

ToolmakerSteve
источник