
當您在 Windows 中使用虛擬化時, Hyper-V 充當參考虛擬機器管理程序 並允許您管理 虛擬機 無論是本地還是遠端。即便如此,像 在主機和虛擬機器之間移動數據 這並不明顯: 您無法直接拖曳到控制台上 就像使用任何其他應用程式一樣,因此了解傳輸檔案的有效且安全的方法是個好主意。
在本指南中,我彙編並統一了 在 Hyper-V 主機及其虛擬機器之間共用檔案的所有實用方法、來自 SMB 共用、具有磁碟機重定向的 RDP 和 Copy-VMFile cmdlet PowerShell的 (不含網),最多 技巧 如何安裝 VHDX,如何利用 VMConnect 中的增強會話模式,甚至使用 只讀 ISO 映像。此外,您還將看到其他選項(匯出/匯入虛擬機器、雲端或 應用程序 網路)和一個小的背景 VirtualBox 和 VMware 因此,您知道如果更換解決方案,會發生什麼變化。
方法 1:Hyper-V 主機上的 SMB 共享
在 Windows 環境中最直接的方法是 透過 SMB 公開資料夾 在執行 Hyper-V 的主機上,並將 ISO 或其他檔案複製到那裡。此方法適用於實體電腦和其他虛擬機,只要有網路連線即可。
首先 在主機防火牆上啟用 「檔案和印表機共用」群組規則允許傳入的 SMB 連線。您可以使用以下命令執行此操作(CMD 或 PowerShell): netsh advfirewall firewall set rule group=\"File and Printer Sharing\" new enable=Yes. 確保限制共享的權限 僅提供給需要的使用者。
如果您使用圖形介面,請開啟資源管理器並使用 行政股份 連接主機,例如: \\10.10.10.31\c$\. 通常會建立專用資料夾 用於 ISO 或 VM 資料(例如 C:\ISO_1\),但為了達到良好的實踐,請考慮將 VM 和媒體儲存在與系統不同的分區上。
從 命令你可以 將 SMB 資料夾對應為網路磁碟機 使用: net use S: \\10.10.10.31\d$. 分配字母使自動複印更容易 和媒體部署腳本。
- 在主機上建立/選擇目標資料夾(例如,C:\ISO_1\)並以所需的最低權限共用。
- 從您的電腦或虛擬機器連接到 SMB 資源並 複製所需的 ISO 或文件 到路線。
- 在 Hyper-V 管理員中,將虛擬機器的虛擬 DVD 磁碟機指向 複製的 ISO 文件.
為了安全起見,一旦你完成了, 你可以再次禁用它 「文件與印表機共用」規則如下: netsh advfirewall firewall set rule group=\"File and Printer Sharing\" new enable=No. 減少攻擊面 始終建議來自主機的。
方法 2:中央儲存庫(檔案伺服器或 NAS)
在具有多個 Hyper-V 主機的環境中,將 ISO 和檔案複製到每個伺服器 消耗 存儲 並使維修變得複雜。最佳做法是創建一個 單一中央 SMB 資源 (檔案伺服器或 NAS)並授予主機和虛擬機器存取權限。
如果所有電腦都是網域成員, 權限管理更簡單。只需從每個需要它的主機/虛擬機器掛載共用即可。在虛擬機器上 Linux除了 SMB 之外, 您可以選擇 SSH/SCP/SFTP 用於透過網路進行安全傳輸。
請記住,如果虛擬機器需要存取該資源, 你需要一台虛擬交換機 並以適當的模式(外部、內部等)建立網路連線。 規劃拓撲 避免瓶頸和訪問問題。
方法 3:帶有驅動器重定向的 RDP
當 Hyper-V 主機具有 GUI 時,您可以使用 RDP 連線並 重定向本機磁碟,以便您將檔案從電腦複製到主機或虛擬機器。此程序也適用於具有網路連線的 Windows 虛擬機器。
- 在目標上,啟用遠端桌面:開始 > 設定 > 系統 > 遠端桌面 > 啟用.
- 運行 RDP 客戶端:
mstsc(位於%windir%\system32\mstsc.exe). - 輸入IP/電腦名稱和使用者(格式 網域\用戶 o 電腦\用戶).
- 前往“本地資源”>“更多…” 標記單位 您想要映射的(例如,E:)。
- 連接後,在遠端電腦的資源管理器中, 您將看到重定向的單元 複製文件。
這種方法非常方便,避免在主機上設定SMB,優點是 您可以精確選擇哪些單位 在每個 RDP 會話上進行重定向。
方法 4:PowerShell Copy-VMFile(無網絡,主機 → 虛擬機器)
PowerShell 4.0 及更高版本包含一個 cmdlet,讓您 無需網路連線即可將檔案從主機複製到虛擬機無需打開連接埠或觸及防火牆。它非常適合 注入特定文件 在隔離的虛擬機器中。
您必須先在虛擬機器上啟用「Guest Service Interface」整合服務。在 Hyper-V 管理員中,在 虛擬機器設定 > “整合服務”,選擇“訪客服務”。您也可以在 PowerShell 中執行此操作: Enable-VMIntegrationService -VMName VM1 -Name 'Guest Service Interface'. 如果沒有這項服務,該 cmdlet 將無法運作。
使用以下命令檢查狀態: Get-VMIntegrationService -Name Guest* -VMName VM1,VM2。如果狀態顯示“正接觸器”,請在客戶系統上更新並安裝整合服務;如果您看到“假”,使用以下命令啟用它: Enable-VMIntegrationService -Name Guest* -VMName MiVM -Passthru.
若要複製,請使用下列模式: Copy-VMFile \"NombreVM\" -SourcePath \"F:\\Test.txt\" -DestinationPath \"C:\\Temp\\Test.txt\" -CreateFullPath -FileSource Host實踐中: Copy-VMFile \"VM2\" -SourcePath \"C:\\temp\\file01.txt\" -DestinationPath \"C:\\Temp1\\file01.txt\" -CreateFullPath -FileSource Host. 記住 此 cmdlet 僅在主機 → VM 方向複製。
方法 5:在主機和虛擬機器之間掛載共用 VHDX
一個非常靈活的方法是創建一個 「手提式」 VHDX 虛擬磁碟 您可以將其掛載到主機上上傳文件,然後暫時連接到虛擬機器進行檢索。它速度快、可控,而且不需要網路。
您可以透過「電腦管理」>「儲存」>「磁碟管理」>「建立 VHD」來建立。選擇路徑(例如, C:\Hyper-V\資料溫度\)、大小(例如 8 GB)、格式 VHDX 和磁碟類型(建議使用“動態擴展”)。使用 PowerShell 的範例: New-VHD -Path C:\\Hyper-V\\data-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB.
若要將其掛載到主機上: Mount-VHD -Path C:\\Hyper-V\\data-temp.vhdx。然後初始化磁碟(MBR 為了相容性)並創建捲和格式: Initialize-Disk 1 -PartitionStyle MBR & New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter & Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force. 組裝後,將必要的文件複製到裡面。
使用以下命令從主機卸載: Dismount-VHD -Path C:\\Hyper-V\\data-temp.vhdx 並從 Hyper-V 管理員(SCSI 控制器 > 硬碟 > 新增 > 「現有虛擬硬碟」)將 VHDX 連接到虛擬機器。使用 PowerShell: Add-VMHardDiskDrive -VMName VM2 -Path C:\\Hyper-V\\data-temp.vhdx. 啟動虛擬機器時,如果沒有自動分配字母,則會分配一個字母並將文件複製到目的地。
此方法也適用於 能夠讀取 NTFS 的 Linux 用戶端,這增加了混合系統時的多功能性。
方法 6:VMConnect 和增強會話模式
VMConnect 是原生 Hyper-V 控制台。 增強會話模式,該連接使用 RDP“底層”,並啟用 資源重定向 (剪貼簿、驅動器、印表機、音訊、麥克風,甚至支援的 USB 裝置)。僅適用於 Windows 虛擬機.
若要在主機上啟用它:Hyper-V 管理員 > 右鍵點選主機 > “Hyper-V 設定” > “增強會話模式” > 選擇“使用增強會話模式”。在 PowerShell 中: Set-VMHost -EnableEnhancedSessionMode $True. 在虛擬機器中,啟用遠端桌面和客戶整合服務。
當您開啟 VMConnect 並連線時,您將看到一個選擇解析度的對話方塊;按「顯示選項”,然後前往“本地資源”>“更多…”。檢查 您想要重新導向的主機磁碟 到會話。預設情況下,剪貼簿和印表機已可用,且音訊正在主機上播放。
對於音訊和麥克風,請進入連接盒中的“設定”,然後 調整播放/輸入如果虛擬機器在本地運行,遠端音訊選項會產生相同的效果。 控制聲音和語音 來自 VM 的功能在演示和培訓中很有用。
VMConnect 工具列中有一個圖標,指示 會話類型 目前版本(基本版或增強版),並允許您切換。在 Windows 10 2004/Windows 11 上,如果未顯示 VMConnect 登入框, 在虛擬機器中停用 在 Microsoft 帳戶上啟用 Windows Hello 的選項(登入選項)並登出或重新啟動虛擬機器。如果您沒有看到連線對話框,請執行 vmconnect.exe “不"作為管理員“。
方法 7:透過 ISO 映像共用(唯讀)
當你只需要 將檔案從主機傳送到虛擬機 而且您不關心它是否是唯讀的,建立一個包含內容的 ISO 映像並將其指定為 VM 中的虛擬 DVD 光碟機。 這是單行道 且虛擬機器無法修改這些檔案。
如果 ISO 是 開機 (例如,對於巢狀虛擬化測試),產生一個空的 ISO 並 在裡面添加另一個可啟動 ISO 將其移動到虛擬機器。然後,您可以從虛擬機器的虛擬 DVD 驅動器插入它,並像使用實體媒體一樣使用它。
使用匯出/匯入功能移動虛擬機器和數據
除了共享單一檔案之外,Hyper-V 還允許 匯出和匯入虛擬機,這是一種快速移動或複製資料(包括磁碟、配置和檢查點)的方法。您可以將它們與虛擬機器一起匯出。 開啟或關閉 (建議低負載使用)。
在匯入過程中,虛擬機器在主機上註冊,精靈 幫助解決不相容問題 (記憶體、虛擬交換器、CPU)。導入類型有三種:「結合上下文進行記錄”(使用當前位置並保留相同的標識符,不留下導出文件以供重複使用),“恢復」(將檔案複製到另一個位置,保留相同的標識符,使匯出保持不變)和「複製」(類似於恢復,但 產生新的標識符,對於在同一主機上進行多次克隆很有用)。
此路線不會取代先前的方法 快速文件傳遞,但它非常適合 遷移整個環境 主機之間或維護“黃金映像”範本。
通用替代方案:雲端和 Web 應用程式
服務如 OneDrive、Google Drive、Dropbox 或 Mega 讓共用變得更簡單:您在主機和/或 VM 上安裝用戶端並同步資料夾。 避免重複空間 選擇“按需檔案”或等效檔案(佔位符)並僅在開啟時下載。
如果你不想在虛擬機器上安裝任何東西,那麼瀏覽器和它的 造訪網頁版 雲端服務。自動化程度較低,但適用於特定情況。 控制項大小限制 如果您使用大型 ISO,則需要頻寬。
另一個選擇是像 WeTransfer,它允許您透過生成連結來共享大文件。從主機上傳,在虛擬機中開啟鏈接,然後下載。 簡單又快捷 用於偶爾的交換,儘管它不能取代連續的同步。
如果您在 VirtualBox 和 VMware 之間交替,請快速了解上下文
雖然本指南主要針對 Hyper-V,但了解其他平台的變更也會有所幫助。在 VirtualBox 中,最簡單的方法是 配置“共享資料夾” 將主機目錄公開給客戶機,並選取“自動掛載”以使其在啟動虛擬機器時可用,如果需要,請選取“唯讀” 封鎖內容.
VirtualBox 還允許 使用 USB 裝置 使用虛擬機器(啟用 USB 控制器並選擇裝置)和 拖放 或共用剪貼板,請安裝 Guest Additions 並啟用「雙向」。在某些情況下,USB 3.0 可能會導致 開機問題,因此如果有問題,建議測試 USB 1.1。
在 VMware 上,Workstation Player 可免費用於非商業用途,但 它有局限性 (例如,在共用資料夾中)。 Workstation Pro 新增了 共享文件夾 (選項 > 共享資料夾)以及“來賓隔離」(啟動拖放和複製/貼上)。對於 USB, 連接USB 並從相應的圖標將其分配給VM。
這些比較可以幫助你 在平台之間轉移習慣但請記住,在 Hyper-V 中我們重點介紹了具有改進會話的 VMConnect、無需網路的 Copy-VMFile 以及使用 VHDX 作為通用「容器」。
作為跨領域建議, 避免使用這些方法作為備份系統。雖然它們對於行動檔案非常有用,但它們不能取代虛擬機器的主機級備份解決方案,後者對於 顆粒或總回收率.
透過這些選項,您可以輕鬆選擇適合您情況的正確方法: 或使用 SMB 或 RDP 來提高速度 當有網路時,Copy-VMFile 和 VHDX 用於隔離的虛擬機,當需要時使用增強會話的 VMConnect 深度整合 包含設備和剪貼板,以及 ISO(如果您需要只讀)。如果您需要移動整個環境,匯出/匯入功能提供 有序的道路 具有相容性控制。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。