目录标题
- 1. 挂载步骤
- 2. 卸载步骤
- 3.在wsl中配置分区自动加载
众所周知,要想在windows上面访问ext4 linux分区还是很费劲的。之前有开源的ext2fsd方案,或者用paragon提供的付费版本的Paragon ExtFS。前者已经很久没有更新了,稳定性和可靠性是个问题,后者毕竟要付费才能用。
好在自从在windows上面有了wsl以后,又为我们提供了一个新的途径。Windows Subsystem for Linux(简称WSL)是一项使得在Windows操作系统上运行Linux环境的功能。通过WSL,用户可以在Windows系统中享受到Linux的强大功能和开发工具。通过WSL也可以让我们挂载EXT4的分区,从而在windows环境上能够读取原来只能在linux中访问的磁盘分区中的内容。
以下将详细介绍挂载步骤和卸载步骤,以及如何配置来实现linux中的自动分区挂载。
1. 挂载步骤
以下描述了手工挂载的各个步骤:
- 以管理员方式进入powershell
- 获取待加载的磁盘信息
在命令行中输入以下命令:
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
得到如下磁盘列表:
找到其中的磁盘,这里为\\.\PHYSICALDRIVE1
- 将磁盘挂载到wsl环境中
在powershell命令行下面,输入以下命令:
wsl.exe --mount \\.\PHYSICALDRIVE4 --bare
如果显示:
操作完成
那么我们知道已经成功将磁盘挂载到了wsl环境下面了,接下去可以由wsl中的linux进行加载了。
- 进入wsl的命令行环境
- 在wsl命令行环境中查看磁盘列表
lsblk
得到如下磁盘列表:
其中sdd1正式我们要mount的磁盘
- 在wsl命令行下面用mount命令挂载磁盘
假设我们把磁盘挂载到/data目录,并且在wsl里面已经创建了/data目录,
mount -t ext4 /dev/sdd1 /data
再用lsblk查看,会得到如下的输出:
可以看到,sdd1已经成功挂载到/data目录下面了。
加载完毕后,可以通过windows的资源浏览器看到该磁盘上的内容了,如下图:
2. 卸载步骤
安全的卸载步骤如下:
- 在wsl下面先umount挂载的磁盘
沿用上面的例子,把/data目录卸载掉,命令如下:
umount /data
- windows卸载给wsl提供的磁盘
wsl.exe --unmount \\.\PHYSICALDRIVE1
当然,我们也可以直接通过shutdown wsl来间接卸载磁盘
wsl.exe --shutdown
或者关闭一个指定的wsl实例,如:
wsl.exe --terminate Ubuntu-22.04
3.在wsl中配置分区自动加载
每次挂载磁盘都需要敲命令比较麻烦,我们可以在wsl的linux环境中配置自动加载ext4分区。首先,如第1节中的步骤1到步骤3一样,在powershell中还是需要手工将磁盘挂载到wsl环境中。然后可以配置wsl环境中的linux,让wsl运行linux的时候自动挂载上ext4磁盘分区。
不过我发现每次启动wsl的时候,磁盘的设备名称经常会变化,因此,自动加载不能用设备名称,我们可以用待挂载的磁盘的设备UUID进行配置。操作步骤如下:
- 查看待挂载磁盘的uuid
在wsl环境下面的linux命令行中输入:
blkid
得到如下图的输出:
其中/dev/sdd1正是我们要挂载的磁盘,对应的UUID为08563222-2560-2d49-a14a-6b3339615402
,
- 配置 fstab实现自动挂载:
用vim打开/etc/fstab文件,添加如下配置: