哪个分区实用程序的输出是正确的?

哪个分区实用程序的输出是正确的?

我有Fusion ioDrive2 785GB(731.088 GiB) SSD 卡。服务器正在运行Oracle Enterprise Linux 6.4(兼容 RHEL6.4)。它的低级格式化如下:

    "80% factory capacity"
    Format Capacity:    627,999,997,952 bytes
    Sector Size:    4,096 bytes

我想将此驱动器分成 2 个分区:600,000,000,000 字节分配给分区 1,其余分配给分区 2。我使用fdisk -cu /dev/fioa以下命令创建分区:

Command (m for help): p

Disk /dev/fioa: 628.0 GB, 627999997952 bytes
255 heads, 63 sectors/track, 9543 cylinders, total 153320312 sectors
Units = sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 32768 bytes
Disk identifier: 0x4b661ac0

    Device Boot      Start         End      Blocks   Id  System
/dev/fioa1             256   146484375   585936480   83  Linux
/dev/fioa2       146484376   153320311    27343744   83  Linux

请注意分区的total扇区数和End扇区fioa2

现在这里的输出是gdisk /dev/fioa

GPT fdisk (gdisk) version 0.8.4

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************

Warning! Secondary partition table overlaps the last partition by
5 blocks!
You will need to delete this partition or resize it in another utility.

Command (? for help): p
Disk /dev/fioa: 153320312 sectors, 584.9 GiB
Logical sector size: 4096 bytes
Disk identifier (GUID): 2744FD52-D432-4BDD-8111-0643B70B5C34
Partition table holds up to 128 entries
First usable sector is 6, last usable sector is 153320306
Partitions will be aligned on 8-sector boundaries
Total free space is 250 sectors (1000.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1             256       146484375   558.8 GiB   8300  Linux filesystem
   2       146484376       153320311   26.1 GiB    8300  Linux filesystem

这里请注意重叠警告信息、last usable sector编号以及与分区 2 的最后一个扇区的比较。

这两个工具哪个显示正确的信息?

答案1

Gdisk 用于创建 GPT 分区,而您正在查看的分区是使用 Fdisk 创建的(并使用 MBR 分区),GPT 专门使用 64 位 LBA 寻址,而 fdisk 使用 CHS 和 LBA 寻址的组合。

gdisk 要做的第一件事是计算从 MBR 到 GPT 的转换。我相信用于创建分区的实用程序。

答案2

我使用 fdisk -cu /dev/fioa 命令来创建分区:

255 heads, 63 sectors/track, 9543 cylinders, total 153320312 sectors
...
    Device Boot      Start         End      Blocks   Id  System
/dev/fioa1             256   146484375   585936480   83  Linux
/dev/fioa2       146484376   153320311    27343744   83  Linux

这意味着您在该磁盘上创建了两个 MBR 分区。

现在这里的输出是gdisk /dev/fioa

Number  Start (sector)    End (sector)  Size       Code  Name
   1             256       146484375   558.8 GiB   8300  Linux filesystem
   2       146484376       153320311   26.1 GiB    8300  Linux filesystem

gdisk 用于在磁盘上创建 GPT 分区,而不是 MBR。如果尚未创建 GPT 布局,gdisk 将首先尝试将 MBR 分区转换为 GPT。查看输出:

Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!

MBR 布局仅存储在第一个扇区中。GPT 布局存储在第二个扇区中,备份副本也存储在磁盘末尾。因此,使用 GPT 布局时,您不能拥有包含最后一个扇区的分区。并且 gdisk 会在警告中向您显示此问题:

Warning! Secondary partition table overlaps the last partition by
5 blocks!
You will need to delete this partition or resize it in another utility.

因此请查看磁盘上的总扇区数。该数字在 fdisk 和 gdisk 输出中是相同的。

Disk /dev/fioa: 153320312 sectors, 584.9 GiB

现在,如果您查看可用扇区,它们在 gdisk 中比在 fdisk 中要小

First usable sector is 6, last usable sector is 153320306

可用 gdisk 扇区是可用于 GPT 分区的扇区。即,此扇区不存储 MBR 或 GPT 布局。由于 GPT 占用了一些第一扇区和一些最后扇区,因此它们不能用于分区数据。

因此回答你的问题:

这两个工具哪个显示正确的信息?

这两个工具都会显示正确的信息。fdisk 显示当前的 MBR 布局,而 gdisk 显示如果将 MBR 转换为 GPT,分区布局会是什么样子。

相关内容