Ubuntu 24.04.3 LTS 中 vdb 的 UUID 永久挂载没有显示的磁盘的操作步骤

问题是新创建了虚拟机,分配了1T的磁盘,但是系统中df -h看不到,现象如下:

1)查看磁盘情况,发现磁盘没有挂载上分配的1T磁盘,如下:

root@arp:/# df -h

Filesystem Size Used Avail Use% Mounted on

tmpfs 6.3G 1.2M 6.3G 1% /run

/dev/mapper/ubuntu--vg-ubuntu--lv 48G 11G 35G 24% /

tmpfs 32G 0 32G 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

/dev/vda2 2.0G 100M 1.7G 6% /boot

tmpfs 6.3G 12K 6.3G 1% /run/user/0

tmpfs 6.3G 12K 6.3G 1% /run/user/1000

2)执行lsblk名称可以看到是已经分配了的:

root@arp:/# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS

sr0 11:0 1 3.1G 0 rom

vda 253:0 0 100G 0 disk

├─vda1 253:1 0 1M 0 part

├─vda2 253:2 0 2G 0 part /boot

└─vda3 253:3 0 98G 0 part

└─ubuntu--vg-ubuntu--lv 252:0 0 49G 0 lvm /
vdb 253:16 0 1T 0 disk

以下是将vdb挂载到系统中的操作步骤:

1、给 vdb 创建分区(推荐 GPT 分区表)

1TB 磁盘虽可使用 MBR,但 GPT 兼容性更好(支持未来扩容超过 2TB),优先用 parted 创建 GPT 分区:

bash 复制代码
1. 进入 parted 工具操作 vdb(全程交互式,按以下步骤输入)
root@arp:/# sudo parted /dev/vdb
GNU Parted 3.6
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
2. 交互式命令(逐行输入,回车执行):
(parted) mklabel gpt                                                      
Warning: The existing disk label on /dev/vdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
(parted) mkpart primary ext4 0% 100%   
# 退出并保存配置                                   
(parted) quit                                                             
Information: You may need to update /etc/fstab.

2、格式化分区为 ext4 文件系统

分区创建后生成 vdb1(GPT 分区表下默认第一个分区),需格式化:

bash 复制代码
1. 格式化 vdb1 为 ext4(-F 强制格式化,-L 加标签便于识别)
root@arp:/# sudo mkfs.ext4 -F -L DataDisk1T /dev/vdb1                     
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 268434944 4k blocks and 67108864 inodes
Filesystem UUID: f953b4a0-bd3f-49e5-826d-f549c540c10f
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done   

2. 验证格式化结果(关键:获取 UUID,需记录 UUID,后续配置用)
root@arp:/# blkid /dev/vdb1
/dev/vdb1: LABEL="DataDisk1T" UUID="f953b4a0-bd3f-49e5-826d-f549c540c10f" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="c96aa183-b561-44d1-b6d6-506c7984700a"

3、创建挂载点目录,选择自定义挂载点(如 /data,建议为空目录):

root@arp:/# sudo mkdir -p /data

4、配置 /etc/fstab 实现 UUID 永久挂载

bash 复制代码
#先备份 fstab(防止配置错误)
root@arp:/# sudo cp /etc/fstab /etc/fstab.bak
#编辑 fstab 配置文件
root@arp:/# sudo vim /etc/fstab

新增挂载配置行(末尾添加)

格式:UUID=你的UUID 挂载点 文件系统类型 挂载参数 dump值 fsck值

替换为你的 UUID,示例:

UUID=ab49af04-c90e-489d-804b-f12e42b6bc4c /data ext4 defaults 0 2

参数说明:

defaults:默认挂载参数(读写、自动挂载、异步等);

0:禁用 dump 备份(数据盘无需);

2:开机磁盘检查优先级(低于系统盘)。

保存退出 vim

按 Esc → 输入 :wq(保存并退出);若误操作需放弃,输入 :q!。

5、验证配置并生效(关键!避免启动失败)

bash 复制代码
# 1. 测试 fstab 配置(无报错则配置正确)
root@arp:/# sudo mount -a
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
root@arp:/# systemctl daemon-reload
root@arp:/# sudo mount -a

# 2. 验证挂载结果(查看 /data 是否挂载成功)
root@arp:/# df -h|grep /data
/dev/vdb1                         1007G   28K  956G   1% /data

6、最终验证(重启后确认)

bash 复制代码
root@arp:/# sudo reboot

Broadcast message from root@arp on pts/2 (Fri 2025-12-19 06:44:52 UTC):

The system will reboot now!


Broadcast message from root@arp on pts/2 (Fri 2025-12-19 06:44:52 UTC):

The system will reboot now!

重启后验证挂载状态

df -h | grep /data

ls -ld /data # 确认权限是否生效

若能看到 /data 挂载信息且权限正确,说明 vdb 已通过 UUID 永久挂载成功。

bash 复制代码
root@arp:/home/arp# df -h | grep /data
/dev/vdb1                         1007G   28K  956G   1% /data
root@arp:/home/arp# ls -ld /data
drwxr-xr-x 3 root root 4096 Dec 19 06:38 /data
root@arp:/home/arp# 

可以看到。

相关推荐
小政同学5 小时前
【NFS故障】共享的文件无法执行
linux·运维·服务器
AI木马人5 小时前
3.【Prompt工程实战】如何设计一个可复用的Prompt系统?(避免每次手写提示词)
linux·服务器·人工智能·深度学习·prompt
ch3nyuyu5 小时前
Ubuntu(乌班图)基础指令
linux·运维·网络
minglie16 小时前
gcc编译器汇总
linux
挽安学长6 小时前
保姆级教程,通过GACCode使用Claude Code Desktop!
运维·服务器
firstacui7 小时前
MGRE实验
运维·服务器·网络
白菜欣7 小时前
Linux —《开发三件套:gcc/g++、gdb、make/Makefile 全解析》
linux·运维
何中应7 小时前
Grafana如何给列表设置别名
运维·grafana·监控
senijusene8 小时前
基于 imx6ull平台按键驱动开发:input子系统+中断子系统+platform总线
linux·驱动开发
MXsoft6188 小时前
运维的尽头,是把“救火”变成“算命”
运维