前言
虽说主流系统基本都支持exfat格式的硬盘,但是Ubuntu在内核小于5.3
的版本默认是无法支持exfat格式的硬盘的1,可以通过uname -r
查看系统内核是否支持exfat。下面介绍对于内核版本小于5.3
的版本如何挂载exfat格式的硬盘。
步骤
安装工具包
安装支持exfat的工具包
sudo apt update
#安装工具包
sudo apt install exfat-fuse exfat-utils
# Ubuntu 22.04使用下面的工具包
# sudo apt install exfat-fuse exfatprogs
挂载
查询并挂载硬盘。
# 查询需要挂载的硬盘
sudo fdisk -l
接下来将对应的分区挂载到指定文件夹。
# 挂载到的文件夹
sudo mkdir /mnt/data
# 将对应挂载到该文件夹
sudo mount /dev/nvme1n1p1 /mnt/data
开机自动挂载
可以通过编辑/etc/fstab
实现开机自动挂载硬盘。首先查询对应分区的UUID
# 查询分区UUID
sudo blkid
编辑/etc/fstab
sudo vim /etc/fstab
# 在文件末尾添加一行
UUID=6031-068A /mnt/data exfat defaults 0 0
其中UUID更改为查询的结果,/mnt/data
为需要挂载的位置。
非root用户挂载exfat格式
使用上面的方法可以实现exfat格式硬盘的挂载,但对于非root用户却没有写权限。下面为非root用户挂载的方法。
当非root用户写入exfat格式的硬盘时,会产生如下错误:
# 以更改文件所有者的命令为例
chown: changing ownership of `testfile': Operation not permitted
可以在挂载的同时添加用户ID和组ID解决2:
# 查询用户id
id username # username为需要操作的用户名
其中uid和gid即为对应的结果。
然后使用uid和gid挂载对应的硬盘分区。
sudo mount -t exfat uid=1000,gid=1000 /dev/nvme1n1p1 /mnt/data
如果需要开机自动挂载,则在/etc/fstab
添加一行:
vim /etc/fstab
# 添加一行
UUID=6031-068A /mnt/data exfat defaults,uid=1000,gid=1000 0 0
在defaults后面添加uid和gid即可,注意中间使用逗号隔开
存在的问题
在exfat格式的硬盘中,无法支持软连接与硬连接。
我在使用miniconda
创建环境是时,会产生如下问题:
[Errno 1] Operation not permitted: 'cacert.pem' -> '/xxx/cert.pem'
参考
封面图