使用 Parted GPT 在 Linux 上创建大于 2TB 大小的分区
我有一个大于 2TB 的磁盘。我无法使用 fdisk 在这个大于 2TB 的磁盘上创建分区。您能否举例说明如何使用 parted 和 GPT 格式在大于 2TB 的磁盘上创建分区?
如果您使用 fdisk 在大于 2TB 的磁盘上创建分区,您将收到以下警告消息。
# fdisk /dev/sdb
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: The size of this disk is 5.9 TB (5908688535552 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).
使用 Fdisk 创建 2TB 分区
此示例中的磁盘大小约为 6 TB。您仍然可以使用 fdisk 在此磁盘中创建一个 2TB 的分区,如下所示。
# fdisk /dev/sdb1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-718357, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349):
Using default value 267349
正如您在上面看到的,即使该磁盘上有 718357 个可用柱面(总计大约 6TB),它显示的最后一个柱面值也只有 267349(在本例中大约接近 2TB)。
因此,fdisk 创建了一个 2 TB 的分区,如下所示(即使磁盘大小约为 6 TB)。
Command (m for help): p
Disk /dev/sdb: 5908.7 GB, 5908688535552 bytes
255 heads, 63 sectors/track, 718357 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3dffd626
Device Boot Start End Blocks Id System
/dev/sdb1 1 267349 2147480811 83 Linux
使用 Parted mklabel 将分区表设置为 GPT
在我们的例子中,我们需要创建一个 >2TB 的分区。所以,我们应该使用parted命令。
在创建分区命令之前,我们应该将磁盘标签设置为 GPT。
GPT 代表 GUID 分区表格式 (GPT)。
使用 parted 的 mklabel 命令将磁盘标签设置为 GPT,如下所示。
# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/sdb: unrecognised disk label
(parted) mklabel gpt
(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
使用 Parted mkpart 创建 >2TB 分区
如下所示,使用 parted 的 mkpart 命令创建大于 2TB 的分区。在此示例中,我们正在创建一个大小约为 6TB 的分区。
# parted /dev/sdb
(parted) mkpart primary 0GB 5909GB
(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 5909GB 5909GB primary
出于好奇,让我们看看这个 >2TB 的分区是如何在 fdisk 中显示的。正如您在下面看到的,它仍然显示大约 2TB 的大小(在 Blocks 列下)。但是,末尾有一个 + 表示这大于 2TB。系统栏显示“GPT”。
# fdisk /dev/sdb
Command (m for help): print
Disk /dev/sdb: 5908.7 GB, 5908688535552 bytes
255 heads, 63 sectors/track, 718357 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 267350 2147483647+ ee GPT
格式化并挂载分区
使用 mkfs 格式化分区。这将需要一些时间,具体取决于分区的大小。你会看到它是“Writing inode tables”,并且计数器会不断增加。在此示例中,完成 mkfs 大约需要 15 分钟。
# mkfs /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
360644608 inodes, 1442550528 blocks
72127526 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
44024 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Writing inode tables: 3955/44024
Writing inode tables: 5022/44024
Writing inode tables: 7218/44024
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
最后,挂载这个 >2TB 的分区。
# mkdir /data
# mount /dev/sdb1 /data
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 127G 1.6G 119G 2% /
/dev/sdb1 5.3T 59M 5.1T 1% /data
- 点赞
- 收藏
- 关注作者
评论(0)