52

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

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

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

7 ответов7

40

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

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

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

15

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

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

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

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.

4

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

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

$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, мне просто нужно было скопировать некоторые файлы гостю.

0

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

-2

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

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


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

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


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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .