我有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,分区布局会是什么样子。