1. GPT分区概述
- GPT(Global Unique Identifier Partition Table)是一种先进的硬盘分区表结构,它是EFI(Extensible Firmware Interface)标准的一部分,用于替代传统的MBR(Master Boot Record)分区方案。GPT提供了更加灵活和可靠的磁盘分区机制,支持更大的硬盘容量和更多的分区数量。
1.1. GPT分区的特点
- 支持大容量硬盘:GPT可以支持高达18EB(Exabytes)的硬盘容量,远超过MBR的2TB限制。
更多分区数量:GPT允许每个硬盘拥有多达128个分区,而MBR通常限制为4个主分区或3个主分区加1个扩展分区。
- 分区表冗余:GPT在硬盘的末尾保留了一个分区表的备份,以防主分区表损坏。
- 唯一的分区ID:GPT使用GUID(Globally Unique Identifier)作为分区的唯一标识符,提高了分区的安全性。
- 兼容性:GPT设计了一个保护MBR,以便传统的MBR分区工具不会误操作GPT硬盘。
1.2. GPT分区的结构
- 保护MBR:位于硬盘的第一个扇区,用于兼容性考虑,存储传统的MBR信息,防止不支持GPT的工具误操作。
- EFI分区:包含EFI系统分区(ESP),用于存储操作系统的引导程序。
- GPT头部:包含分区表的位置和大小信息,以及校验和,用于检测错误。
- 分区表:列出所有分区的详细信息,包括分区的起始和结束地址、类型、名称等。
- 分区数据区:实际存储用户数据的区域。
1.3. GPT分区的创建和管理
- 创建GPT分区通常在安装操作系统时进行,或者通过专业的磁盘管理工具手动创建。在Windows系统中,可以通过磁盘管理控制台或命令行工具来创建和管理GPT分区。在Linux系统中,则可以使用parted或fdisk等工具来处理GPT分区。
1.4. GPT分区的优势
- GPT分区相对于MBR分区的优势在于其更高的容错能力、更好的扩展性和更强的安全性。这些特性使得GPT成为现代计算机系统中首选的分区方案,尤其是在服务器和大型存储设备中。
2. 分区
[root@HikvisionOS ~]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 7.3T 0 disk
sdb 8:16 0 3.6T 0 disk
├─sdb1 8:17 0 256M 0 part /boot/efi
├─sdb2 8:18 0 768M 0 part /boot
├─sdb3 8:19 0 15.7G 0 part [SWAP]
├─sdb4 8:20 0 1M 0 part
└─sdb5 8:21 0 3.6T 0 part
├─hikvisionos-root 253:0 0 250G 0 lvm /
└─hikvisionos-opt 253:1 0 3.4T 0 lvm /opt
sdc 8:32 0 3.6T 0 disk
sdd 8:48 0 7.3T 0 disk
sde 8:64 0 7.3T 0 disk
sdf 8:80 0 7.3T 0 disk
parted /dev/sdc
GNU Parted 3.5
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Error: /dev/sdc: unrecognised disk label
Model: ATA ST4000NM024B-2TF (scsi)
Disk /dev/sdc: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags:
(parted) mklabel gpt
(parted) mkpart
Partition name? []? sdc1
File system type? [ext2]? ext4
Start? 0
End? 4001G
Warning: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
Ignore/Cancel? Ignore
(parted) p
Model: ATA ST4000NM024B-2TF (scsi)
Disk /dev/sdc: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 4001GB 4001GB ext4 sdc1
(parted) quit
Information: You may need to update /etc/fstab.
[root@localhost ~]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 7.3T 0 disk
sdb 8:16 0 3.6T 0 disk
├─sdb1 8:17 0 256M 0 part /boot/efi
├─sdb2 8:18 0 768M 0 part /boot
├─sdb3 8:19 0 15.7G 0 part [SWAP]
├─sdb4 8:20 0 1M 0 part
└─sdb5 8:21 0 3.6T 0 part
├─hikvisionos-root 253:0 0 250G 0 lvm /
└─hikvisionos-opt 253:1 0 3.4T 0 lvm /opt
sdc 8:32 0 3.6T 0 disk
└─sdc1 8:33 0 3.6T 0 part
sdd 8:48 0 7.3T 0 disk
sde 8:64 0 7.3T 0 disk
sdf 8:80 0 7.3T 0 disk
3. 格式化并指定文件系统
[root@localhost ~]
mke2fs 1.46.4 (18-Aug-2021)
/dev/sdc1 alignment is offset by 3072 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Creating filesystem with 976754637 4k blocks and 244195328 inodes
Filesystem UUID: 0486a410-e2f0-4c7d-bff0-3d5c458f324f
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
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks):
done
Writing superblocks and filesystem accounting information:
done
[root@localhost ~]
/dev/sdc1: UUID="0486a410-e2f0-4c7d-bff0-3d5c458f324f" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="sdc1" PARTUUID="a8566345-ea05-4909-bf00-28888567c552"
4. 挂载
mkdir /data
vim /etc/fstab
/dev/sdc1 /data ext4 defaults 0 0
磁盘 挂载点 文件系统 默认的挂载选项 不备份 不进行文件系统检查
mount -a
df -hT | grep data
/dev/sdc1 ext4 3.6T 28K 3.4T 1% /data