一、描述GPT是什么,应该怎么使用
GPT也是一种磁盘分区表,是用来替代存储空间有局限性的MBR分区表的一种更先进的磁盘分区表。
GUID磁盘分区表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一64bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。
MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘。MBR还只支持最多4个主分区。如果要更多分区,要新建“扩展分区”,并在其中创建逻辑分区。而GPT则没有MBR的那些限制。磁盘驱动器容量可以大得多。它同时还支持几乎无限个分区数量,限制只在于操作系统,Windows支持最多128个GPT分区。通过UEFI,所有64位的系统都能从GPT启动。
GPT会为每一个分区分配一个全局唯一的标识符,在每一个分区上,这个标识符是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。
在安全性方面,GPT分区表也进行了全方位改进。GPT在整个磁盘上保存多个这部分信息的副本,因此它更为健壮,并可以恢复被破坏的这部分信息。GPT还为这些信息保存了循环冗余校验码(CRC)以保证其完整和正确——如果数据被破坏,GPT会发觉这些破坏,并从磁盘上的其他地方进行恢复。
总结下来就是:
1、支持2TB以上的大硬盘。
2、每个磁盘的分区个数几乎没有限制(Windows系统最多只允许划分128个分区)。
3、分区大小几乎没有限制,因为它用64位的整数表示扇区号。
4、分区表自带备份,在磁盘的首尾部分分别保存了一份相同的分区表,其中一份被破坏后,可以通过另一份恢复。
5、每个分区可以有一个名称(不同于卷标)。
GPT的在Linux上的使用方式:
1、首先添加一块空硬盘到Linux中,并重启
2、使用parted创建gpt分区表,创建一个新分区,使用所有空间。
[root@centos ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt 切换为gpt分区模式,
yes
(parted) print 查看是否切换成功,Partition Table:gpt 表示 成功
(parted) mkpart test 0 100% 创建的分区名称(test)和分 区大小(0-100%)
Ignore
(parted) quit
即可创建一个为gpt格式的分区,使用fdisk -l /dev/sdb 查 看TYPE为gpt。
3、将新分区格式化,即可挂载使用。
二、创建一个10G的分区,并格式化为ext4文件系统。要求
1、block大小为2048,预留空间20%,卷标为MYDATA
2、挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳
3、可开机自动挂载
首先往Linux系统中添加一块至少10G的硬盘,
fdisk /dev/sdb
n 创建分区
p或e 输入分区类型,p为主分区,e为逻辑分区
1 输入分区号
2048或回车 输入分区起始扇区
+#{K,M,G,T}或回车 输入创建分区大小,回车表示全部创建
w 保存分区信息并退出
使用partx -a /dev/sdb 运行两次此命令,让内核识别新建分区
cat /proc/partitions 查看内核是否已识别了新分区
mke2fs -t ext4 -b 2048 -L MYDATA -m 20 /dev/sdb 分区格式化创建ext4文件系统,块大小为2048,卷标名为MYDATA,预留空间为20%。
mkdir /mydata 创建挂载目录
mount -o noexec,noatime /dev/sdb1 /mydata 挂载设备sdb1至/mydata,挂载时不更新文件访问时间戳和不自动运行
vim /etc/fstab 编辑开机自动挂载文件,把sdb1按照文件格式添加进去,实现开机自动挂载。
/dev/sdb1 /mydata ext4 defaults,noatime,noexec 0 0
mount -a 自动挂载fstab文件中的设备。
三、创建一个大小为10G的swap分区,并启用
1、给系统添加一个块10G的硬盘或是创建一个10G的分区
2、使用free -m命令查看当前系统的swap分区大小
3、使用fdisk -l 查看新添加的硬盘块设备名称,按照系统上硬盘顺序,第2块为/dev/sdb 第3块/dev/sdc,依次类推;
例:如果添加的硬盘为/dev/sdb
首先创建swap分区
fdisk /dev/sdb 进入磁盘分区管理界面
n 创建新分区
p 创建主分区
1或直接"**回车**"选择默认 选择创建的分区号
直接“**回车**”选择默认 起始扇区的位置
+10G 扇区的大小可以使用+M,G,T或直接“**回车**”选择默认所 有的空间或输入扇区号。
t 更改分区类型
82 更改给Linux swap 分区类型
p 查看分区类型是否为Linux swap,如果不是重新使用 t 来更 改分区类型
w 保存退出
使用partx -a /dev/sdb1 让内核读取分区表,执行两次此命令,然后使用cat /proc/partitions 确认内核已经识别到sdb1分区
4、使用mkswap /dev/sdb1 创建交换分区文件系统
5、使用swapon /dev/sdb1 启用swap分区
使用free -m 查看现在的分区大小,与之前的分区做对比,增加了说明添加成功了
使用swapoff /dev/sdb1 禁用增加的swap分区。
四、编写一个脚本计算/etc/passwd文件中第10个用户和第20个用户ID之和