<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>WSL2 on 卡螺絲</title><link>https://caloskao.org/tags/wsl2/</link><description>Recent content in WSL2 on 卡螺絲</description><generator>Hugo -- gohugo.io</generator><language>zh-Hant</language><lastBuildDate>Thu, 30 Apr 2026 13:33:51 +0800</lastBuildDate><atom:link href="https://caloskao.org/tags/wsl2/index.xml" rel="self" type="application/rss+xml"/><item><title>在 WSL2 掛載 VHD 虛擬磁碟</title><link>https://caloskao.org/wsl-mount-vhd/</link><pubDate>Wed, 29 Apr 2026 15:57:00 +0800</pubDate><guid>https://caloskao.org/wsl-mount-vhd/</guid><description>&lt;img src="https://caloskao.org/images/logo/ubuntu.png" alt="Featured image of post 在 WSL2 掛載 VHD 虛擬磁碟" /&gt;&lt;h2 id="前言"&gt;前言
&lt;/h2&gt;&lt;p&gt;有時候需要在 WSL2 裡使用一個獨立的 ext4 磁碟映像，例如跑需要特定檔案系統行為的測試，或是建立一個可以備份、搬移的 VHD 儲存空間。WSL2 本身支援直接掛載 &lt;code&gt;.vhdx&lt;/code&gt; 檔案，不需要安裝額外工具。&lt;/p&gt;
&lt;p&gt;以下紀錄完整流程，以 Ubuntu 發行版為例，VHD 檔案放在 &lt;code&gt;C:\tmp\ext4.vhdx&lt;/code&gt;（10 GB）。&lt;/p&gt;
&lt;h2 id="step1-在-windows-掛載-vhd-至-wsl"&gt;Step.1 在 Windows 掛載 VHD 至 WSL
&lt;/h2&gt;&lt;p&gt;以&lt;strong&gt;系統管理員&lt;/strong&gt;身份開啟 PowerShell 或命令提示字元，執行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wsl -d Ubuntu --mount --vhd C:\tmp\ext4.vhdx --bare
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;--bare&lt;/code&gt; 表示以裸裝置模式掛載，不自動套用任何檔案系統，方便後續手動分割與格式化。&lt;/p&gt;
&lt;h2 id="step2-在-wsl-確認裝置名稱"&gt;Step.2 在 WSL 確認裝置名稱
&lt;/h2&gt;&lt;p&gt;切換到 WSL 環境，執行 &lt;code&gt;lsblk&lt;/code&gt; 確認新掛入的裝置，輸出範例如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sdd 8:48 0 10G 0 disk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;本例中裝置為 &lt;code&gt;/dev/sdd&lt;/code&gt;，後續步驟依此替換。&lt;/p&gt;
&lt;h2 id="step3-建立分割區並格式化"&gt;Step.3 建立分割區並格式化
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo parted -a optimal /dev/sdd mkpart primary ext4 0% 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mkfs.ext4 /dev/sdd1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;parted&lt;/code&gt; 建立一個對齊最佳化的 primary 分割區，&lt;code&gt;mkfs.ext4&lt;/code&gt; 格式化為 ext4。&lt;/p&gt;
&lt;h2 id="step4-掛載分割區"&gt;Step.4 掛載分割區
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mkdir /mnt/new-vhd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mount -o rw /dev/sdd1 /mnt/new-vhd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;之後即可正常使用 &lt;code&gt;/mnt/new-vhd&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="step5-卸載"&gt;Step.5 卸載
&lt;/h2&gt;&lt;p&gt;完成使用後，先在 WSL 卸載分割區：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo umount /dev/sdd1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;再回到 Windows，以系統管理員身份執行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wsl --unmount \\?\C:\tmp\ext4.vhdx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;: &lt;a class="link" href="https://anthony-f-tannous.medium.com/wsl2-how-to-prepare-and-attach-virtual-drives-vhd-ac17b1fc7a61" target="_blank" rel="noopener"
&gt;WSL2 How-to: Prepare and Attach Virtual Drives (VHD) | by Tony Tannous | Medium&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>