对新磁盘进行分区时没有分区的 UUID

对新磁盘进行分区时没有分区的 UUID

我正在对一个新磁盘进行分区,该磁盘上尚未存储任何内容,因此我还需要一个全新的分区表等。为了尝试执行此操作,我首先制作了一个谷氨酰胺磷酸酶print free分区表,然后分配在的输出下列出的所有空间parted /dev/sda

我把这变成了ext4分区,并留出尽可能多的空间。parted再次退出后,我尝试使用 检查分区的 UUID blkid /dev/sda*,结果如下:

/dev/sda: PTTYPE="gpt"
/dev/sda1: PARTLABEL="ext4" PARTUUID="d8415694-74bb-457b-b028-d488ca6d64f2"

如您所见,没有列出整个驱动器的 UUID,只列出了 PARTUUID。据我所知,当/etc/fstab通过 uuid 安装驱动器时,我需要有一个设备 UUID 才能安装。

的输出parted -l是:

Disk /dev/sda: 2879GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      17,4kB  2879GB  2879GB               ext4

输出为fdisk -l

Disk /dev/sda: 2879.0 GB, 2878970265600 bytes, 5622988800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 262144 bytes / 262144 bytes
Disk label type: gpt
Disk identifier: C6A4181C-CEFD-4457-ACEF-577084496DD0


#         Start          End    Size  Type            Name
 1           34   5622988766    2,6T  Microsoft basic ext4
Partition 1 does not start on physical sector boundary.

我尝试将以下两行中的任意一行添加到/etc/fstab,但它们都返回错误“ mount: can't find UUID=(...)”:

UUID=d8415694-74bb-457b-b028-d488ca6d64f2 /local                  ext4    defaults        1 2
UUID=C6A4181C-CEFD-4457-ACEF-577084496DD0 /local                  ext4    defaults        1 2

我该怎么做才能正确安装这个新磁盘/local

答案1

  1. 删除分区。
  2. 重新创建它,使其从扇区 1024 开始(这将解决问题Partition 1 does not start on physical sector boundary)。
  3. 给出分区十六进制代码8300或(等效)0FC63DAF-8483-4772-8E79-3D69D8477DE4GUID,因此它是“Linux 文件系统”(目前您有“Microsoft basic”,这是错误的)。gdisk这可以通过 来完成t
  4. mkfs.ext4在分区上运行并创建文件系统。这很关键。
  5. 调用blkid并找出正确的UUID(不是PARTUUID)。
  6. fstab在您的()中使用此 UUID UUID=…,就像您已经尝试过这些其他 ID 一样。

答案2

您必须创建一个文件系统,mkfs.ext4 /dev/sda1它将UUID为您创建一个唯一的文件系统。仅分区是不够的。是的,分区类型是 ext4,但没有文件系统……

如果这个硬盘是你的电脑中唯一的硬盘,你可能需要创建一个ESP(EFI 系统分区)作为第一个启动分区。gdisk在这种情况下,使用 GPT 分区方案对硬盘进行分区会更容易。

而且如果您无论如何都想全新安装 Linux,使用安装 DVD 进行分区可能会更容易。

答案3

当我使用 SCSI 路径对磁盘进行分区时遇到了同样的问题:

disk=lun3
printf "o\nn\np\n1\n\n\nw\n" |fdisk /dev/disk/azure/scsi1/${disk} 

我无法检索 UUID:

blkid /dev/disk/azure/scsi1/${disk}-part1

当我使用路径再次进行分区(删除旧分区后)时/dev/sdf,我能够看到 UUID。

相关内容