Hyper-Vサーバーおよび仮想マシンへのファイルのコピー方法:7つの方法

Hyper-V は Windows 上で動作するハイパーバイザーであり、インストールされたマシン上で直接管理できるほか、リモートからの管理も可能です。多くの場合、Hyper-V サーバーへのファイルのコピーや、サーバーから仮想マシンへのファイルのコピーが必要になります。Hyper-V 仮想マシンにはファイルをドラッグ&ドロップで直接移動することはできないため、他の方法を使用してファイルをコピーする必要があります。

たとえば、Hyper-V で新しい仮想マシンを作成する場合、その仮想マシンに OS をインストールする必要があります。 通常、これはオペレーティングシステムメディアのISOインストールイメージをマウントすることで行われます。 メディアを Hyper-V ホストに取り込むには、ISO ファイルをホストにコピーし、新しい仮想マシンにゲスト OS をインストールする必要があります。

このブログ記事では、Hyper-V 仮想マシンおよび Hyper-V Server にファイルをコピーする 6 つの方法を紹介しています。Hyper-V Server にファイルをコピーするこれらの方法は、Hyper-V ホストから仮想マシンにファイルをコピーする場合など、他のシナリオでも使用できます。

Hyper-V バックアップ用 NAKIVO

Hyper-V バックアップ用 NAKIVO

Hyper-V向けのエージェントレスかつアプリケーション認識型のバックアップ。ランサムウェア対策、バックアップからのVM即時起動、その他の仮想/物理プラットフォームへの対応など。

方法 1: Hyper-V ホスト上のファイル共有を使用してファイルをコピーする方法

この方法では、Hyper-V ホスト上にファイル共有を作成し、ISO イメージやその他のファイルをこの SMB ファイル共有にコピーします。 SMBプロトコル これはWindowsのネイティブ共有プロトコルですが、Linuxやその他のオペレーティングシステムでもサポートされています。

ネットワーク接続が確立されていれば、この方法を使用して、任意の物理マシンや仮想マシンからHyper-Vサーバーへファイルをコピーすることもできます。

  1. Hyper-V を実行しているマシンで SMB の受信接続を許可するファイアウォール ルールを有効にします。有効にするには file and printer sharing ファイアウォール内で、Hyper-V ホスト上で次のコマンドを実行します:

netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes

注: できます SMBファイル共有の設定 必要なユーザーに適切なアクセス権限を付与し、必要なフォルダのみを共有してください。

  1. Windows マシンにグラフィカルユーザーインターフェイス(GUI)が搭載されている場合は、Windows エクスプローラーのアドレスバーに共有パスを入力して、Hyper-V ホスト上のリモートファイル共有に接続します。この例では、管理目的で全ての Windows マシンにデフォルトで有効になっている隠しシステム共有"C$"を使用します。同様に、D$ や E$ などの他のボリュームにも接続できます。

10.10.10.31c$

注: デモ用として、ファイルはC:ドライブに保存されています。VMファイル、ISOイメージ、ファイル共有、およびその他のシステム以外のデータについては、別の専用パーティションを使用することをお勧めします。

  1. ISOイメージを保存したいディレクトリ、またはコピーする必要があるその他のファイルが格納されているディレクトリに移動します。そのディレクトリがまだ作成されていない場合は、今すぐ作成してください。今回の例では、ISOファイルは C:ISO_1 Hyper-V ホスト上で、ネットワークパスは 10.10.10.31c$ISO_1

コマンドラインインターフェースを使用する必要がある場合は、次のコマンドでSMBファイル共有をネットワークドライブとしてマッピングできます:

Net use * 〈your hyper-v host〉d$

例えば、

net use S: 10.10.10.31d$

