CentOS 7如何用fdisk查看磁盘分区UUID?

在CentOS 7系统中,磁盘管理是系统管理员的核心技能之一。fdisk作为一款经典且强大的分区表操作工具,与UUID(通用唯一识别码)的结合使用,构成了现代Linux系统中稳定、可靠的磁盘管理基础,理解它们之间的关系和工作原理,对于确保数据安全和系统稳定性至关重要。

CentOS 7如何用fdisk查看磁盘分区UUID?

认识 fdisk:磁盘分区的利器

fdisk是一个基于命令行的交互式分区表操作工具,主要用于MBR(主引导记录)和GPT(GUID分区表)格式的磁盘分区,在CentOS 7中,它几乎是默认安装的,是进行磁盘分区查看、创建、删除等操作的首选工具之一。

要查看当前系统连接的所有磁盘及其分区结构,最常用的命令是:

sudo fdisk -l

执行该命令后,系统会列出类似以下的详细信息:

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a8b56
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    41943039    20765696   8e  Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
...

从输出中,我们可以清晰地看到每块磁盘(如/dev/sda/dev/sdb)的大小、扇区信息以及其上的分区列表,每个分区都有对应的设备名(如/dev/sda1)、启动标志、起始和结束扇区、大小以及分区ID和系统类型(如83代表Linux,8e代表Linux LVM),通过fdisk /dev/sdb进入交互模式后,可以使用n创建新分区,d删除分区,t更改分区类型,最后用w保存更改并退出。

UUID:为分区赋予不变的“身份证”

尽管/dev/sda1这样的设备名非常直观,但它存在一个致命的缺陷:不稳定性,当您添加或移除硬盘,甚至在某些内核更新后,设备名可能会发生变化,原本的/dev/sdb可能在重启后变成了/dev/sdc,如果系统配置文件(如/etc/fstab)中使用了设备名来挂载分区,那么这种变化将导致分区挂载失败,系统可能出现严重错误。

CentOS 7如何用fdisk查看磁盘分区UUID?

为了解决这个问题,Linux引入了UUID,UUID是一个128位的数字,通常表示为32个十六进制数字,以连字符分隔(f0b7b8e1-5e2c-4a0d-8f7a-6b9c0d3e2f1a),它的最大特点是“全局唯一性”,在创建文件系统时生成,并作为该文件系统的一个永久属性,除非重新格式化,否则UUID不会改变。

获取分区的UUID非常简单,最常用的命令是blkid(Block ID):

sudo blkid /dev/sda1

输出结果如下:

/dev/sda1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4" PARTUUID="..."

这里清晰地显示了/dev/sda1分区的UUID和文件系统类型,使用ls -l /dev/disk/by-uuid/命令也可以看到UUID到设备文件的符号链接。

实践:在 /etc/fstab 中使用UUID

/etc/fstab文件是CentOS 7及其他Linux系统用于定义静态文件系统信息的核心配置文件,系统启动时会读取此文件,自动挂载其中定义的分区,使用UUID代替设备名是最佳实践。

CentOS 7如何用fdisk查看磁盘分区UUID?

下面是一个对比表格,清晰地展示了两种方法的优劣:

方法 示例 优点 缺点
设备名 /dev/sdb1 /data ext4 defaults 0 0 简单直观,易于记忆。 不稳定,可能因硬件变动而改变,导致挂载失败。
UUID UUID="x1y2z3a4-b5c6-d7e8-f9g0-h1i2j3k4l5m6" /data ext4 defaults 0 0 极其稳定,唯一标识文件系统,不受设备名变化影响。 字符串较长,不易记忆和手动输入。

通过blkid获取到新分区的UUID后,编辑/etc/fstab文件,将新分区的挂载信息添加进去,要将一个新分区挂载到/data目录:

  1. 使用fdisk创建分区(如/dev/sdb1)。
  2. 格式化分区,sudo mkfs.ext4 /dev/sdb1
  3. 创建挂载点 sudo mkdir /data
  4. 获取UUID sudo blkid /dev/sdb1
  5. 将类似 UUID="..." /data ext4 defaults 0 0 的行添加到/etc/fstab
  6. 执行 sudo mount -a 来测试配置,若无错误则说明配置成功。

相关问答FAQs


解答:这取决于您是否已经保存了更改,在fdisk的交互式界面中,所有的操作(如创建、删除分区)都仅在内存中暂存,如果您在退出前输入 w 并回车,更改将被写入磁盘分区表,此时无法通过fdisk本身撤销,如果您想放弃所有更改,只需输入 q 并回车即可安全退出,不会对磁盘做任何修改,一旦更改已写入,唯一的“撤销”方法就是重新进行分区规划,但这会伴随着数据丢失的风险,因此操作前务必谨慎并备份重要数据。

问题2:UUID和PARTUUID有什么区别?
解答:UUID和PARTUUID都是唯一标识符,但它们针对的对象不同,UUID(文件系统UUID)是格式化分区时由文件系统工具(如mkfs.ext4)生成的,它标识的是分区上的文件系统,而PARTUUID(分区UUID)是由分区表管理工具(如fdiskparted)在创建分区时生成的,它标识的是分区本身,是GPT分区表的一个属性,即使分区上的文件系统被重新格式化,PARTUUID通常保持不变,而UUID则会改变,在/etc/fstab中,我们通常使用UUID来挂载文件系统,因为它更直接地与我们要访问的数据相关。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-07 09:13
下一篇 2025-10-07 09:17

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信