在 Debian 系统中实现自动挂载(开机自动挂载磁盘/分区),最常用、最标准的方法是修改 /etc/fstab 文件。下面按常见场景详细说明。
推荐用 UUID 而不是 /dev/sdX,因为设备名可能会变。
lsblk -f
或:
blkid
示例输出:
/dev/sda1: UUID="a1b2c3d4-1234-5678" TYPE="ext4"
例如挂载到 /data:
sudo mkdir -p /data
/etc/fstabsudo nano /etc/fstab
添加一行(示例):
UUID=a1b2c3d4-1234-5678 /data ext4 defaults 0 2
| 字段 | 含义 |
|---|---|
| UUID | 磁盘唯一标识 |
| /data | 挂载点 |
| ext4 | 文件系统类型 |
| defaults | 挂载选项 |
| 0 | 是否 dump |
| 2 | fsck 检查顺序(根分区是 1,其他是 2) |
sudo mount -a
如果没有报错,说明配置正确。
sudo apt update
sudo apt install ntfs-3g
UUID=XXXXXX /mnt/ntfs ntfs-3g defaults 0 0
sudo apt install exfat-fuse exfatprogs
UUID=XXXXXX /mnt/usb vfat defaults,uid=1000,gid=1000 0 0
sudo apt install nfs-common
server:/share /mnt/nfs nfs defaults 0 0
sudo apt install cifs-utils
//192.168.1.100/share /mnt/smb cifs username=user,password=pass,iocharset=utf8 0 0
⚠️ 安全建议:密码不要直接写在 fstab,可用 credentials 文件。
适合临时设备或需要延迟挂载的情况。
示例:
[Unit]
Description=Mount Data Disk
[Mount]
What=/dev/sda1
Where=/data
Type=ext4
[Install]
WantedBy=multi-user.target
然后:
sudo systemctl enable data.mount
sudo systemctl status local-fs.target
dmesg | tail
journalctl -xe
✅ 使用 UUID
✅ 修改 fstab 后一定执行 mount -a
✅ 不要挂载到 / 或 /home 内已有目录
✅ 网络挂载加 _netdev 参数
如果你愿意,可以告诉我:
我可以给你完全定制的 fstab 配置。