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

Обновената Hyper-V роля, въведена в Windows Server 2012 R2 и Windows 8.1, въведе възможността директно да копира файлове от хоста на Hyper-V във виртуалната машина, без да използва мрежови интерфейси. Тази функционалност се реализира с помощта на нова услуга в гост операционната система, наречена Услуги за гости, част от интеграционните компоненти на Hyper-V (Интеграционни услуги).


Така че, за да се възползвате от възможността за директно копиране на файлове на виртуална машина с хост операционна система Hyper-V, трябва да инсталирате най-новата версия на интегриращите компоненти (версия на Integration Services не по-ниска от 6.3.9600.16384) във VM и да активирате услугите за гости на него.

Услуги за гости ви позволява да копирате файлове между хост хипервизора (компютър с ролята на Hyper-V) и виртуалната машина, работеща на него, без да използвате мрежови компоненти. Процес на копиране чрез високоскоростна вътрешна шина vmbus (Virtual Machine Bus), директно свързваща хипервизора и виртуалната машина. Благодарение на това администраторът може да копира всеки файл във виртуалната машина и няма значение в коя мрежа е включена виртуалната машина, независимо дали е свързан изобщо към виртуалния превключвател или е в изолирана мрежа.

забележка. В предишните версии на Hyper-V, за да копирате файл във виртуална машина от Hyper-V сървър, трябваше да конфигурирате rdp връзка, споделени папки чрез допълнителна вътрешна мрежа или споделени vhd файлове. Освен това не бъркайте копирането на файлове чрез услуги за гости с възможността да копирате файлове през разширения режим на протокола rdp - Enchanted Session Mode.

Услугите за гости за виртуални машини са деактивирани по подразбиране. Можете да го активирате чрез GUI на конзолата Hyper-V в свойствата на виртуалната машина (в секцията за услуги за интеграция) или с помощта на Powershell.

Проверете дали услугите за гости са активирани за виртуалната машина чрез:

Get-VMIntegrationService -VMName HV2012R2 -Име "Интерфейс за гост"

В този пример услугата е деактивирана: Интерфейс за обслужване на гости: Неверно.

За да активирате услугата, използвайте следната команда:

Активиране-VMIntegrationService -VMName "HV2012R2" -Наименование "Интерфейс за гост" -ErrorAction Продължете

Hyper-V услугата за гости трябва да работи във виртуалната машина, нейният статус може да бъде получен, както следва:

Интерфейс за получаване на услуга

След като услугата за интегриране на гостната услуга е активирана, можете да използвате специалния командлет Copy-VMFile, за да копирате всеки файл, разположен директно от файловата система на сървъра Hyper-V във виртуалната машина. За да копирате файла в съществуваща папка в гост операционната система, изпълнете командата на сървъра:

Копиране-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 ви позволява да копирате само един файл наведнъж. За да копирате цялото съдържание на папка, можете да използвате тази конструкция:

Get-ChildItem C: \ Scripts -Recurse -File | % Copy-VMFile "HV2012R2" -SourcePath $ _. FullName -DestinationPath $ _. FullName -CreateFullPath -FileSource Host

Можете да деактивирате услугите за гости по следния начин:

Get-VMIntegrationService -VMName "HV2012R2" -Наименование "Интерфейс за гости" | Disable-VMIntegrationService -Passthru

Така че, благодарение на услугите за гости, администраторът на Hyper-V може директно да копира всеки файл в ОС на гостите на виртуалната машина.