![分区与分区表的区别](https://linux22.com/image/1400075/%E5%88%86%E5%8C%BA%E4%B8%8E%E5%88%86%E5%8C%BA%E8%A1%A8%E7%9A%84%E5%8C%BA%E5%88%AB.png)
我熟悉分区的概念。例如,您可以将硬盘驱动器划分为多个分区,使用不同的格式,例如 Windows 的 ntfs 和 Linux 的 ext4,然后使用 grub 之类的程序来启动任一分区。
我一直在阅读 gparted 手册,第一次遇到这个术语“分区表”:
http://gparted.org/display-doc.php?name=help-manual#gparted-create-partition-table
当我实际为我的第二个硬盘 (/dev/sdb) 选择设备 > 分区表时,出现一个弹出窗口,要求我创建一个新的分区表类型,选项包括 msdos、aix、amiga、bsd 等。
创建分区表和创建分区有区别吗?
答案1
您怎么认为系统知道分区在哪里?
磁盘上分区的位置以记录的形式存储在一个表中,称为……等等……分区表,即写入分区本身所在的磁盘。(分区表不一定必须与分区本身位于同一磁盘上。但这种想法在个人计算机领域很少见,甚至几乎不存在,超出了本答案的范围。)
正如您所见,分区表有多种类型。它们的结构各不相同,David Dai 所说的它们位于磁盘的开头只适用于其中的一些。重要的是,它们至少部分位于固定且众所周知放置在光盘上。例如:
- EFI 分区表在磁盘上占据两个位置:磁盘开头的几个扇区和磁盘结尾的几个扇区。逻辑扇区 #1 的固定位置处有一个“标头”记录,该记录也镜像在磁盘最后一个扇区中众所周知的位置,显示了表记录的正确大小和位置。
- 旧的“MBR”样式的分区表分布在整个磁盘上,但以磁盘逻辑扇区#0中的一组固定的四个“主”表条目开始,这些条目(可能受到超出此答案范围的大量if和buts的影响)指向其他可变位置的“扩展”条目的单链表。
- BSD 磁盘标签方案(本机使用时)在磁盘的逻辑扇区#0 中有一个包含 8 个分区记录的表。
磁盘最初并没有写入分区表数据结构。因此,在异构世界中,读取分区表通常涉及在固定且众所周知的位置查找签名字并执行校验和验证,以确保特定类型的分区表确实存在于磁盘上。 创建分区表是将必要的签名、校验和及空条目写入磁盘以形成有效但空的特定类型的分区表的行为。 创建分区只是向这样的表中添加一条记录的行为。(然后是格式化分区当然。)
答案2
分区表是存放在硬盘最开始部分的一段信息,描述了这个硬盘是如何分区的(有多少个分区,每个分区的大小、位置等)。
分区表有多种类型,例如 MS-DOS 只允许您创建最多四个主分区。其他分区表可能具有不同的功能。
当您创建分区表时,硬盘将被重新初始化,所有分区都将消失。