2022-11-18 14:32:45 +00:00
|
|
|
|
---
|
|
|
|
|
title: "磁盘的 UUID, PARTUUID and PTUUID"
|
|
|
|
|
date: 2022-11-18T21:58:06+08:00
|
|
|
|
|
tags: []
|
|
|
|
|
categories: []
|
|
|
|
|
weight: 50
|
|
|
|
|
show_comments: true
|
|
|
|
|
draft: false
|
|
|
|
|
---
|
|
|
|
|
|
2022-12-30 03:44:29 +00:00
|
|
|
|
在 Linux 中使用 `fdisk` 和 `blkid` 可以看到磁盘的几种 UUID,如 UUID、PARTUUID、PTUUID,下面将介绍每一种 UUID 的意义。
|
2022-11-18 14:32:45 +00:00
|
|
|
|
|
|
|
|
|
<!--more-->
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# fdisk --list-details /dev/sda
|
|
|
|
|
Disk /dev/sda: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
|
|
|
|
|
Disk model: WDC WD22EJRX-89B
|
|
|
|
|
Units: sectors of 1 * 512 = 512 bytes
|
|
|
|
|
Sector size (logical/physical): 512 bytes / 4096 bytes
|
|
|
|
|
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
|
|
|
|
|
Disklabel type: gpt
|
|
|
|
|
Disk identifier: BC266CC5-E480-164A-853B-875A82D7882B
|
|
|
|
|
First usable LBA: 2048
|
|
|
|
|
Last usable LBA: 3907029134
|
|
|
|
|
Alternative LBA: 3907029167
|
|
|
|
|
Partition entries starting LBA: 2
|
|
|
|
|
Allocated partition entries: 128
|
|
|
|
|
Partition entries ending LBA: 33
|
|
|
|
|
|
|
|
|
|
Device Start End Sectors Type-UUID UUID Name Attrs
|
|
|
|
|
/dev/sda1 4096 3907028991 3907024896 0FC63DAF-8483-4772-8E79-3D69D8477DE4 B967BEF5-A7A2-334C-A564-1360313A9BC8
|
|
|
|
|
|
|
|
|
|
# blkid --probe /dev/sda
|
|
|
|
|
/dev/sda: PTUUID="bc266cc5-e480-164a-853b-875a82d7882b" PTTYPE="gpt"
|
|
|
|
|
|
|
|
|
|
# blkid --probe /dev/sda1
|
|
|
|
|
/dev/sda1: LABEL="WDP" UUID="b9ea8994-e79c-4e79-92ea-2c97ca669023" UUID_SUB="87bbaa99-549b-43b9-98fd-55a8e896c195" BLOCK_SIZE="4096" TYPE="btrfs" USAGE="filesystem" PART_ENTRY_SCHEME="gpt" PART_ENTRY_UUID="b967bef5-a7a2-334c-a564-1360313a9bc8" PART_ENTRY_TYPE="0fc63daf-8483-4772-8e79-3d69d8477de4" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="4096" PART_ENTRY_SIZE="3907024896" PART_ENTRY_DISK="8:0"
|
|
|
|
|
```
|
|
|
|
|
|
2022-12-30 03:44:29 +00:00
|
|
|
|
上述输出的 UUID 可以分为以下几类:
|
2022-11-18 14:32:45 +00:00
|
|
|
|
|
2022-12-30 03:44:29 +00:00
|
|
|
|
1. 分区表唯一标识
|
|
|
|
|
2. 特定分区的入口标识(记录在分区表中)
|
|
|
|
|
3. 分区类型标识
|
|
|
|
|
4. 文件系统唯一标识
|
2022-11-18 14:32:45 +00:00
|
|
|
|
|
2022-12-30 03:44:29 +00:00
|
|
|
|
| UUID | 程序输出 | 作用 | 保存位置 | 备注 |
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
| 分区表唯一标识 | Disk identifier 和 PTUUID | 唯一标记一块磁盘 | 分区表 | 一块磁盘只会在分区时得到这样一个标记。|
|
|
|
|
|
| 分区的入口标记 | `fdisk` 的 UUID 和 `blkid` 的 PART_ENTRY_UUID | 唯一标记一个分区 | 分区表 | 所以无需对文件系统格式的支持就可以获取。如使用 UUID 通过 fstab 挂载分区或通过 Linux 启动参数指定根目录时,都是使用此标记。|
|
|
|
|
|
| 分区类型标识 | Type-UUID 和 PART_ENTRY_TYPE | 记录了分区的类型,或者只是提示了此分区的用途 | 分区表 | 如 swap 和 Linux file system。|
|
|
|
|
|
| 文件系统唯一标识 | `blkid` 的 UUID | 唯一标记一个文件系统 | 文件系统的元数据中 | 需要进入分区并支持目标文件系统才能读取。如使用多块磁盘的 Btrfs 文件系统,多个磁盘分区下的此文件系统唯一标识是一致的。|
|
2022-11-18 14:32:45 +00:00
|
|
|
|
|
|
|
|
|
## 参考
|
|
|
|
|
|
|
|
|
|
1. https://unix.stackexchange.com/questions/375548/what-is-uuid-partuuid-and-ptuuid
|
|
|
|
|
2. https://en.wikipedia.org/wiki/GUID_Partition_Table
|