Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux磁盘开机挂载

Linux磁盘开机挂载的实现步骤

作者:问道飞鱼

在Linux系统中,通过修改/etc/fstab文件,可以实现磁盘开机自动挂载,文章详细介绍了挂载和开机自动挂载的基本概念,以及实现步骤,需要的朋友可以参考下

在 Linux 系统中,如果你希望将某块磁盘(或分区)开机自动挂载到指定的目录(比如 /mnt/data),你需要修改系统的 /etc/fstab 文件,这是控制开机自动挂载的核心配置文件。

一、基本概念

什么是挂载(mount)?

什么是开机自动挂载?

二、实现步骤

步骤 1:确认磁盘设备名和文件系统类型

1.1 查看当前系统中的磁盘和分区

lsblk

sudo fdisk -l

输出示例:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0  512M  0 part /boot
└─sda2   8:2    0 99.5G  0 part /
sdb      8:16   0   50G  0 disk 
└─sdb1   8:17   0   50G  0 part 

1.2 查看该分区的文件系统类型

sudo blkid /dev/sdb1

输出示例:

/dev/sdb1: UUID="1234abcd-5678-efgh-9012-ijklmnopqrstuv" TYPE="ext4"

推荐使用 UUID 来标识磁盘,而不是 /dev/sdX 名称,因为设备名可能在重启后发生变化。

步骤 2:创建挂载目标目录

比如你想把 /dev/sdb1 挂载到 /mnt/mydata,先创建这个目录:

sudo mkdir -p /mnt/mydata

你可以自定义这个路径,比如 /data/media/disk1 等。

步骤 3:编辑/etc/fstab文件,添加自动挂载配置

使用你喜欢的编辑器(如 nanovi)编辑 fstab 文件:

sudo nano /etc/fstab

在文件末尾添加一行,格式如下:

UUID=<你的分区UUID>  <挂载点目录>  <文件系统类型>  <挂载选项>  <dump>  <fsck顺序>

举个例子:

假设:

那么添加的一行是:

UUID=1234abcd-5678-efgh-9012-ijklmnopqrstuv  /mnt/mydata  ext4  defaults  0  2

参数解释:

字段含义示例/推荐值
UUID=…磁盘分区的唯一标识符(推荐)使用 blkid 命令查看
/mnt/mydata本地挂载目标目录你自己创建的目录
ext4文件系统类型,如 ext4, xfs, ntfs, vfatblkid 查看 TYPE
defaults挂载选项:读写、可执行、suid等常用:defaults,也可用 noatime,nodiratime 等优化选项
0是否使用 dump 备份(一般填 0)0 表示禁用
2是否在启动时检查文件系统(ext*系列一般非根分区填 2,根分区为 1)根分区为 1,其他一般为 2,swap 为 0

如果你不确定文件系统类型,填 auto 也可以(但不够严谨,建议明确类型)。

其他常见例子:

挂载 NTFS 格式磁盘(如移动硬盘):

UUID=ABCD1234EF567890  /mnt/usb  ntfs-3g  defaults,uid=1000,gid=1000  0  0

需要安装 ntfs-3g 软件包(Ubuntu/Debian: sudo apt install ntfs-3g

挂载NAS盘

# 添加以下行(根据需求选择配置)
# 基础配置
nas-server.local:/export/data /mnt/nas/data nfs defaults 0 0

# 带超时和重试的配置
nas-server.local:/export/data /mnt/nas/data nfs defaults,timeo=300,retrans=3,_netdev 0 0

# 高性能配置(适合千兆网络)
nas-server.local:/export/data /mnt/nas/data nfs rw,hard,intr,rsize=32768,wsize=32768,_netdev 0 0

# 软挂载(对网络波动敏感的应用不推荐)
nas-server.local:/export/data /mnt/nas/data nfs rw,soft,timeo=100,retrans=3,_netdev 0 0

挂载为只读:

UUID=...  /mnt/readonly_disk  ext4  ro  0  2

挂载时不自动挂载(比如用于手动挂载):

如果某行不想开机挂载,可以暂时注释掉(行首加 #)。

步骤 4:测试 fstab 配置是否正确(重要!)

在重启之前,强烈建议先测试 fstab 配置是否有误:

sudo mount -a

你可以通过以下命令检查是否挂载成功:

df -h

lsblk

你应该能看到 /dev/sdb1 已经挂载到了 /mnt/mydata

步骤 5:重启系统,验证自动挂载

sudo reboot

重启后,运行:

df -h

检查你的目标挂载点(如 /mnt/mydata)是否已经成功挂载,且来自正确的磁盘分区。

三、补充说明

1. 为什么推荐使用 UUID,而不是 /dev/sdX?

你可以通过以下命令获取磁盘的 UUID:

sudo blkid

输出示例:

/dev/sda1: UUID="abcd1234..." TYPE="ext4"
/dev/sdb1: UUID="1234abcd-5678..." TYPE="ext4"

2. 如何找到磁盘的 UUID 和 文件系统类型?

sudo blkid

或者针对某个分区:

sudo blkid /dev/sdb1

3. 如果磁盘是新的/未格式化的,需要先格式化!

如果你要挂载的磁盘是新磁盘或未格式化的,你需要先:

  1. 确认磁盘没有被使用/挂载
  2. 格式化磁盘(谨慎操作,会清空数据!)

例如,格式化为 ext4:

sudo mkfs.ext4 /dev/sdb1

或者格式化为 xfs:

sudo mkfs.xfs /dev/sdb1

格式化会清空该分区上所有数据,请确保你选择了正确的设备!

四、总结:Linux 开机自动挂载磁盘的完整流程

步骤操作内容
1️⃣使用 lsblkfdisk -l 找到你想要挂载的磁盘分区(如 /dev/sdb1
2️⃣使用 sudo blkid /dev/sdb1 获取该分区的 UUID文件系统类型(如 ext4)
3️⃣创建本地挂载目录,如 sudo mkdir -p /mnt/mydata
4️⃣编辑 /etc/fstab 文件,添加一行类似:
UUID=xxxxxx /mnt/mydata ext4 defaults 0 2
5️⃣测试 fstab 是否正确:sudo mount -a,然后用 df -h 检查
6️⃣重启系统,验证是否自动挂载成功

以上就是Linux磁盘开机挂载的实现步骤的详细内容,更多关于Linux磁盘开机挂载的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文