Linux磁盘分区

2018-04-22  本文已影响0人  ywhu

磁盘的组成主要有磁盘盘、机械手臂、磁盘读取头与主轴马达所组成,而数据的写入其实是在磁盘盘上面。

磁盘盘上面又可细分出扇区(Sector)与磁道(Track)两种单位,其中扇区的物理量设计有两种大小,分别是 512bytes 与 4Kbytes。

早期磁盘第一个扇区里面含有的重要信息我们称为 MBR (Master Boot Record)格式,但是由于近年来磁盘的容量不断扩大,造成读写上的一些困扰,甚至有些大于 2TB以上的磁盘分区已经让某些操作系统无法存取。因此后来又多了一个新的磁盘分区格式,称为 GPT (GUID partition table)

MSDOS(MBR) 与 GPT 磁盘分区表(partition table)

MSDOS (MBR) 分区表格式与限制

早期的 Linux 系统为了兼容于 Windows 的磁盘,因此使用的是支持 Windows 的 MBR(Master Boot Record, 主要开机纪录区) 的方式来处理开机管理程序与分区表!而开机管理程序纪录区与分区表则
通通放在磁盘的第一个扇区, 这个扇区通常是 512bytes 的大小 ,
所以说,第一个扇区 512bytes 会有这两个数据:

由于分区表就只有 64 bytes 而已,最多只能容纳四笔分区的记录, 这四个分区的记录被称为主要(Primary)或延伸(Extended)分区槽。

由于分区表所在区块仅有 64 bytes 容量,因此最多仅能有四组记录区,每组记录区记录了该区段的启始与结束的磁柱号码


上图中我们假设硬盘只有 400 个磁柱,共分区成为四个分区槽,第四个分区槽所在为第 301 到 400号磁柱的范围。 当你的操作系统为 Windows 时,那么第一到第四个分区槽的代号应该就是 C, D, E, F。
当你有资料要写入 F 槽时, 你的数据会被写入这颗磁盘的 301~400 号磁柱之间的意思。

主要分区、延伸分区与逻辑分区

例如:
如果我想将一颗大硬盘『暂时』 分区成为四个 partitions,同时还有其他的剩余容量可以让我在未来的时候进行规划, 我能不能分区出四个 Primary?若不行,那么你建议该如何分区?

答:


实际可用的是/dev/sdb1, /dev/sdb2, /dev/sdb3, /dev/sdb5, /dev/sdb6, /dev/sdb7 这六个,至于/dev/sdb4 这个
延伸分区本身仅是提供来给逻辑分区槽建立之用。

MBR 分区表限制

GUID partition table, GPT 磁盘分区表


与 MBR 仅使用第一个 512bytes 区块来纪录不同, GPT 使用了 34 个 LBA 区块来纪录分区信息!

同时与过去 MBR 仅有一的区块,被干掉就死光光的情况不同, GPT 除了前面 34 个 LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为另一个备份

GPT 分区预设可以提供多达 128 笔纪录! 此外, GPT 分区已经没有所谓的主、延伸、逻辑分区的概念,既然每笔纪录都可以独立存在, 当然每个都可以视为是主分区!每一个分区都可以拿来格式化使用

上一篇 下一篇

猜你喜欢

热点阅读