由于是win和debian双系统,并且需要在两个系统间共享使用资料分区,因此数据分区采用的是ntfs格式。虽说xfce桌面环境挂载ntfs分区不算麻烦(点下鼠标,再输个密码),但还是希望开机时就能自动挂载。
解决方案#
以需要把win下的D:盘挂载到/mnt/d下为例进行说明。
准备工作#
- 安装
ntfs-3g驱动,已安装则忽略(桌面环境可挂载则证明已有驱动)
1
|
sudo apt update && sudo apt install ntfs-3g
|
- 查看待挂载的
ntfs分区的设备名称和UUID
1
|
lsblk -f # 假设设备名为 /dev/sda3,UUID 为 ABCDFE
|
- 手动创建挂载点
- 查看当前用户的
uid和gid
1
|
id # 一般第一个非root的用户的 uid 和 gid 均为 1000
|
修改配置#
- 编辑
/etc/fstab
- 添加如下内容并保存
1
|
UUID=ABCDFE /mnt/d ntfs-3g defaults,uid=1000,gid=1000,dmask=022,fmask=133,noatime,windows_names 0 0
|
- 重启
配置详解#
1
|
<file system> <mount point> <type> <options> <dump> <pass>
|
<file system>要挂载的设备,常见格式如下:
| 格式 |
示例 |
说明 |
| 设备路径 |
/dev/sda1 |
直接指定分区(不推荐,设备名可能变化) |
| UUID |
UUID=1234-5678 |
唯一标识符(推荐,通过 blkid 或 lsblk -f 查看) |
| 卷标 |
LABEL=Data |
文件系统卷标(需提前用 e2label 等工具设置) |
| 网络路径 |
nas:/share |
NFS/Samba 等网络共享路径 |
-
<mount point>挂载点,必须是已存在的空目录,一般在/mnt下
-
<type>文件系统类型,必须与分区实际类型一致,常见类型如下:
| 类型 |
说明 |
| ext4 |
Linux 原生文件系统 |
| ntfs / ntfs-3g |
Windows NTFS 分区(需安装 ntfs-3g) |
| vfat |
FAT32/exFAT 分区 |
| swap |
交换分区 |
| nfs / cifs |
网络文件系统 |
-
<options>挂载选项,控制挂载后的权限、性能和行为,详见<options>详解
-
<dump>备份标志,已废弃
| 值 |
说明 |
| 0 |
不备份(默认) |
| 1 |
需要备份(极少使用) |
<pass>文件系统检查顺序,控制fsck在启动时的检查顺序
| 值 |
说明 |
适用场景 |
| 0 |
不检查 |
NTFS/FAT/swap 等非 Linux 分区 |
| 1 |
优先检查 |
根分区 / |
| 2 |
次级检查 |
其他 Linux 分区(如 /home) |
<options>详解#
是一个以逗号分隔的列表(两个及以上时)。
挂载行为#
| 选项 |
作用 |
示例 |
说明 |
| defaults |
启用默认选项 |
defaults |
等价于 rw,suid,dev,exec,auto,nouser,async |
| rw / ro |
读写 / 只读 |
ro |
只读挂载(保护数据) |
| exec / noexec |
允许 / 禁止执行文件 |
noexec |
增强安全性(如数据分区) |
| suid / nosuid |
允许 / 禁用 SUID/SGID |
nosuid |
防止提权攻击 |
| dev / nodev |
是否允许挂载设备文件 |
nodev |
防止访问设备(如 /dev/sda1) |
| auto / noauto |
是否开机自动挂载 |
noauto |
手动挂载(如临时分区) |
| user / nouser |
是否允许普通用户挂载 |
user |
允许非 root 用户挂载 |
权限控制#
| 选项 |
作用 |
示例 |
说明 |
| uid |
设置文件所有者 |
uid=1000 |
指定用户 ID(id -u 查看) |
| gid |
设置文件所属组 |
gid=1000 |
指定组 ID(id -g 查看) |
| dmask |
目录权限掩码 |
dmask=022 |
目录权限 = 777 - dmask(如 755) |
| fmask |
文件权限掩码 |
fmask=133 |
文件权限 = 666 - fmask(如 644) |
| umask |
统一权限掩码 |
umask=000 |
同时控制文件和目录权限(不推荐) |
性能与可靠性#
| 选项 |
作用 |
示例 |
说明 |
| async / sync |
异步/同步写入 |
sync |
同步写入更安全,但性能差 |
| atime / noatime |
更新访问时间 |
noatime |
减少磁盘写入(推荐) |
| relatime |
相对访问时间 |
relatime |
平衡性能与兼容性 |
| errors=remount-ro |
错误时只读挂载 |
errors=remount-ro |
防止数据损坏 |
文件系统特定选项#
NTFS/FAT 专用#
| 选项 |
作用 |
示例 |
说明 |
| windows_names |
禁止非法文件名 |
windows_names |
避免创建 *?<> 等 Windows 非法字符 |
| utf8 |
强制 UTF-8 编码 |
utf8 |
正确显示非 ASCII 文件名 |
| shortname=mixed |
处理短文件名 |
shortname=mixed |
兼容旧版 Windows 系统 |
ext4 专用#
| 选项 |
作用 |
示例 |
说明 |
| journal / nojournal |
启用/禁用日志 |
nojournal |
禁用日志(提升性能,但风险高) |
| discard |
启用 TRIM |
discard |
优化 SSD 性能 |
| data=writeback |
日志模式 |
data=writeback |
性能优先(默认 data=ordered) |
swap 分区#
| 选项 |
系统 |
说明 |
| sw |
OpenBSD等BSD |
必要的,用于标记交换分区 |
| sw |
Linux |
只是一个占位符 |