Windows-RW-LinuxFS

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 位版本。

6. 文件系统对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值