在 powershell 中确定 Linux 文件系统驱动器类型以进行自动挂载

在 powershell 中确定 Linux 文件系统驱动器类型以进行自动挂载

我有 Windows 10 Dev Channel Insiders 预览版(技术上是 Windows 11),我通常会为 wsl2 手动安装我的 ssd ext4 驱动器

目标:有时当你遇到某些在 Windows 上无法运行的东西,而你希望它始终在 wsl2 上运行,那么一遍又一遍地重复同样的事情就会变得很乏味,这就是为什么我想自动将 ext4 fs 设备安装到 wsl2,而无需我在 powershell 中进行交互,这可能吗?

背景:我对 powershell 完全陌生,仍然处于非常基础的阶段,我不打算在它上面浪费很多时间,因为我确实有工作要做,我有一个目标要实现,请原谅我对 windows 缺乏了解,我是 mac 和 linux 用户,但好奇心是学习的关键。

问题:我想知道是否有任何命令类似于df -ThLinux 中的命令,显示所有受 Windows 支持的文件系统类型,如“NTFS/FAT32/FAT16/EXFAT/etc...”或不受支持的文件系统类型,如“EXT4/EXT3/EXT2/任何其他基于 Linux 的 fs 类型”。

df -Th示例结果:

图片:https://linuxhandbook.com/content/images/2020/06/screenshot_7-1.png

我的声誉不够,无法发布它... 图片来源

最不期望的行为:我希望结果显示 ext*,基本上我想知道是否有办法在 powershell 中区分 linux 驱动器。

结果结构与其显示方式无关,无论是 json 还是表格还是列表还是纯文本,只要我获得有关文件系统类型的任何有价值的结果就没有问题。

答案1

列出磁盘

Windows 最接近的命令df -Th是:

$ wmic logicaldisk get caption, description, providername, volumename, filesystem, size, deviceid

例如1

$ wmic logicaldisk get caption, description, providername, volumename, filesystem, size, deviceid

Caption Description FileSystem ProviderName Size VolumeName DeviceID
C: Local Fixed Disk NTFS 499099860992 OS \\.\PHYSICALDRIVE0
Q: Network Connection NTFS \\dc1\c$ 42580570112 \\.\PHYSICALDRIVE1
X: Network Connection NTFS \\kfb\HomeFolders\home\stromd 1000202039296 Venus Drive \\.\PHYSICALDRIVE0

有关 wmiclogicaldisk操作的更多信息,请参见这里

挂载磁盘

找到磁盘后,您可以通过以下方式挂载它2

wsl --mount <DiskPath>

使用您找到的 DeviceIDwmic logicaldisk作为DiskPath

例如,wsl --mount \\.\PHYSICALDRIVE3。默认情况下,文件系统是ext4,但是如果您希望指定文件系统,请使用标志--type3

卸载磁盘

您可以通过以下方式卸载已安装的磁盘

wsl --unmount <DiskPath>

命令。4如果省略DiskPath,则所有附加的磁盘都将被卸载并分离。5

相关内容