我有 Windows 10 Dev Channel Insiders 预览版(技术上是 Windows 11),我通常会为 wsl2 手动安装我的 ssd ext4 驱动器
目标:有时当你遇到某些在 Windows 上无法运行的东西,而你希望它始终在 wsl2 上运行,那么一遍又一遍地重复同样的事情就会变得很乏味,这就是为什么我想自动将 ext4 fs 设备安装到 wsl2,而无需我在 powershell 中进行交互,这可能吗?
背景:我对 powershell 完全陌生,仍然处于非常基础的阶段,我不打算在它上面浪费很多时间,因为我确实有工作要做,我有一个目标要实现,请原谅我对 windows 缺乏了解,我是 mac 和 linux 用户,但好奇心是学习的关键。
问题:我想知道是否有任何命令类似于df -Th
Linux 中的命令,显示所有受 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
,但是如果您希望指定文件系统,请使用标志--type
。3
卸载磁盘
您可以通过以下方式卸载已安装的磁盘
wsl --unmount <DiskPath>