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 只是一个占位符
相关推荐
ai小鬼头38 分钟前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github
Touper.44 分钟前
SpringBoot -- 自动配置原理
java·spring boot·后端
一只叫煤球的猫1 小时前
普通程序员,从开发到管理岗,为什么我越升职越痛苦?
前端·后端·全栈
一只鹿鹿鹿1 小时前
信息化项目验收,软件工程评审和检查表单
大数据·人工智能·后端·智慧城市·软件工程
M4K02 小时前
Linux百度网盘优化三板斧
linux
好奇的菜鸟2 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
专注VB编程开发20年2 小时前
开机自动后台运行,在Windows服务中托管ASP.NET Core
windows·后端·asp.net
程序员岳焱2 小时前
Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
后端·mysql·性能优化
bcbobo21cn2 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile
一只叫煤球的猫2 小时前
手撕@Transactional!别再问事务为什么失效了!Spring-tx源码全面解析!
后端·spring·面试