PS: 要在wsl2中挂载物理盘,需要先将你要挂载的磁盘在 磁盘管理 里面 进行 “脱机”处理。
1、查看win上的磁盘列表:
确定磁盘
若要列出 Windows 中的可用磁盘,请运行:
wmic diskdrive list brief
磁盘路径位于 “DeviceID” 列下。 通常在 \\.\PHYSICALDRIVE*
格式下。
列出并选择要装入的分区 WSL 2
确定磁盘后,运行以下内容:
wsl --mount <DiskPath> --bare
这会使磁盘在 WSL 2 中可用。
附加后,可以通过在 WSL 2 中运行以下命令列出该分区:
lsblk
这会显示可用块设备及其分区。
在 Linux 内,块设备被标识为 /dev/<Device><Partition>
。 例如,/dev/sdb3 是磁盘的第3部分 sdb
。
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 1G 0 disk ├─sdb2 8:18 0 50M 0 part ├─sdb3 8:19 0 873M 0 part └─sdb1 8:17 0 100M 0 part sdc 8:32 0 256G 0 disk / sda 8:0 0 256G 0 disk
标识 filesystem 类型
如果不知道磁盘或分区的文件系统类型,可以使用以下命令:
blkid <BlockDevice>
这会在 “) ” 格式下输出检测到的文件系统类型 (TYPE="<Filesystem>"
。
2、装载所选分区
确定要装载的分区后,请在每个分区上运行以下命令:
wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>
3、卸载磁盘
wsl --unmount <DiskPath>
4、重启后自动加载:
利用上述命令,确实可以正确加载物理磁盘到wsl2中,但是有个致命问题:重启后不会自动重新加载。
因此,我们需要编写一个脚本,进行自动加载
4.1、编写一个 mount.bat文件:
::为注释 ::wsl --mount \\.\PHYSICALDRIVE3 --bare wsl --mount \\.\PHYSICALDRIVE4 --partition 1 -t xfs wsl --mount \\.\PHYSICALDRIVE2 --partition 1 -t ext4
文件放入 administrator的文档中。
4.2、打开计划任务(开始菜单-> windows 管理工具->任务计划程序):
创建任务:
选择:常规(”不管用户是否登录都运行“ && ”使用最高权限“)->触发器(”系统启动时“)-> 操作(启动程序,选择mount.bat)
这样重启后会自动挂载了。当然,你也可以做成 系统 service。