如何让 Windows 读取 ext4、zfs 等 Linux 驱动器?

如何让 Windows 读取 ext4、zfs 等 Linux 驱动器?

在 Linux 中,像 这样的软件包ntfs-3g可使 Linux 系统能够读取和写入 NTFS 驱动器。但是,当我将以前在 Linux 中使用的驱动器连接到 Windows 系统时,Windows 无法识别该驱动器。是否有任何实用程序可使 Windows 能够读取和写入 Linux 分区方案?

答案1

您现在也可以使用适用于 Linux 的 Windows 子系统执行此操作。

要使用 WSL 挂载 Linux 分区,您需要安装 WSL 发行版。(https://learn.microsoft.com/en-us/windows/wsl/install/https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10

步骤1: 从 wmic 读取磁盘设备 ID(使用 CMD.exe)

wmic diskdrive list brief

其结果如下表所示:

Caption                              DeviceID            Model                                Partitions  Size
Generic MassStorageClass USB Device  \\.\PHYSICALDRIVE1  Generic MassStorageClass USB Device  0
WDC PC SN530 SDBPNPZ-1T00-1002       \\.\PHYSICALDRIVE0  WDC PC SN530 SDBPNPZ-1T00-1002       5           1024203640320

您需要包含要安装的 Linux 分区的磁盘的“DeviceID”以及分区号。要获取分区号,请使用:

wmic diskdrive get manufacturer, model, partitions

wmic partition get BlockSize, StartingOffset, Name, Index

以获取正确的分区号。

第 2 步:使用此命令挂载分区:

wsl --mount \\.\PHYSICALDRIVE1 --partition 1 -t ext4

然后您可以在资源管理器中打开此路径来访问 Linux 分区:

\\wsl$\Ubuntu-20.04\mnt\wsl

感谢 Linux nightly (https://linuxnightly.com/mount-and-access-hard-drives-in-windows-subsystem-for-linux-wsl/

如果您希望挂载整个磁盘,请使用--bare而不指定选项:

wsl --mount \\.\PHYSICALDRIVE1 --bare

但随后您需要手动将磁盘挂载到 wsl 内。您可以在此处找到更多信息:(https://learn.microsoft.com/en-us/windows/wsl/wsl2-mount-disk

答案2

对于 ext2/ext3/ext4,我使用 ext2fsd,尽管它是一个已停产的项目,但在 Windows 10 下仍能正常工作。尚未在 W11 下测试过。

我个人会使用虚拟机,例如 VirtualBox 和 Linux + Samba/SFTP/FTP 服务器来访问其他文件系统,例如 btrfs、XFS 或 ZFS。原生 FS 驱动程序比 Windows 上的任何驱动程序都好。

相关内容