Jak skopiować pliki na serwer Hyper-V i do maszyn wirtualnych: 7 metod
Hyper-V to hiperwizor działający w systemie Windows, którym można zarządzać zarówno bezpośrednio na komputerze, na którym jest zainstalowany, jak i zdalnie. Często zachodzi potrzeba kopiowania plików na serwer Hyper-V oraz z serwera na maszyny wirtualne. Nie można po prostu przeciągać i upuszczać plików na maszyny wirtualne Hyper-V, dlatego należy skorzystać z innych metod kopiowania plików.
Na przykład podczas tworzenia nowej maszyny wirtualnej w Hyper-V konieczne jest zainstalowanie na niej systemu operacyjnego. Zazwyczaj odbywa się to poprzez zamontowanie obrazu instalacyjnego ISO nośnika systemu operacyjnego. Aby przenieść nośnik na host Hyper-V, należy skopiować plik ISO na host i zainstalować system operacyjny gościa na nowej maszynie wirtualnej Hyper-V.
Ten wpis na blogu przedstawia 6 metod kopiowania plików do maszyn wirtualnych Hyper-V oraz na serwer Hyper-V. Należy pamiętać, że te metody kopiowania plików na serwer Hyper-V mogą być również wykorzystane w innych scenariuszach, takich jak kopiowanie plików z hosta Hyper-V do maszyn wirtualnych.
Metoda 1: Jak skopiować pliki za pomocą udziału plików na hoście Hyper-V
Metoda ta polega na utworzeniu udziału plików na hoście Hyper-V oraz skopiowaniu obrazu ISO lub innych plików do tego udziału SMB. Protokół Protokół SMB jest natywnym protokołem udostępniania w systemie Windows, ale jest również obsługiwany w systemie Linux i innych systemach operacyjnych.
Można również użyć tej metody do kopiowania plików na serwer Hyper-V z dowolnej maszyny fizycznej lub wirtualnej, jeśli nawiązano połączenie sieciowe.
- Włącz regułę zapory, aby zezwolić na przychodzące połączenia SMB dla komputera z uruchomionym Hyper-V. Aby włączyć
file and printer sharingw zaporze, uruchom następujące polecenie na hoście Hyper-V:
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
Uwaga: Możesz skonfigurować udział plików SMB z odpowiednimi uprawnieniami dla potrzebnych użytkowników i udostępnić tylko potrzebny folder.
- Jeśli masz graficzny interfejs użytkownika (GUI) na swoim komputerze z systemem Windows, połącz się ze zdalnym udziałem plików na hoście Hyper-V, wpisując ścieżkę udziału w pasku adresu okna Eksploratora Windows. W tym przykładzie używamy ukrytego udziału systemowego C$, który jest domyślnie włączony na wszystkich komputerach z systemem Windows do celów administracji. Podobnie można połączyć się z innymi woluminami, takimi jak D$, E$ itp.
10.10.10.31c$
Uwaga: Pliki są przechowywane na dysku C: w celach demonstracyjnych. Zaleca się użycie innej dedykowanej partycji na pliki maszyn wirtualnych, obrazy ISO, udziały plików i inne dane niesystemowe.
- Przejdź do katalogu, w którym chcesz przechowywać obrazy ISO lub w którym znajdują się inne pliki, które chcesz skopiować. Możesz utworzyć ten katalog teraz, jeśli jeszcze nie został utworzony. W naszym przypadku pliki ISO znajdują się w C:ISO_1 na naszym hoście Hyper-V, a ścieżka sieciowa to 10.10.10.31c$ISO_1
Jeśli chcesz użyć interfejsu wiersza poleceń, możesz zamapować udział plików SMB jako dysk sieciowy za pomocą polecenia:
Net use * 〈your hyper-v host〉d$
Na przykład:
net use S: 10.10.10.31d$
Uwaga: To polecenie można uruchomić w CMD lub PowerShell na kliencie lub serwerze, na którym znajdują się dane, które chcesz przenieść do Hyper-V.
- Skopiuj potrzebny plik ISO (lub inne pliki) z komputera lokalnego (w naszym przypadku: C:datashared01 ) na host Hyper-V, korzystając z tej ścieżki sieciowej:
- . Po skopiowaniu obrazu ISO na serwer możemy skierować napęd DVD na plik obrazu i przejść do folderu, który utworzyliśmy w katalogu głównym dysku (C:).
- Po zakończeniu kopiowania wszystkich potrzebnych plików na host Hyper-V można wyłączyć połączenia przychodzące w zaporze systemu Windows na hoście Hyper-V ze względów bezpieczeństwa. Możemy wyłączyć reguły zapory dotyczące udziału plików i drukarek, które zezwoliliśmy powyżej, jeśli zdecydujemy się to zrobić, po prostu zmieniając
YesnaNow poleceniu PowerShell.
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=No
Metoda 2: Jak skopiować pliki na serwery Hyper-V przy użyciu jednego udziału plików
Jeśli w środowisku znajduje się wiele hostów Hyper-V, konfiguracja udziału plików na każdym z nich i kopiowanie obrazów ISO na wszystkie te hosty może być uciążliwe. Ponadto wykorzystywanie przestrzeni dyskowej na wielu hostach dla tych samych obrazów ISO może być nieracjonalne.
Można skonfigurować udział plików na innym serwerze, na przykład na serwer plików lub urządzenie NAS i przechowywać tam wszystkie potrzebne obrazy ISO. Wystarczy skonfigurować udział plików raz, skonfigurować dostęp dla hostów Hyper-V i korzystać z potrzebnych obrazów ISO przechowywanych w jednym miejscu dla wszystkich hostów.
Ta metoda jest wygodna, jeśli wszystkie używane maszyny są członkami domeny Active Directory.
Jeśli chcesz użyć tej metody do przesyłania plików między hostem Hyper-V a systemem operacyjnym gościa maszyny wirtualnej, musisz skonfigurować przełącznik wirtualny w ustawieniach Hyper-V i ustawić wymagany tryb sieciowy.
Jeśli musisz skopiować pliki na maszynę wirtualną z systemem operacyjnym gościa Linux, masz inną opcję oprócz użycia protokołu SMB. Możesz użyć SSH do bezpiecznego przesyłania plików Hyper-V przez sieć.
Metoda 3: Przesyłanie plików Hyper-V przez RDP
Jeśli serwer Hyper-V działa na komputerze z systemem Windows z interfejsem graficznym, możesz połączyć się z tym hostem przez RDP (Remote Desktop Protocol) i podłączyć lokalne dyski swojego komputera, aby skopiować potrzebne pliki. Aby to zrobić, musisz włączyć połączenia pulpitu zdalnego na serwerze docelowym.
Możesz użyć tej metody do kopiowania plików na serwer Hyper-V z innego fizycznego lub wirtualnego komputera z systemem Windows.
- Aby włączyć połączenia pulpitu zdalnego, przejdź na stronę
Start>Settings>System>Remote Desktopi włącz opcjęRemote Desktop. - Uruchom klienta pulpitu zdalnego systemu Windows, który znajduje się pod adresem
%windir%system32mstsc.exe
Wpisz mstsc w wierszu poleceń lub w oknie dialogowym Run i naciśnij przycisk Enter.
- Wprowadź adres IP lub nazwę hosta komputera zdalnego (w naszym przykładzie jest to host Hyper-V o adresie IP 10.10.10.31 ) oraz nazwę użytkownika. Nazwę użytkownika można wprowadzić w pełnym formacie ( domainuser lub computeruser ).
- Przejdź do
Local Resourceszakładki i kliknijMore.
- Wybierz zasoby lokalne, które chcesz zmapować z komputera na host zdalny (w naszym przykładzie hostem zdalnym jest host Hyper-V). Rozwiń
Drivesi wybierz potrzebny dysk. Potrzebne pliki znajdują się na dyskuE:na naszym komputerze i z tego powodu wybieramy dyskE:do zamapowania dla naszego połączenia RDP. - Kliknij
OK, aby zapisać ustawienia, a następnie kliknijConnect.
Po nawiązaniu sesji pulpitu zdalnego otwórz My Computer lub This PC w Eksploratorze Windows na komputerze zdalnym. Powinieneś zobaczyć zamapowany dysk z komputera lokalnego, który jest zamapowany na komputerze zdalnym (E on SERVER01-DC na zrzucie ekranu poniżej). Przejdź do potrzebnych plików na tym zamapowanym dysku i skopiuj je na swój host Hyper-V.
Ta metoda działa również w przypadku maszyn wirtualnych, jeśli są one podłączone do sieci.
Metoda 4: Przesyłanie plików Hyper-V za pomocą polecenia cmdlet PowerShell
PowerShell 4.0 i nowsze wersje zawierają przydatne polecenie cmdlet, które pozwala kopiować pliki z hosta Hyper-V na maszynę wirtualną bez połączenia sieciowego między hostem a gościem maszyny wirtualnej i bez konieczności konfigurowania zapory sieciowej.
Przyjrzyjmy się więc, jak skopiować pliki na maszynę wirtualną Hyper-V w PowerShell bez korzystania z sieci.
- Włącz Usługi gościa na maszynie wirtualnej. Usługi integracji muszą być zainstalowane w systemie operacyjnym gościa maszyny wirtualnej.
Usługi gościa są częścią Usługi integracji Hyper-V, ale nie są domyślnie włączone. Aby włączyć usługi gościa, otwórz VM settings, wybierz Integration Services w lewym panelu okna ustawień maszyny wirtualnej i zaznacz pole wyboru Guest services .

