Linux中的超级块和MBR各指的是什么?请详解!!

Linux中的超级块和MBR各指的是什么?请详解!!,第1张

超级块(SuperBlock)包括文件系统的总体信息,比如大小(其准确信息依赖文件系统)。MBR(MasterBootRecord),中文意为主引导记录。硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partitiontable区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。他是不属于任何一个 *** 作系统,也不能用 *** 作系统提供的磁盘 *** 作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。附:liunx和unix是为了做服务器用途的,它必须保证365*24运行,它的设计就决定不需要整理磁盘碎片。一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。大部分UNIX文件系统种类具有类似的通用结构,即使细节有些变化。其中心概念是超级块superblock,i节点inode,数据块datablock,目录块directoryblock,和间接块indirectionblock。超级块包括文件系统的总体信息,比如大小(其准确信息依赖文件系统)。i节点包括除了名字外的一个文件的所有信息,名字与i节点数目一起存在目录中,目录条目包括文件名和文件的i节点数目。i节点包括几个数据块的数目,用于存储文件的数据。i节点中只有少量数据块数的空间,如果需要更多,会动态分配指向数据块的指针空间。这些动态分配的块是间接块;为了找到数据块,这名字指出它必须先找到间接块的号码。UNIX文件系统通常允许在文件中产生孔(hole),意思是文件系统假装文件中有一个特殊的位置只有0字节,但没有为这文件的这个位置保留实际的磁盘空间(这意味着这个文件将少用一些磁盘空间)。这对小的二进制文件经常发生,Linux共享库、一些数据库和其他一些特殊情况。(孔由存储在间接块或i节点中的作为数据块地址的一个特殊值实现,这个特殊地址说明没有为文件的这个部分分配数据块,即,文件中有一个孔。)

MBR的局限性

MBR的意思是“主引导记录”,最早在1983年在IBM PC DOS

2.0中提出。

之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的 *** 作系统的启动加载器和驱动器的逻辑分区信息。所谓启动加载器,是一小段代码,用于加载驱动器上其他分区上更大的加载器。如果你安装了Windows,Windows启动加载器的初始信息就放在这个区域里——如果MBR的信息被覆盖导致Windows不能启动,你就需要使用Windows的MBR修复功能来使其恢复正常。如果你安装了Linux,则位于MBR里的通常会是GRUB加载器。

MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘。MBR还只支持最多4个主分区——如果你想要更多分区,你需要创建所谓“扩展分区”,并在其中创建逻辑分区。

MBR已经成为磁盘分区和启动的工业标准。

GPT的优势

GPT意为GUID分区表。(GUID意为全局唯一标识符)。这是一个正逐渐取代MBR的新标准。它和UEFI相辅相成——UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。之所以叫作“GUID分区表”,是因为你的驱动器上的每个分区都有一个全局唯一的标识符(globally

unique

identifier,GUID)——这是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。

这个标准没有MBR的那些限制。磁盘驱动器容量可以大得多,大到 *** 作系统和文件系统都没法支持。它同时还支持几乎无限个分区数量,限制只在于 *** 作系统——Windows支持最多128个GPT分区,而且你还不需要创建扩展分区。

在MBR磁盘上,分区和启动信息是保存在一起的。如果这部分数据被覆盖或破坏,事情就麻烦了。相对的,GPT在整个磁盘上保存多个这部分信息的副本,因此它更为健壮,并可以恢复被破坏的这部分信息。GPT还为这些信息保存了循环冗余校验码(CRC)以保证其完整和正确——如果数据被破坏,GPT会发觉这些破坏,并从磁盘上的其他地方进行恢复。而MBR则对这些问题无能为力——只有在问题出现后,你才会发现计算机无法启动,或者磁盘分区都不翼而飞了。

兼容性

使用GPT的驱动器会包含一个“保护性MBR”。这种MBR会认为GPT驱动器有一个占据了整个磁盘的分区。如果你使用老实的MBR磁盘工具对GPT磁盘进行管理,你只会看见一个占据整个磁盘的分区。这种保护性MBR保证老式磁盘工具不会把GPT磁盘当作没有分区的空磁盘处理而用MBR覆盖掉本来存在的GPT信息。

在基于UEFI的计算机系统上,所有64位版本的Windows

8.1、8、7和Vista,以及其对应的服务器版本,都只能从GPT分区启动。所有版本的Windows

8.1、8、7和Vista都可以读取和使用GPT分区。

其他现代 *** 作系统也同样支持GPT。Linux内建了GPT支持。苹果公司基于Intel芯片的MAC电脑也不再使用自家的APT(Apple

Partition Table),转而使用GPT。

我们推荐你使用GPT对磁盘进行分区。它更先进,更健壮,所有计算机系统都在向其转移。如果你需要保持对旧系统的兼容性——比如在使用传统BIOS的计算机上启动Windows,你需要使用MBR。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8451493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存