注: このコマンドは、Hyper-V へ転送したいデータが保存されているクライアントまたはサーバー上の CMD または PowerShell で実行できます。

  1. 必要なISOファイル(またはその他のファイル)をローカルマシンからコピーします(C:datashared01 (当社の場合)このネットワークパスを使用して、Hyper-V ホストに接続します。

How to copy files from Hyper-V to host

  1. ISOイメージをサーバーにコピーした後、DVDドライブをそのイメージファイルに設定し、(C:)ドライブのルートに作成したフォルダを選択します。

How to add ISO to Hyper-V

  1. 必要なファイルをすべてHyper-Vホストにコピーし終えたら、セキュリティ上の理由から、Hyper-VホストのWindowsファイアウォールで受信接続を無効にすることができます。必要に応じて、前述で許可したファイルとプリンターの共有に関するファイアウォールルールを無効にすることも可能です。その場合は、単に設定を変更するだけで済みます。 Yes ~へ No PowerShell コマンド内で。

netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=No

方法 2: 単一のファイル共有を使用して Hyper-V サーバーにファイルをコピーする方法

環境内に複数のHyper-Vホストがある場合、各Hyper-Vホストでファイル共有を設定し、すべてのHyper-VホストにISOイメージをコピーするのは手間がかかります。さらに、同じISOイメージのために複数のホストのストレージ領域を使用するのは非効率的かもしれません。

別のサーバー(たとえば、 ファイルサーバーまたはNAS そして、必要なISOイメージをすべてそこに保存します。ファイル共有を一度設定し、Hyper-Vホストへのアクセス権限を設定すれば、すべてのホストで、一箇所に保存された必要なISOイメージを利用できるようになります。

Hyper-V share folder to access ISO files

この方法は、使用するすべてのマシンがActive Directoryドメインのメンバーである場合に便利です。

この方法を使用してHyper-Vホストと仮想マシンのゲストOS間でファイルを転送するには、次の操作が必要です。 仮想スイッチを設定する Hyper-Vの設定で、必要なネットワークモードを設定します。

LinuxゲストOSを搭載した仮想マシンにファイルをコピーする必要がある場合、SMBプロトコルを使用する以外にも別の方法があります。ネットワーク経由でHyper-Vのファイルを安全に転送するために、SSHを使用することができます。

方法 3: RDP を使用した Hyper-V ファイル転送

Hyper-V Server が GUI 搭載の Windows マシン上で実行されている場合、RDP(リモート デスクトップ プロトコル)を介してこのホストに接続し、ローカル マシンのローカル ディスクをマウントして、必要なファイルをコピーすることができます。これを行うには、対象サーバーでリモート デスクトップ接続を有効にする必要があります。

この方法を使用すると、Windows を実行している別の物理マシンまたは仮想マシンから Hyper-V Server にファイルをコピーすることができます。

  1. リモートデスクトップ接続を有効にするには、次の手順に従ってください。 Start > Settings > System > Remote Desktop および有効にする Remote Desktop.
  2. Windows リモート デスクトップ クライアントを起動します。その場所は %windir%system32mstsc.exe

種類 mstsc コマンドラインで、または Run ダイアログを表示して、[OK] をクリックします Enter.

  1. リモートコンピューターのIPアドレスまたはホスト名を入力してください(この例では、IPアドレスが 10.10.10.31) とユーザー名。ユーザー名は完全な形式で入力できます(ドメインユーザー または コンピュータユーザー).

Using RDP for Hyper V file transfer

  1. [ここ](https://example.com)へ移動 Local Resources タブをクリックして More.

How to attach local disks and copy files to Hyper v server via RDP

  1. お使いのコンピュータからリモートホスト(この例では、リモートホストはHyper-Vホストです)にマッピングしたいローカルリソースを選択します。展開 Drives 必要なディスクドライブを選択してください。必要なファイルはディスク上にあります E: 私たちのコンピューター上で、そのため、ディスクを選択します E: RDP接続用にマッピングする必要があります。
  2. クリック OK 設定を保存してから、[クリック] Connect.

Selecting a local disk for an RDP connection to add ISO to Hyper-V server

リモートデスクトップセッションが確立されたら、[開く] をクリックします My Computer または This PC リモートマシンのWindowsエクスプローラーで。ローカルコンピュータからリモートマシンにマップされたドライブが表示されるはずです(E on SERVER01-DC (下のスクリーンショットを参照)。このマップされたドライブ上で必要なファイルを探し、Hyper-V ホストにコピーしてください。

The local disk is connected to the remote Hyper-V host in an RDP session

この方法は、ネットワークに接続されているVMに対しても有効です。

方法 4: PowerShell CMDlet を使用した Hyper-V ファイル転送

PowerShell 4.0 以降には、ホストと仮想マシンの間にネットワーク接続がなく、ファイアウォールの設定も不要な状態で、Hyper-V ホストから仮想マシンへファイルをコピーできる便利なコマンドレットが用意されています。

それでは、ネットワークを使用せずに PowerShell で Hyper-V 仮想マシンへファイルをコピーする方法を見ていきましょう。

  1. 有効にする ゲストサービス 仮想マシン上で。Integration Servicesは、仮想マシンのゲストOSにインストールする必要があります。

ゲストサービスは、 Hyper-V 統合サービスですが、これらはデフォルトでは有効になっていません。ゲストサービスを有効にするには、 VM settings、選択 Integration Services VM設定ウィンドウの左ペインで、[ Guest services チェックボックス。
Selecting Guest services for Hyper-V file transfer between a host and guest

有効にする ゲストサービス PowerShell での VM については:

Enable-VMIntegrationService -VMName VM1 -Name 'Guest Service Interface'

  1. 以下の確認が可能です ゲストサービス PowerShell でこの機能が有効になっています:

Get-VMIntegrationService -name Guest* -VMName VM1,VM2

どこ VM1、VM2 VMの名前は

  • ステータスが 連絡なし、VMを更新して、以下をインストールする必要があります 統合サービス ゲストOS内で。
  • ステータスが , 必要なゲストサービスインターフェースを有効にできます:

Enable-VMIntegrationService -name Guest* -VMName win10preview -Passthru

  1. Hyper-V ホストから VM ゲストへファイルを転送するには、以下のコマンドを使用します。この際、Hyper-V ホスト上のソースパスと VM 上の宛先パスを指定してください:

Copy-VMFile "VMName" -SourcePath "F:Test.txt" -DestinationPath "C:TempTest.txt" -CreateFullPath -FileSource Host

場所:

  • VM名 は、ファイルをコピーするVMの名前です(VM名はHyper-Vマネージャーで確認できます。これは、ゲストOSに表示されるVMのホスト名ではありません)。
  • ソースパス は、Hyper-V ホスト上のソースファイル(コピーする必要があるファイル)へのパスです。
  • 対象パス は、VM上の宛先ファイルへのパスです(必要なファイルをコピーする場所)。
  • その -CreateFullPath このコマンドは、必要なフォルダが存在しない場合に、それらを含む完全なパスを作成するために使用されます。

この例では、ホストからVMゲストへのHyper-Vファイル転送を行うための正確なPowerShellコマンドは次のとおりです:

Copy-VMFile "VM2" -SourcePath "C:tempfile01.txt" -DestinationPath "C:Temp1file01.txt" -CreateFullPath -FileSource Host

注: その Copy-VMFile このコマンドレットは、Hyper-V ホストから仮想マシンへの一方通行でのみ機能します。

方法 5: VHDX をホストおよびゲストにマウントする

この方法の目的は、Hyper-V ホストと仮想マシンの両方にマウントできる VHDX 仮想ディスクを作成することです。必要なファイルをこの仮想ディスクにコピーし、そのディスクを必要なマシンにマウントして、仮想ディスクとの間でファイルをやり取りすることができます。

この例では Windows Server 2019 を使用します。VHDX 仮想ディスクの作成は、 コンピュータの管理、ただ~においてだけでなく Hyper-V マネージャー 仮想マシンを設定する際。

  1. を開く Computer Management ウィンドウ。次の操作を行うには、 Win+R を開くには Run ダイアログを開き、 compmgmt.msc コマンド。
  2. 移動 Storage > Disk Management ~の中で コンピュータの管理 ウィンドウ。
  3. 右クリック Disk Management そして、コンテキストメニューでクリックして Create VHD.

Creating a VHD file on a Hyper-V Server

  1. 新しいウィンドウが開き、仮想ディスクの作成画面が表示されます。
  • Hyper-V ホスト上の仮想ハードディスクの場所を指定します。たとえば、 C:Hyper-Vdata-temp
  • 仮想ハードディスクのサイズを設定します。私たちは 8-GB デモ用の仮想ハードディスク。
  • 仮想ハードディスクのフォーマットを選択してください。ここでは、 VHDX 新しい形式として。詳細はこちら VHD 対 VHDX 違いについて詳しく知るには。
  • 仮想ハードディスクの種類を選択してください。ここでは、 Dynamically expanding ディスクがデータでいっぱいになるまで、ストレージ容量を節約するため。
  • ヒット OK 設定を保存してウィンドウを閉じます。

Configuring parameters for a new VHDX file

あるいは、PowerShell で VHDX 仮想ディスクを作成するコマンドの例を以下に示します:

New-VHD -Path C:Hyper-Vdata-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB

PowerShell で VHD 仮想ディスクをマウントするコマンド:

mount-VHD -path C:Hyper-Vdata-temp.vhdx

Hyper-Vホスト上に仮想ハードディスクが作成されました。

  1. このVHDX仮想ハードディスクを Disk Management はめ込んでクリック Initialize Disk.

あるいは、PowerShell を使用したい場合は、初期化の前にマウントされているすべてのディスクを一覧表示して、必要な仮想ディスクの番号を特定してください:

Get-Disk

Initializing a disk for Hyper-V file transfer

  1. ディスクは自動的に選択されます。パーティションスタイルを選択してください。ここでは MBR (マスター・ブート・レコード)により、互換性が向上します。クリック OK.

あるいは、PowerShell を使用する場合のコマンドには、仮想ディスクの番号とパーティション形式を含めます:

Initialize-Disk 1 -PartitionStyle MBR

Selecting the MBR partition style

  1. Hyper-V ホスト上で初期化された仮想ディスク上に、新しいボリューム(パーティション)を作成します。このパーティションは、Windows VM(または NTFS ファイルシステムに対応している Linux)からも認識されます。

8 GBのボリュームを右クリックし、[クリック] を選択します New Simple Volume コンテキストメニューで。
Creating a new simple volume

  1. その 新しい"シンプルボリュームウィザード"が開きます. クリック Next.
  2. ボリュームのサイズを指定してください。このボリュームにはディスクの全容量を使用します。

Specifying the volume size

  1. ドライブ文字を割り当てます(例:H:)

Selecting a drive letter

  1. パーティションをフォーマットします。ファイルシステムとして"NTFS"を選択し、割り当て単位サイズはデフォルトのままにし、ボリュームラベルを入力します(例: ファイルのコピー). を選択します Perform a quick format チェックボックス。

Formatting a partition that will be used for Hyper-V file transfer

あるいは、以下のPowerShellコマンドを使用してボリュームを作成およびフォーマットすることもできます:

New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter

Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force

  1. ウィザードが完了すると、Hyper-V ホストマシンの Windows エクスプローラーにマウントされた仮想ディスクが表示されるはずです。
  2. 必要なファイルを仮想ディスク上のパーティションにコピーします。コピーするのは file01.txt、以下のスクリーンショットに示すように。

How to copy files to Hyper V virtual machine by using a virtual disk

  1. 必要なファイルをすべて仮想ディスクにコピーした後、Hyper-V ホストからその仮想ディスクをアンマウントする必要があります。

VHDX仮想ディスクからマウントされた該当するパーティションを右クリックし、[ Eject コンテキストメニューで。

あるいは、PowerShell でホストマシンから仮想ディスクをアンマウントするコマンドは次のとおりです:

dismount-VHD -path C:Hyper-Vdata-temp.vhdx

Eject the virtual disk after you have copied the files

  1. この仮想ディスクは、Hyper-Vホストからゲストへ、あるいはその逆の方向へのファイル転送用に作成されたもので、マウントすることができます。ファイルが書き込まれた仮想ディスクを仮想マシンにマウントしてみましょう。
  1. 必要なVMを選択して開く VM Settings Hyper-V マネージャーで。
  2. VM設定ウィンドウの左ペインで、必要な仮想ディスクコントローラを選択します。
  3. 選択 Hard Drive をクリックして Add.

Adding a new virtual hard disk drive to the VM configuration

  1. 選択 Virtual hard disk をクリックして Browse 既存の仮想ハードディスクをVMに追加します。
  2. VHDXのパスを指定してください。今回の例では、パスは C:Hyper-Vdata-temp.vhdx
  3. ヒット OK 設定を保存するには。

あるいは、既存の仮想ハードディスクをHyper-V仮想マシンの構成に追加するためのPowerShellコマンドは次のとおりです:

Add-VMHardDiskDrive -VMName VM2 -Path C:Hyper-Vdata-temp.vhdx

Browsing a virtual disk you have created to transfer files from Hyper-V to host (or from host to VM)

  1. Hyper-V ホスト上で、接続済みの仮想ディスクを使用して仮想マシンを起動します。
  2. ゲストOSにログインし、仮想ディスク上のボリュームが自動的にマウントされているか確認してください。そうでない場合は、次の手順に進んでください。 Computer Management > Disk Management そして、Hyper-VホストからVMへ転送する必要があるファイルが格納されているボリュームにドライブ文字を割り当てます。
  3. 必要なファイルを添付の仮想ディスクから仮想マシンにコピーしてください。

方法 6: 拡張セッションモードを使用した VMConnect

VMConnect(Virtual Machine Connection)は、仮想マシンを管理するためのHyper-Vに組み込まれたツールです。VMConnectツールには、キーボードやマウスでの操作状況を確認できる、VMのモニターとして機能する画面が含まれています。拡張セッションモードでVMConnectを使用すると、より便利になり、より多くの機能を利用できます。

拡張セッションモードを使用すると、仮想マシンに接続する際の画面解像度をカスタマイズしたり、Hyper-V マネージャーを実行しているホストのローカルリソースを接続して仮想マシンを管理したりできます。ローカルリソースの接続方法は、リモートデスクトップ接続を使用してリモートホストや仮想マシンにアクセスする場合と同様です。

有効にするには Enhanced session mode:

  1. Hyper-V マネージャーで Hyper-V ホストの名前を右クリックし、コンテキスト メニューから [ Hyper-V Settings.
  2. クリック Enhanced session mode 左側のパネルで
  3. [選択] Use enhanced session mode チェックボックス

How to enable the Enhanced session mode for Hyper-V file transfer

あるいは、 拡張セッションモード PowerShellでは:

Set-VMHost -EnableEnhancedSessionMode $True

一度 拡張セッションモード が有効になっており、ゲストVMとHyper-Vサーバーの両方で必要な設定がすべて完了している場合は、VMを起動し、VMConnectを使用してこのVMに接続できます。

もし 拡張セッションモード が有効になっています。[クリック] Show Options このウィンドウで。

Select Show Options to see additional options

[選択] Local Resources タブをクリック More ~の中で ローカルデバイスとリソース セクション。

Click More to attach local disks to a VM connection session

Hyper-V ホスト上で利用可能なディスクの中から、仮想マシンに接続したいディスクを選択してください。

Hyper-V copy files to VM – selecting a disk when using the enhanced session mode for VMConnect

方法 7: ISO イメージを使用した Hyper-V ファイル転送

Hyper-V 仮想マシンにファイルをコピーするもう 1 つの方法は、VHDX 仮想ディスクを使用する方法と似ています。ただし、この方法は一方向(Hyper-V から仮想マシンへのコピー)のみであり、仮想マシンからのファイルへのアクセスは読み取り専用となります。

CD/DVDイメージファイルであるISOファイルを編集・書き込みできるアプリケーションをお持ちの場合は、Hyper-Vホスト上の必要なファイルをISOイメージに書き込み、このISOイメージを仮想DVDメディアとして仮想マシンに挿入することができます。

起動可能なISOイメージを仮想マシンにコピーする必要がある場合(例えば、テスト時など) ネスト型仮想化)、新しい空の非起動用ISOイメージファイルを作成し、そこに起動用ISOイメージファイルを追加する必要があります。その後、VMの仮想DVDドライブに挿入された外側のISOファイルから、起動用ISOイメージをコピーすることができます。

結論

Hyper-V Server にファイルをコピーする方法はどれを選んでも、バックアップ目的での使用は推奨されません。これらの方法は、専門的な Hyper-V バックアップソリューションほど効率的でも信頼性が高くもありません。今日の Hyper-V VM バックアップソリューションには、例えば NAKIVO Backup & Replication、容量が小さく、高速で、データの復元も容易なホストレベルのバックアップを作成します。

1年間の無料データ保護: NAKIVO Backup & Replication

1年間の無料データ保護: NAKIVO Backup & Replication

2分で導入でき、仮想環境、クラウド、物理環境、SaaSのデータを保護します。バックアップ、レプリケーション、即時復旧のオプションをご用意しています。

People also read