Partition

使用 msdos 分區表時 blkid 的 PARTUUID 是什麼?

  • January 23, 2018

我使用 msdos 分區表,所以不支持 PARTUUID(它只在 GPT 分區表上)

root@xenial:~# fdisk -l
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 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
Disklabel type: dos
Disk identifier: 0xa9ff83af

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 314574847 314572800  150G  7 HPFS/NTFS/exFAT
/dev/sda2       314574848 315598847   1024000  500M 83 Linux
/dev/sda3       315598848 399484927  83886080   40G 83 Linux
/dev/sda4       399486974 407875583   8388610    4G  5 Extended
/dev/sda5       399486976 407875583   8388608    4G 82 Linux swap / Solaris

那麼 blkid 中顯示的 PARTUUID 是什麼?

root@xenial:~# blkid
/dev/sda1: LABEL="windows" UUID="3364EC1A72AE6339" TYPE="ntfs" PARTUUID="a9ff83af-01"
/dev/sda2: LABEL="/boot" UUID="9de57715-5090-4fe1-bb45-68674e5fd32c" TYPE="ext4" PARTUUID="a9ff83af-02"
/dev/sda3: LABEL="/" UUID="553912bf-82f3-450a-b559-89caf1b8a145" TYPE="ext4" PARTUUID="a9ff83af-03"
/dev/sda5: LABEL="SWAP-sda5" UUID="12e4fe69-c8c2-4c93-86b6-7d6a86fdcb2b" TYPE="swap" PARTUUID="a9ff83af-05"

我需要更改它以調試 ubuntu kickstart 多引導安裝,我在哪裡可以設置這個 PARTUUID ?

看起來 MBR 分區磁碟上的 PARTUUID 是來自 MBR 塊的 Windows 磁碟簽名(8 個十六進制數字)+ 破折號 + 兩位分區號。

Windows 磁碟簽名以 little-endian 字節順序儲存在磁碟第一個塊(MBR 塊)中的位置 0x1B8..0x1BB 中。

此命令將直接從 MBR 中顯示 Windows 磁碟簽名:

# dd if=/dev/sda bs=1 count=4 skip=440 2>/dev/null | od -t x4 -An

引用自:https://unix.stackexchange.com/questions/419104