Włącz Usługi gościa dla maszyny wirtualnej w PowerShell: Enable-VMIntegrationService -VMName VM1 -Name 'Guest Service Interface'
- Możesz sprawdzić, czy funkcja Usługi gościa jest włączona w PowerShell:
Get-VMIntegrationService -name Guest* -VMName VM1,VM2
Gdzie VM1,VM2 to nazwy maszyn wirtualnych
- Jeśli status to Brak połączenia , musisz zaktualizować maszynę wirtualną i zainstalować Usługi integracji w systemie operacyjnym gościa.
- Jeśli status to False , możesz włączyć wymagany interfejs usług gościa:
Enable-VMIntegrationService -name Guest* -VMName win10preview -Passthru
- Użyj poniższego polecenia do przesyłania plików Hyper-V z hosta Hyper-V do maszyny wirtualnej gościa, ustawiając ścieżkę źródłową na hoście Hyper-V i ścieżkę docelową na maszynie wirtualnej:
Copy-VMFile "VMName" -SourcePath "F:Test.txt" -DestinationPath "C:TempTest.txt" -CreateFullPath -FileSource Host
Gdzie:
- VMname to nazwa maszyny wirtualnej, do której kopiujesz plik (nazwę maszyny wirtualnej można sprawdzić w Menedżerze Hyper-V; nie jest to nazwa hosta maszyny wirtualnej wyświetlana w systemie operacyjnym gościa).
- SourcePath to ścieżka do pliku źródłowego na hoście Hyper-V (pliku, który chcesz skopiować).
- DestinationPath to ścieżka do pliku docelowego na maszynie wirtualnej Hyper-V (miejsce, do którego chcesz skopiować potrzebny plik).
- Polecenie -CreateFullPath służy do utworzenia pełnej ścieżki wraz ze wszystkimi potrzebnymi folderami, jeśli jeszcze nie istnieją.
W naszym przykładzie dokładne polecenie PowerShell do przesyłania plików Hyper-V z hosta do gościa maszyny wirtualnej Hyper-V brzmi:
Copy-VMFile "VM2" -SourcePath "C:tempfile01.txt" -DestinationPath "C:Temp1file01.txt" -CreateFullPath -FileSource Host
Uwaga: cmdlet Copy-VMFile działa tylko w kierunku od hosta Hyper-V do maszyny wirtualnej.
Metoda 5: Montowanie dysku VHDX na hoście i gościu
Ideą tej metody jest utworzenie dysku wirtualnego VHDX, który można zamontować zarówno na hoście Hyper-V, jak i na maszynie wirtualnej. Można skopiować potrzebne pliki na ten dysk wirtualny, zamontować dysk na potrzebnej maszynie i kopiować pliki na/z dysku wirtualnego.
W naszym przykładzie używamy systemu Windows Server 2019. Tworzenie dysku wirtualnego VHDX jest dostępne w Zarządzanie komputerem , nie tylko w Menedżer Hyper-V podczas konfiguracji maszyn wirtualnych.
- Otwórz okno
Computer Management. Można to zrobić, naciskającWin+Rw celu otwarcia okna dialogowegoRuni uruchomienia poleceniacompmgmt.msc. - Przejdź do
Storage>Disk Managementw oknie Zarządzanie komputerem . - Kliknij prawym przyciskiem myszy
Disk Managementi w menu kontekstowym kliknijCreate VHD.
- Otworzy się nowe okno służące do tworzenia dysku wirtualnego.
- Określ lokalizację wirtualnego dysku twardego na hoście Hyper-V, na przykład C:Hyper-Vdata-temp
- Ustaw rozmiar wirtualnego dysku twardego. Tworzymy wirtualny dysk twardy
8-GBw celach demonstracyjnych. - Wybierz format wirtualnego dysku twardego. Wybieramy
VHDXjako nowszy format. Przeczytaj VHD a VHDX , aby dowiedzieć się więcej o różnicach. - Wybierz typ wirtualnego dysku twardego. Wybieramy
Dynamically expanding, aby oszczędzać miejsce na dysku, dopóki nie zostanie on zapełniony danymi. - Kliknij
OK, aby zapisać ustawienia i zamknąć okno.
Alternatywnie, oto przykład polecenia do utworzenia wirtualnego dysku VHDX w PowerShell:
New-VHD -Path C:Hyper-Vdata-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB
Polecenie do zamontowania dysku wirtualnego VHD w PowerShell:
mount-VHD -path C:Hyper-Vdata-temp.vhdx
Wirtualny dysk twardy został utworzony na naszym hoście Hyper-V.
- Kliknij prawym przyciskiem myszy ten wirtualny dysk twardy VHDX w
Disk Managementi kliknijInitialize Disk.
Alternatywnie, jeśli wolisz używać PowerShell, wyświetl listę wszystkich zamontowanych dysków, aby zidentyfikować numer potrzebnego dysku wirtualnego przed inicjalizacją:
Get-Disk
- Twój dysk zostanie automatycznie wybrany. Wybierz styl partycji. Używamy
MBR(Master Boot Record) dla lepszej kompatybilności. KliknijOK.
Alternatywnie, polecenie dla tych, którzy używają PowerShell, zawiera numer dysku wirtualnego i styl partycji:
Initialize-Disk 1 -PartitionStyle MBR
- Utwórz nowy wolumin (partycję) na dysku wirtualnym, który został zainicjowany na hoście Hyper-V. Ta partycja będzie również widoczna w maszynie wirtualnej Hyper-V (lub Linux, który może pracować z systemami plików NTFS).
Kliknij prawym przyciskiem myszy wolumin o rozmiarze 8 GB i wybierz opcję „ New Simple Volume ” z menu kontekstowego.

