由于是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 |
只是一个占位符 |