侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Linux基础 -- 磁盘分区

2023-11-01 星期三 / 0 评论 / 0 点赞 / 50 阅读 / 6710 字

1、挂载和挂载点 在windows操作系统中, 挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符。 而在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录

1、挂载和挂载点

在windows操作系统中, 挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符。

而在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。

这点windows和Linux有显著不同,linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。

挂载条件

  1. 挂载点必须是一个目录。
  2. 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样。

2、MSDOS(MBR)与GPT磁盘分区表

2.1、MSDOS(MBR)磁盘分区

在MBR(Master Boot Record)方式下,开机管理程序和分区表全都放在磁盘的第一个扇区内,这个扇区通常大小为512bytes,其中:

  • 主要启动记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有 446 bytes。
  • 分区表(partition table):记录整颗硬盘分区的状态,有 64 bytes

注意:

  • 通常说的"BIOS"程序,即开机时计算机会主动执行的第一个程序,是写入到主板上的
  • MBR、BIOS都是硬件自身带有的功能
  • boot loader,即开机管理程序,则是由操作系统安装到MBR上的

这个 boot loader 的主要任务有底下这些项目:

  • 提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能!
  • 载入核心文件:直接指向可开机的程序区段来开始操作系统;
  • 转交其他 loader:将开机管理功能转交给其他 loader 负责。

由于分区表只有64bytes,而记录一个分区需要16bytes,所以:

  • 所谓的『 分区』只是针对那个 64 bytes 的分区表进行设定而已!
  • 硬盘默认的分区表仅能写入四组分区信息
  • 这四组分区信息我们称为主要(Primary)或延伸(Extended)分区槽

如果希望设置四个以上的分区,可以在延伸分区中以同样的原理添加逻辑分区。

MBR的限制:

  • 操作系统无法抓取到 2.2T 以上的磁盘容量
  • MBR 仅有一个区块,若被破坏后,经常无法或很难救援。
  • MBR 内的存放开机管理程序的区块仅 446bytes,无法容纳较多的程序代码。

2.2、GUID partition table, GPT 磁盘分区表

由于如今硬件水平越来越高,MBR无法抓取2.2T以上的磁盘容量无疑是硬伤。为了解决这个问题,如今有新的磁盘分区基数,即GPT。

因为过去一个扇区大小就是 512bytes 而已,不过目前已经有 4K 的扇区设计出现!为了兼容于所有的磁盘,因此在扇区的定义上面, 大多会使用所谓的逻辑区块地址(Logical Block Address, LBA)来处理。 GPT 将磁盘所有区块以此 LBA(预设为 512bytes  ) 来规划,而第一个 LBA 称为 LBA0 (从0 开始编号)。与 MBR 仅使用第一个 512bytes 区块来纪录不同, GPT 使用了 34 个 LBA 区块来纪录分区信息!并且为了避免与MBR一样第一个区块被破坏就无法读取,GPT的最后的33个LBA也拿来作为另一个备份。

GPT意为GUID分区表。(GUID意为全局唯一标识符)。这是一个正逐渐取代MBR的新标准。它和UEFI相辅相成——UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。

与传统的 BIOS 不同, UEFI 简直就像是一个低阶的操作系统,使用 UEFI 接口的主机,在开机的速度上要比 BIOS 来的快上许多。

之所以叫作“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。

 

 

 

广告 广告

评论区