最近服务器新添加了一块硬盘,需要自己挂载上去,下面记录一下方法,供有需要的朋友参考。
下面介绍使用systemd自动挂载的方法
使用systemd自动挂载的好处是,systemd提供了强大的管理系统服务和挂载点的功能,通过创建mount单元文件,可以实现自动挂载,并且具有更好的错误处理和依赖管理。
方法如下:
步骤一:获取硬盘设备的UUID,执行代码:
lsblk -f
执行后,输出以下信息:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashfs 4.0 0 100% /snap/core20/1434
loop1 squashfs 4.0 0 100% /snap/lxd/22923
loop3 squashfs 4.0 0 100% /snap/snapd/25202
loop4 0 100% /snap/core20/2599
loop5 0 100% /snap/lxd/31333
sr0 iso9660 cidata 2025-09-12-16-07-19-00
vda
├─vda1 ext4 1.0 cloudimg-rootfs 2a6b8daa-1d70-43b6-84e1-8d987d9f1411 33.5G 13% /
├─vda14
└─vda15 vfat FAT32 UEFI E0AB-332A 98.3M 6% /boot/efi
vdb
└─vdb1 ext4 1.0 0fe03e75-13e4-40ce-b68e-fc7b560fb548
上述中,硬盘vda1是旧有的系统盘,而vdb1是新安装的数据盘。
步骤二:创建挂载点目录。选择一个挂载点并创建目录,执行代码:
sudo mkdir /mnt/vdb1
步骤三:创建systemd挂载单元文件
systemd使用特殊命名规则的单元文件来管理挂载。文件名基于挂载点路径生成,将斜杠替换为连字符,并添加.mount后缀。
**示例:**对于挂载点/mnt/vdb1,单元文件名应为mnt-vdb1.mount
创建单元文件:
sudo nano /etc/systemd/system/mnt-vdb1.mount
在该文件中添加以下内容:
[Unit]
Description=Mount NVMe Disk to /mnt/vdb1 After=network.target
[Mount]
What=UUID=0fe03e75-13e4-40ce-b68e-fc7b560fb548
Where=/mnt/vdb1
Type=ext4
Options=defaults
[Install]
WantedBy=multi-user.target
参数说明:
What:要挂载的设备,可以使用UUID或设备路径。
Where:挂载点目录。
Type:文件系统类型,根据实际情况设置(如ext4、ntfs等)。
Options:挂载选项,defaults通常足够,但可以根据需要添加其他选项。
步骤四:重新加载systemd守护进程并启用挂载
sudo systemctl daemon-reload
sudo systemctl enable mnt-vdb1.mount
sudo systemctl start mnt-vdb1.mount
步骤五: 验证挂载
df -h | grep /mnt/vdb1
如果看到挂载信息,说明成功。
systemd自动挂载的优点:
可靠性高:systemd提供了更好的错误处理和依赖管理。
易于管理:可以使用systemctl命令方便地启动、停止和检查挂载状态。
独立性:不会直接修改/etc/fstab文件,降低了配置错误的风险。

