Debian开机自动挂载ntfs分区

文章首发于个人博客

背景

由于是windebian双系统,并且需要在两个系统间共享使用资料分区,因此数据分区采用的是ntfs格式。虽说xfce桌面环境挂载ntfs分区不算麻烦(点下鼠标,再输个密码),但还是希望开机时就能自动挂载。

解决方案

以需要把win下的D:盘挂载到/mnt/d下为例进行说明。

准备工作

  1. 安装ntfs-3g驱动,已安装则忽略(桌面环境可挂载则证明已有驱动)
sh 复制代码
sudo apt update && sudo apt install ntfs-3g
  1. 查看待挂载的ntfs分区的设备名称UUID
sh 复制代码
lsblk -f # 假设设备名为 /dev/sda3,UUID 为 ABCDFE
  1. 手动创建挂载点
sh 复制代码
sudo mkdir /mnt/d
  1. 查看当前用户的uidgid
sh 复制代码
id # 一般第一个非root的用户的 uid 和 gid 均为 1000

修改配置

  1. 编辑/etc/fstab
sh 复制代码
sudo vi /etc/fstab
  1. 添加如下内容并保存
ini 复制代码
UUID=ABCDFE /mnt/d ntfs-3g defaults,uid=1000,gid=1000,dmask=022,fmask=133,noatime,windows_names 0 0
  1. 重启

配置详解

xml 复制代码
<file system> <mount point> <type> <options> <dump> <pass>
  1. <file system>要挂载的设备,常见格式如下:
格式 示例 说明
设备路径 /dev/sda1 直接指定分区(不推荐,设备名可能变化)
UUID UUID=1234-5678 唯一标识符(推荐,通过 blkid 或 lsblk -f 查看)
卷标 LABEL=Data 文件系统卷标(需提前用 e2label 等工具设置)
网络路径 nas:/share NFS/Samba 等网络共享路径
  1. <mount point>挂载点,必须是已存在的空目录 ,一般在/mnt

  2. <type>文件系统类型,必须与分区实际类型一致,常见类型如下:

类型 说明
ext4 Linux 原生文件系统
ntfs / ntfs-3g Windows NTFS 分区(需安装 ntfs-3g)
vfat FAT32/exFAT 分区
swap 交换分区
nfs / cifs 网络文件系统
  1. <options>挂载选项,控制挂载后的权限、性能和行为,详见<options>详解

  2. <dump>备份标志,已废弃

说明
0 不备份(默认)
1 需要备份(极少使用)
  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 只是一个占位符
相关推荐
大连好光景3 小时前
你管这玩意叫网络?网络图解
linux·服务器·网络
编程乐学(Arfan开发工程师)4 小时前
56、原生组件注入-原生注解与Spring方式注入
java·前端·后端·spring·tensorflow·bug·lua
ZZH1120KQ6 小时前
Linux 进程和计划任务管理
linux
Elcker6 小时前
Springboot+idea热更新
spring boot·后端·intellij-idea
南玖yy8 小时前
深入理解 x86 汇编中的符号扩展指令:从 CBW 到 CDQ 的全解析
开发语言·汇编·arm开发·后端·架构·策略模式
Linux运维技术栈8 小时前
Vim 命令大全:从入门到精通
linux·编辑器·vim
c7_ln8 小时前
Linux基本指令(包含vim,用户,文件等方面)超详细
linux·操作系统·vim
晨曦backend9 小时前
Vim 撤销 / 重做 / 操作历史命令汇总
linux·编辑器·vim
晨曦backend9 小时前
Vim 插件管理:MiniBufExplorer 使用指南
linux·编辑器·vim