从Windows子系统访问Ubuntu分区


Answers:


11

是否可以从中访问EXT4分区?

WSL似乎无法访问Windows本身无法访问的任何分区。此外,它似乎仅限于由系统本身安装的NTFS分区。这意味着即使使用NTFS文件系统,也无法访问网络共享。

以下语句支持这一点:

WSL向系统范围的驱动器查询DriveFS;不会拾取每个用户的信函挂载(例如某些网络映射或Paragon的ext4fs Windows驱动程序)。

其中一个WSL开发商证实了这是事实。

您基本上是正确的。当前,我们仅支持固定的NTFS卷。

如何进入ext4分区

看来此信息对于Windows 10 1703及以下版本(从Windows 10 1709开始)是正确的,但应该是可能的。

在最新的Windows Insider构建中,Linux的Windows子系统(WSL)现在允许您使用DrvFs文件系统手动安装Windows驱动器。以前,当您启动Bash时,WSL会自动安装所有固定的NTFS驱动器,但是不支持安装其他存储,例如可移动驱动器或网络位置。

现在,您不仅可以手动在系统上挂载任何驱动器,而且还增加了对其他文件系统(如FAT)的支持,以及对网络位置的支持。这使您能够从WSL内访问Windows中所有驱动器,包括可移动USB记忆棒或CD,以及在Windows中可以访问的任何网络位置。

Windows Linux子系统的文件系统改进

由于该分区已经存在于驱动器上,因此您应该能够将其挂载,就像Linux中的任何其他分区一样。但是,根据我发现的信息和示例,这可能是不可能的,因为Windows本身不知道如何处理EXT4分区。

为了使用DrvFs挂载Windows驱动器,可以使用常规的Linux挂载命令。例如,要将可移动驱动器D:作为/ mnt / d目录挂载,请运行以下命令:

$ sudo mkdir / mnt / d

$ sudo mount -t drvfs D:/ mnt / d

现在,您将可以访问/ mnt / d下D:驱动器的文件。例如,当您希望卸载驱动器以便可以安全地将其卸下时,请运行以下命令:

$ sudo umount / mnt / d

以下问题与该主题相关:Windows 10 Ubuntu Bash Shell:如何安装其他Windows驱动器?,尽管我还没有直接从中获取任何东西,但它仍然与从WSL内装入卷有关。


5

是的你可以。我经常使用ext2fsd从Windows 访问ext4卷。通常,我的要求是进行读取访问,这是我对其进行配置的方式,并且它运行良好。

我偶尔测试写访问时不会注意到问题,但是我没有足够使用它来保证其可靠性。

SourceForge链接将其描述为Windows的Linux ext2 / ext3文件系统驱动程序,它当然可以毫无问题地读取ext4卷,但是在我对它进行了很多测试或测试之前,我不会依靠它进行写访问。看到一些关于ext4受支持的保证。


2
用户并没有真正问过如何从Windows中访问EXT4,这确实有据可查,而是用户如何从Ubuntu中访问EXT4卷,特别是Windows Subsystem for Linux变体。现在,我不同意使用ext2fsd允许他们执行此操作,因为他们可以使用我提供的命令简单地装载卷。
Ramhound

1
@Ramhound-一旦安装了该卷,ext2fsd就可以像其他Windows卷一样从WSL访问该卷。
AFH

@AFH您将如何将其安装到WSL?
Aftab Naveed

WSL启动时,所有带有驱动器号的Windows卷都会自动安装,包括使用进行访问的卷ext2fsd。我分配U:给Ubuntu分区,WSL则将其视为/mnt/u/。输入df进行检查。
AFH

1
@ygoe-​​在我的Win10x64桌面(目前为1803)上可以正常工作,但是在任何以前的版本中都没有问题。它在启动时不带参数运行。
AFH
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.