1. wsl2 1.1 先決條件 1.2 掛載未分區的磁盤 1.2.1 識別磁盤 1.2.2 掛載磁盤 1.3 掛載分區磁盤 1.3.1 識別磁盤 1.3.2 列出並選擇要在 WSL 2 中掛載的分區 1.3.3 識別文件系統類型 1.3.4 掛載選定的分區 1.4 訪問磁盤內容 1.5 卸載磁盤 1.6 在 WSL 中掛載 VHD 1.7 命令行參考 1.8 掛載特定分區 1.9 指定掛載選項 1.a 連接磁盤而不安裝它 1.b 分離磁盤 1.c. 限制 2. linux-reader(只讀) 3 商業軟件 3.1 paragon 3.2. UFS Explorer 4. ext2read 5. Ext2Fsd 6. 文件系統對比
1. wsl2
在 WSL2 中掛載 Linux 磁盤(預覽版) 04/08/2021
如果要訪問 Windows 不支持的 Linux 磁盤格式,可以使用 WSL2 掛載磁盤並訪問其內容。
注意: 將磁盤附加到 WSL2 需要管理員訪問權限。 WSL2 mount命令不支持掛載當前正在使用的磁盤(或屬於該磁盤的分區)。wsl --mount即使只請求一個分區,也總是附加整個磁盤。無法掛載 Windows 安裝盤。
注! 下文命令行開頭標識有如下2種:
- > (大於號)開頭的命令表示在Windows的PowerShell中.
- $ (美元符號)開頭的命令表示Linux的Bash環境.
1.1 先決條件
您需要使用 Windows 10 Build 20211 或更高版本才能訪問此功能。您可以加入Windows預覽體驗計划以獲取最新的預覽版本。
1.2 掛載未分區的磁盤
在這種最簡單的情況下,如果您的磁盤沒有任何分區,則可以直接使用該wsl --mount命令掛載它。首先,您需要識別磁盤。
1.2.1 識別磁盤
要列出 Windows 中的可用磁盤,請在PowerShell中運行:
> wmic diskdrive list brief
磁盤路徑在“DeviceID”列下可用。通常根據\\.\PHYSICALDRIVE*格式。
1.2.2 掛載磁盤
然后在 Powershell 中,您可以使用上面發現的磁盤路徑掛載磁盤。
> wsl --mount <DiskPath>
1.3 掛載分區磁盤
1.3.1 識別磁盤
要列出 Windows 中的可用磁盤,請在PowerShell中運行:
> wmic diskdrive list brief
磁盤路徑在“DeviceID”列下可用。通常根據\\.\PHYSICALDRIVE*格式。
1.3.2 列出並選擇要在 WSL 2 中掛載的分區
> wsl --mount <DiskPath> --bare
這將使磁盤在 WSL 2 中可用。
連接后,可以通過在 WSL 2 中運行以下命令來列出分區(已經入Bash環境):
$ lsblk
這將顯示可用的塊設備及其分區。
在 Linux 中,塊設備被標識為 /dev/<Device><Partition>. 例如,/dev/sdb3 是磁盤的分區號 3 sdb。
1.3.3 識別文件系統類型
如果您不知道磁盤或分區的文件系統類型,可以在PowerShell使用以下命令:
> blkid <BlockDevice>
這將輸出檢測到的文件系統類型(在TYPE="<Filesystem>"格式下)。
1.3.4 掛載選定的分區
確定要掛載的分區后,在每個分區上運行以下命令:
> wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>
注意: 如果您希望將整個磁盤安裝為單個卷(即如果磁盤未分區),--partition則可以省略。如果省略,則默認文件系統類型為“ext4”。
1.4 訪問磁盤內容
安裝后,可以在配置值指向的路徑下訪問磁盤:automount.root. 默認值為/mnt/wsl。
在 Windows 中,可以通過導航到以下位置從文件資源管理器訪問磁盤:(\\wsl$\\<Distro>\\<Mountpoint>選擇任何 Linux 發行版)。
1.5 卸載磁盤
如果要從 WSL 2 卸載和分離磁盤,請運行:
> wsl --unmount <DiskPath>
1.6 在 WSL 中掛載 VHD
您還可以使用wsl --mount. 為此,您首先需要使用 Windows 中的Mount-VHD命令將 VHD 掛載到 Windows中。請務必以管理員權限運行此命令。下面是我們使用此命令的示例,並輸出磁盤路徑。請務必替換<pathToVHD>為您的實際 VHD 路徑。
> Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"
您可以使用上面的輸出來獲取此 VHD 的磁盤路徑,然后按照上一節中的說明將其掛載到 WSL。
您還可以使用此技術掛載其他 WSL 發行版的虛擬硬盤並與之交互,因為每個 WSL 2 發行版都通過名為:ext4.vhdx. 默認情況下,WSL 2 發行版的 VHD 存儲在以下路徑中:C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName],請謹慎訪問這些系統文件,這是一個高級用戶工作流程。確保wsl --shutdown在與此磁盤交互之前運行以確保該磁盤未在使用中。
1.7 命令行參考
掛載特定的文件系統, 默認情況下,WSL2 將嘗試將設備掛載為 ext4。要指定另一個文件系統,請運行:
> wsl --mount <DiskPath> -t <FileSystem>
例如,要將磁盤掛載為 fat,請運行:
> wsl --mount <Diskpath> -t vfat
要列出 WSL2 中的可用文件系統,請運行:cat /proc/filesystems
當磁盤已通過 WSL2(Linux 文件系統)掛載后,無法再通過 Windows 文件系統上的 ext4 驅動程序掛載。
1.8 掛載特定分區
默認情況下,WSL 2 會嘗試掛載整個磁盤。要掛載特定分區,請運行:
> wsl --mount <Diskpath> -p <PartitionIndex>
這僅在磁盤是 MBR(主引導記錄)或 GPT(GUID 分區表)時才有效。閱讀有關分區樣式 - MBR 和 GPT 的信息。
1.9 指定掛載選項
要指定掛載選項,請運行:
> wsl --mount <DiskPath> -o <MountOptions>
> wsl --mount <DiskPath> -o "data=ordered"
注意: 目前僅支持文件系統特定選項。ro, rw, noatime, ...不支持諸如此類的通用選項。
1.a 連接磁盤而不安裝它
如果上述任何選項都不支持磁盤方案,您可以通過運行將磁盤附加到 WSL 2 而無需安裝它:
> wsl --mount <DiskPath> --bare
這將使塊設備在 WSL 2 中可用,因此可以從那里手動安裝。使用lsblk列出內部WSL 2可用塊設備。
1.b 分離磁盤
要從 WSL 2 分離磁盤,請運行:
> wsl --unmount [DiskPath]
如果Diskpath省略,則卸載並分離所有附加的磁盤。
注意: 如果一個磁盤卸載失敗,可以通過運行 強制退出 WSL 2 wsl --shutdown,這將分離磁盤。
1.c 限制
目前,只能將整個磁盤附加到 WSL 2,這意味着不可能只附加一個分區。具體來說,這意味着無法wsl --mount用於讀取引導設備上的分區,因為該設備無法與 Windows 分離。
目前不支持 USB 閃存驅動器和 SD 卡,並且無法連接到 WSL 2。但支持 USB 磁盤。
只有內核本身支持的文件系統才能通過wsl --mount. 這意味着無法通過調用 來使用已安裝的文件系統驅動程序(例如 ntfs-3g)wsl --mount。
2. linux-reader(只讀)
從 Windows 訪問 Ext、UFS、HFS、ReiserFS 或 APFS 文件系統上的文件和文件夾
Linux Reader™ 是一種流行的免費軟件產品,它仍然是非商業免費軟件。從 4.0 版開始,Linux Reader Pro™ 提供了額外的功能。
使用 Linux Reader Pro™,您可以從更多文件系統讀取文件、通過 SSH 連接進行遠程訪問、創建虛擬驅動器、通過 FTP 導出文件等等。
- Linux Reader™ 的所有重要功能仍然免費:沒有煩人的廣告、沒有試用模式、沒有限制。
- Linux Reader™ 和 Linux Reader Pro™ 都為您提供對源驅動器的安全只讀訪問。
- Linux Reader™ 和 Linux Reader Pro™ 繞過文件安全策略,因此您可以訪問 Linux 磁盤上的任何文件。
- Linux Reader™ 和 Linux Reader Pro™ 的系統要求:Windows 7、8 或 10。
3. 商業軟件
3.1 paragon
3.2 UFS Explorer
4. ext2read
Ext2explore 是一款可以在 Windows 下瀏覽 ext2/3/4 分區的軟件,小巧好用。
5. Ext2Fsd
正如其名稱, 僅適用於Ext2.
穩定版本0.6.9(2017年11月2日,3年前)
Ext2Fsd(Ext2 File System Driver 的縮寫)是一個免費的可 安裝文件系統驅動程序,用C 語言編寫,用於Microsoft Windows操作系統系列。它有助於對ext2、ext3和ext4 文件系統的讀寫訪問。
錯誤
德國電腦雜志PC-WELT曾報道2009年程序崩潰頻繁,程序無法順利訪問ext3分區。這常常導致藍屏。這種類型的崩潰可能導致數據丟失,例如,如果主存儲器中還沒有永久存儲的數據。該程序只能訪問 ext2 分區而不會出錯。
2012 年,Computerwoche警告說,訪問 ext3 分區“並非無害”。可能會發生數據丟失。
嚴重錯誤
2017 年 11 月 2 日,發布了 0.69 版的警告:
不要在最新的 Ubuntu 或 Debian 系統上使用 Ext2Fsd 0.68 或更早版本。Ext2Fsd 0.68 無法在啟用 64 位模式的情況下處理 EXT4,然后它可能會損壞您的數據。非常抱歉這個災難問題,我正在努力改進。
雖然尚不清楚 v0.69 是否糾正了這一缺陷,但用戶報告即使使用 0.69 版本,Windows 10 也會提示他們格式化 ext4 驅動器。已知的解決方案是將所述 ext4 驅動器轉換為 32 位版本。