- Otworzy się kreator „ ” . Kliknij „
Next”. - Określ rozmiar woluminu. Wykorzystaj cały rozmiar dysku dla tego woluminu.
- Przypisz literę dysku, na przykład H:
- Sformatuj partycję. Wybierz system plików NTFS, pozostaw domyślny rozmiar jednostki alokacji i wprowadź etykietę woluminu (na przykład Copy-Files ). Zaznacz pole wyboru
Perform a quick format.
Alternatywnie możesz użyć tych poleceń PowerShell do utworzenia i sformatowania woluminu:
New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter
Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force
- Po zakończeniu pracy kreatora powinieneś zobaczyć zamontowany dysk wirtualny w Eksploratorze Windows na komputerze hosta Hyper-V.
- Skopiuj potrzebne pliki na partycję znajdującą się na dysku wirtualnym. Kopiujemy file01.txt , jak pokazano na poniższym zrzucie ekranu.
- Po skopiowaniu wszystkich potrzebnych plików na dysk wirtualny musimy odmontować ten dysk z naszego hosta Hyper-V.
Kliknij prawym przyciskiem myszy odpowiednią partycję zamontowaną z dysku wirtualnego VHDX i wybierz Eject z menu kontekstowego.
Alternatywnie, polecenie odmontowania dysku wirtualnego z komputera hosta w PowerShell:
dismount-VHD -path C:Hyper-Vdata-temp.vhdx
- Można zamontować ten dysk wirtualny utworzony do przesyłania plików Hyper-V z hosta Hyper-V do gościa i odwrotnie. Zamontujmy dysk wirtualny z zapisanymi plikami do maszyny wirtualnej.
- Wybierz potrzebną maszynę wirtualną i otwórz
VM Settingsw Menedżerze Hyper-V. - Wybierz potrzebny kontroler dysku wirtualnego w lewym panelu okna ustawień maszyny wirtualnej.
- Wybierz
Hard Drivei kliknijAdd.
- Wybierz
Virtual hard diski kliknijBrowse, aby dodać istniejący wirtualny dysk twardy do maszyny wirtualnej. - Określ ścieżkę do pliku VHDX. W naszym przypadku ścieżka to C:Hyper-Vdata-temp.vhdx
- Kliknij
OK, aby zapisać ustawienia.
Alternatywnie, oto polecenie PowerShell służące do dodania istniejącego wirtualnego dysku twardego do konfiguracji maszyny wirtualnej Hyper-V:
Add-VMHardDiskDrive -VMName VM2 -Path C:Hyper-Vdata-temp.vhdx
- Uruchom maszynę wirtualną z podłączonym dyskiem wirtualnym na hoście Hyper-V.
- Zaloguj się do systemu operacyjnego gościa i sprawdź, czy wolumin znajdujący się na dysku wirtualnym został zamontowany automatycznie. W przeciwnym razie przejdź do
Computer Management>Disk Managementi przypisz literę dysku do woluminu zawierającego pliki, które chcesz przenieść z hosta Hyper-V do maszyny wirtualnej. - Skopiuj potrzebne pliki z podłączonego dysku wirtualnego do maszyny wirtualnej.
Metoda 6: VMConnect z trybem rozszerzonej sesji
VMConnect, czyli Virtual Machine Connection, to wbudowane narzędzie Hyper-V do zarządzania maszynami wirtualnymi. Częścią narzędzia VMConnect jest ekran działający jako monitor dla maszyny wirtualnej, na którym widać, jak poruszasz się za pomocą klawiatury i myszy. Korzystanie z VMConnect w trybie rozszerzonej sesji jest wygodniejsze i zapewnia więcej funkcji.
Tryb rozszerzonej sesji pozwala dostosować rozdzielczość ekranu podczas łączenia się z maszyną wirtualną Hyper-V oraz podłączyć lokalne zasoby hosta, na którym uruchomiono Menedżera Hyper-V w celu zarządzania maszynami wirtualnymi. Zasoby lokalne są podłączane w podobny sposób, jak podczas korzystania z połączenia pulpitu zdalnego w celu uzyskania dostępu do zdalnego hosta lub maszyny wirtualnej.
Aby włączyć Enhanced session mode:
- Kliknij prawym przyciskiem myszy nazwę swojego hosta Hyper-V w Menedżerze Hyper-V, a następnie w menu kontekstowym wybierz opcję „
Hyper-V Settings”. - Kliknij „
Enhanced session mode” w lewym panelu. - Zaznacz pole wyboru „
Use enhanced session mode”.
Alternatywnie możesz włączyć tryb „ ” Enhanced session mode w PowerShell:
Set-VMHost -EnableEnhancedSessionMode $True
Gdy tryb „ ” Enhanced session mode zostanie włączony, a wszystko zostanie odpowiednio skonfigurowane w maszynie wirtualnej gościa i na serwerze Hyper-V, możesz uruchomić maszynę wirtualną i połączyć się z nią za pomocą VMConnect.
Jeśli włączony jest Tryb sesji rozszerzonej , powinno pojawić się okno wyboru rozdzielczości ekranu. W tym oknie kliknij Show Options .
Wybierz kartę Local Resources . W sekcji More Urządzenia lokalne i zasoby kliknij .
Wybierz dyski dostępne na hoście Hyper-V, które chcesz podłączyć do maszyny wirtualnej.
Metoda 7: Przesyłanie plików w Hyper-V przy użyciu obrazów ISO
Inna metoda kopiowania plików do maszyny wirtualnej Hyper-V jest podobna do korzystania z dysku wirtualnego VHDX. Jednak ta metoda działa tylko w jednym kierunku (kopiowanie plików Hyper-V do maszyny wirtualnej Hyper-V), a dostęp do plików z maszyny wirtualnej jest tylko do odczytu.
Jeśli masz aplikację, która może edytować i zapisywać pliki ISO będące obrazami płyt CD/DVD, możesz zapisać potrzebne pliki z hosta Hyper-V do obrazu ISO i wstawić ten obraz ISO jako wirtualny nośnik DVD do maszyny wirtualnej Hyper-V.
Jeśli chcesz skopiować rozruchowy obraz ISO do swojej maszyny wirtualnej (na przykład podczas testowania wirtualizacja zagnieżdżona), powinieneś utworzyć nowy pusty, nierozruchowy plik obrazu ISO i dodać do niego rozruchowy plik obrazu ISO. Następnie możesz skopiować rozruchowy obraz ISO z zewnętrznego pliku ISO włożonego do wirtualnego napędu DVD maszyny wirtualnej.
Wniosek
Niezależnie od metody kopiowania plików na serwer Hyper-V, nie zaleca się jej stosowania do tworzenia kopii zapasowych. Metody te nie są tak wydajne i niezawodne jak profesjonalne rozwiązania do tworzenia kopii zapasowych Hyper-V. Dzisiejsze rozwiązania do tworzenia kopii zapasowych maszyn wirtualnych Hyper-V, takie jak NAKIVO Backup & Replication, tworzą kopie zapasowe na poziomie hosta, które są niewielkie, szybkie i umożliwiają łatwe odzyskiwanie danych.





















