Featured image of post 在 WSL2 掛載 VHD 虛擬磁碟

在 WSL2 掛載 VHD 虛擬磁碟

將 .vhdx 虛擬磁碟掛載進 WSL2,建立 ext4 分割區並完成 mount/unmount 的完整步驟。

前言

有時候需要在 WSL2 裡使用一個獨立的 ext4 磁碟映像,例如跑需要特定檔案系統行為的測試,或是建立一個可以備份、搬移的 VHD 儲存空間。WSL2 本身支援直接掛載 .vhdx 檔案,不需要安裝額外工具。

以下紀錄完整流程,以 Ubuntu 發行版為例,VHD 檔案放在 C:\tmp\ext4.vhdx(10 GB)。

Step.1 在 Windows 掛載 VHD 至 WSL

系統管理員身份開啟 PowerShell 或命令提示字元,執行:

1
wsl -d Ubuntu --mount --vhd C:\tmp\ext4.vhdx --bare

--bare 表示以裸裝置模式掛載,不自動套用任何檔案系統,方便後續手動分割與格式化。

Step.2 在 WSL 確認裝置名稱

切換到 WSL 環境,執行 lsblk 確認新掛入的裝置,輸出範例如下:

1
2
3
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sdd    8:48   0    10G  0 disk

本例中裝置為 /dev/sdd,後續步驟依此替換。

Step.3 建立分割區並格式化

1
2
sudo parted -a optimal /dev/sdd mkpart primary ext4 0% 100%
sudo mkfs.ext4 /dev/sdd1

parted 建立一個對齊最佳化的 primary 分割區,mkfs.ext4 格式化為 ext4。

Step.4 掛載分割區

1
2
sudo mkdir /mnt/new-vhd
sudo mount -o rw /dev/sdd1 /mnt/new-vhd

之後即可正常使用 /mnt/new-vhd

Step.5 卸載

完成使用後,先在 WSL 卸載分割區:

1
sudo umount /dev/sdd1

再回到 Windows,以系統管理員身份執行:

1
wsl --unmount \\?\C:\tmp\ext4.vhdx

Reference: WSL2 How-to: Prepare and Attach Virtual Drives (VHD) | by Tony Tannous | Medium

Licensed under CC BY-NC-SA 3.0 TW
最後更新 2026-04-30
comments powered by Disqus