GUID partition table, GPT 磁盘分区表(在Linux中添加一块大于 2TB 的新磁盘)
2017-05-14 19:57
281 查看
因为过去一个扇区大小就是 512bytes 而已,不过目前已经有 4K 的扇区设计出现!为了兼容于所有的磁盘,因此在扇区的定义上面, 大多会使用所谓的逻辑区块地址(Logical Block Address, LBA)来处理。GPT 将磁盘所有区块以此 LBA(预设为 512bytes 喔!) 来规划,而第一个 LBA 称为 LBA0 (从 0 开始编号)。
与 MBR 仅使用第一个 512bytes 区块来纪录不同, GPT 使用了 34 个 LBA 区块来纪录分割信息!同时与过去 MBR 仅有一的区块,被干掉就死光光的情况不同, GPT 除了前面 34 个 LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为另一个备份!这样或许会比较安全些吧!详细的结构有点像底下的模样:
上述图示的解释说明如下:
LBA0 (MBR 相容区块)
与 MBR 模式相似的,这个兼容区块也分为两个部份,一个就是跟之前 446 bytes 相似的区块,储存了第一阶段的开机管理程序! 而在原本的分割表的纪录区内,这个兼容模式仅放入一个特殊标志的分割,用来表示此磁盘为 GPT 格式之意。而不懂 GPT 分割表的磁盘管理程序, 就不会认识这颗磁盘,除非用户有特别要求要处理这颗磁盘,否则该管理软件不能修改此分割信息,进一步保护了此磁盘喔!
LBA1 (GPT 表头纪录)
这个部份纪录了分割表本身的位置与大小,同时纪录了备份用的 GPT 分割 (就是前面谈到的在最后 34 个 LBA 区块) 放置的位置, 同时放置了分割表的检验机制码 (CRC32),操作系统可以根据这个检验码来判断
GPT 是否正确。若有错误,还可以透过这个纪录区来取得备份的 GPT(磁盘最后的那个备份区块) 来恢复 GPT 的正常运作!
LBA2-33 (实际纪录分割信息处)
从 LBA2 区块开始,每个 LBA 都可以纪录 4 笔分割纪录,所以在默认的情况下,总共可以有 4*32 = 128 笔分割纪录喔!因为每个 LBA 有 512bytes,因此每笔纪录用到 128 bytes 的空间,除了每笔纪录所需要的标识符与相关的纪录之外,GPT 在每笔纪录中分别提供了 64bits 来记载开始/结束的扇区号码,因此,GPT 分割表对于单一分割槽来说,
他的最大容量限制就会在『 264 * 512bytes = 263 * 1Kbytes = 233*TB = 8 ZB 』,要注意 1ZB = 230TB 啦! 你说有没有够大了?
现在 GPT 分割预设可以提供多达 128 笔纪录,而在 Linux 本身的核心装置纪录中,针对单一磁盘来说,虽然过去最多只能到达
15 个分割槽,不过由于 Linux kernel 透过 udev 等方式的处理,现在 Linux 也已经没有这个限制在了! 此外,GPT 分割已经没有所谓的主、延伸、逻辑分割的概念,既然每笔纪录都可以独立存在, 当然每个都可以视为是主分割!每一个分割都可以拿来格式化使用喔!
以上转载来至《鸟哥的Linux私房菜——基础班》
以下是对于GPT的实际应用经验。
你有没有试过使用 fdisk 对大于
2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错。我们无法使用 fdisk 对大于 2TB 的硬盘进行分区。
在这种情况下,我们可以使用
提示:你可以使用
在本文中,我们将介绍如何将大于 2TB 的新磁盘添加到现有的 Linux 服务器中(如 RHEL/CentOS 或 Debian/Ubuntu)中。
我使用的是
首先使用
首先使用
列出 Linux 分区表
为了本文的目的,我加了一块 20GB 的磁盘,这也可以是大于 2TB 的磁盘。在你加完磁盘后,使用相同的
列出新的分区表
提示:如果你添加了一块物理磁盘,你可能会发现分区已经创建了。此种情况下,你可以在使用
在命令中使用
删除 Linux 分区
重要:在删除分区时你需要小心点。这会擦除磁盘上的数据。
现在是使用
将分区表格式化成 GPT
创建主分区并分配磁盘容量,这里我使用 20GB (在你这里可能是 2TB)。
使用 parted 创建分区
出于好奇,让我们用
验证分区细节
现在格式化并挂载分区,并在
格式化 Linux 分区
一旦分区格式化之后,是时候在
要永久挂载,在
重要:要使用 GPT 分区格式需要内核支持。默认上 RHEL/CentOS 的内核已经支持 GPT,但是对于 Debian/Ubuntu,你需要在修改配置之后重新编译内核。
转载地址:LCTT https://linux.cn/article-8398-1.html
个人学习用
与 MBR 仅使用第一个 512bytes 区块来纪录不同, GPT 使用了 34 个 LBA 区块来纪录分割信息!同时与过去 MBR 仅有一的区块,被干掉就死光光的情况不同, GPT 除了前面 34 个 LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为另一个备份!这样或许会比较安全些吧!详细的结构有点像底下的模样:
上述图示的解释说明如下:
LBA0 (MBR 相容区块)
与 MBR 模式相似的,这个兼容区块也分为两个部份,一个就是跟之前 446 bytes 相似的区块,储存了第一阶段的开机管理程序! 而在原本的分割表的纪录区内,这个兼容模式仅放入一个特殊标志的分割,用来表示此磁盘为 GPT 格式之意。而不懂 GPT 分割表的磁盘管理程序, 就不会认识这颗磁盘,除非用户有特别要求要处理这颗磁盘,否则该管理软件不能修改此分割信息,进一步保护了此磁盘喔!
LBA1 (GPT 表头纪录)
这个部份纪录了分割表本身的位置与大小,同时纪录了备份用的 GPT 分割 (就是前面谈到的在最后 34 个 LBA 区块) 放置的位置, 同时放置了分割表的检验机制码 (CRC32),操作系统可以根据这个检验码来判断
GPT 是否正确。若有错误,还可以透过这个纪录区来取得备份的 GPT(磁盘最后的那个备份区块) 来恢复 GPT 的正常运作!
LBA2-33 (实际纪录分割信息处)
从 LBA2 区块开始,每个 LBA 都可以纪录 4 笔分割纪录,所以在默认的情况下,总共可以有 4*32 = 128 笔分割纪录喔!因为每个 LBA 有 512bytes,因此每笔纪录用到 128 bytes 的空间,除了每笔纪录所需要的标识符与相关的纪录之外,GPT 在每笔纪录中分别提供了 64bits 来记载开始/结束的扇区号码,因此,GPT 分割表对于单一分割槽来说,
他的最大容量限制就会在『 264 * 512bytes = 263 * 1Kbytes = 233*TB = 8 ZB 』,要注意 1ZB = 230TB 啦! 你说有没有够大了?
现在 GPT 分割预设可以提供多达 128 笔纪录,而在 Linux 本身的核心装置纪录中,针对单一磁盘来说,虽然过去最多只能到达
15 个分割槽,不过由于 Linux kernel 透过 udev 等方式的处理,现在 Linux 也已经没有这个限制在了! 此外,GPT 分割已经没有所谓的主、延伸、逻辑分割的概念,既然每笔纪录都可以独立存在, 当然每个都可以视为是主分割!每一个分割都可以拿来格式化使用喔!
以上转载来至《鸟哥的Linux私房菜——基础班》
以下是对于GPT的实际应用经验。
你有没有试过使用 fdisk 对大于
2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错。我们无法使用 fdisk 对大于 2TB 的硬盘进行分区。
在这种情况下,我们可以使用
parted命令。它的主要区别在于 fdisk 使用 DOS 分区表格式而 parted 使用 GPT 格式。
提示:你可以使用
gdisk来代替
parted。
在本文中,我们将介绍如何将大于 2TB 的新磁盘添加到现有的 Linux 服务器中(如 RHEL/CentOS 或 Debian/Ubuntu)中。
我使用的是
fdisk和
parted来进行此配置。
首先使用
fdisk命令列出当前的分区详细信息,如图所示。
首先使用
fdisk命令列出当前的分区详细信息,如图所示。
# fdisk -l
列出 Linux 分区表
为了本文的目的,我加了一块 20GB 的磁盘,这也可以是大于 2TB 的磁盘。在你加完磁盘后,使用相同的
fdisk命令验证分区表。
# fdisk -l
列出新的分区表
提示:如果你添加了一块物理磁盘,你可能会发现分区已经创建了。此种情况下,你可以在使用
parted之前使用
fdisk删除它。
# fdisk /dev/xvdd
在命令中使用
d开关删除分区,使用
w保存更改并退出。
删除 Linux 分区
重要:在删除分区时你需要小心点。这会擦除磁盘上的数据。
现在是使用
parted命令分区新的磁盘了。
# parted /dev/xvdd
将分区表格式化成 GPT
(parted) mklabel gpt
创建主分区并分配磁盘容量,这里我使用 20GB (在你这里可能是 2TB)。
(parted) mkpart primary 0GB 20GB
使用 parted 创建分区
出于好奇,让我们用
fdisk看看新的分区。
# fdisk /dev/xvdd
验证分区细节
现在格式化并挂载分区,并在
/etc/fstab添加相同的信息,它控制在系统启动时挂载文件系统。
# mkfs.ext4 /dev/xvdd1
格式化 Linux 分区
一旦分区格式化之后,是时候在
/data1下挂载分区了。
# mount /dev/xvdd1 /data1
要永久挂载,在
/etc/fstab添加条目。
/dev/xvdd1 /data1 ext4 defaults 0 0
重要:要使用 GPT 分区格式需要内核支持。默认上 RHEL/CentOS 的内核已经支持 GPT,但是对于 Debian/Ubuntu,你需要在修改配置之后重新编译内核。
转载地址:LCTT https://linux.cn/article-8398-1.html
个人学习用
相关文章推荐
- 如何在Linux中添加一块大于2TB的新磁盘?
- 如何在 Linux 中添加一块大于 2TB 的新磁盘
- 如何在 Linux 中添加一块大于 2TB 的新磁盘?
- 如何在 Linux 中添加一块大于 2TB 的新磁盘
- Linux下添加一块新的磁盘
- linux大于2T的磁盘使用GPT分区方式
- WARNING: GPT (GUID Partition Table) detected on '/dev/sdd'! The util fdisk doesn't support GPT. Use
- Linux调整磁盘格式为GPT,格式化2TB以上的磁盘
- 通过虚拟机给Linux添加一块磁盘,挂载到相应的目录下
- linux大于2T的磁盘使用GPT分区的方法分享
- 通过虚拟机给Linux添加一块磁盘,挂载到相应的目录下
- linux大于2T的磁盘使用GPT分区
- linux大于2T的磁盘使用GPT分区方式
- (VirtualBox)Linux系统上添加一块新磁盘
- 在linux下格式化大于2T的磁盘为GPT格式
- Linux新加一块磁盘添加到卷组
- linux大于2T的磁盘使用GPT分区的方法分享
- linux大于2T的磁盘使用GPT分区方式
- GUID Partition Table(GUID磁盘分区表):GPT
- linux下使用fdisk结合partprobe命令不重启系统添加一块新的磁盘分区