我在 WSL2 下运行 Ubuntu 20.04(包括通过 VcXsrv 的 XFCE4)。
我安装了一个未分区的 mSATA SSD,并允许 Windows 磁盘管理单元将其初始化为 GPT,然后添加了一个未格式化的简单主分区。它在 Windows 磁盘管理中显示为“健康(基本数据分区)”。
我启动了 wsl2,启动了 xfce4,然后使用 sudo 来 gparted。任何地方都找不到新硬盘的踪影。
问题是否仅仅是我允许 Windows 将其初始化为 GPT 而不是 MBR,还是我需要做更深层次的事情来告诉 Ubuntu 20.04(在 wsl2 下)有另一个内部硬盘可供它格式化(作为 BTRFS)和使用?
注意:我看过其他地方的帖子建议我应该使用wsl --mount \\.\PHYSICALDISK2
,但这对我来说不起作用。wsl --mount
需要 Windows 的内部版本。我不是,也不会,所以如果必须做某事视窗水平,它必须是没有取决于wsl --mount
工作情况。也就是说,这个特定的驱动器(及其未来的 BTRFS 文件系统)不必被任何东西使用除了Ubuntu 20.04 在 wsl2 下运行,所以如果我需要暂时依赖一个 hack 来实现这一点,那也没关系仅有的在 wsl2 下对 Ubuntu 可见。我将使用它作为我的 Android AOSP 构建输出目录,因此实际上一切它将可以在几个小时内自动再生。
答案1
正如你所注意到的,访问物理驱动器是未来WSL 的功能。目前,WSL2 获取访问权限的唯一方式是通过 9P 协议,其中 WSL 挂载 Windows 可用的驱动器(通常在 下自动挂载/mnt/<drive letter>
)。
但是,您可能知道,在 WSL 下使用它进行构建输出可能不是一个好主意,因为 9P 访问速度非常慢,尤其是在处理许多小文件时。
我的建议是:
将驱动器格式化为 NTFS,并将其映射到 Windows 下的驱动器号(或在其他地方创建目录连接)。
将实际的 WSL 发行版放在该驱动器上,以便 WSL 下的虚拟 ext4 磁盘作为文件存在。您可以通过
wsl --export
和wsl --import
命令执行此操作。请参阅这个答案在 Stack Overflow 上获取有关如何执行此操作的完整说明。