Linux:磁盘与分区知识
磁盘分区
在Linux中,设备就是文件。SATA等磁盘设备显示的是/dev/sd[a-p]。
1.1 MSDOS(MBR)分区表格式与限制
-
这种分区方法是使用的windows的分区方法,开机管理程序和分区表通常放到第一个扇区,一个扇区通常是512Bytes:
- 主要开机记录区(Master Boot Record,MBR):安装开机管理程序的地方,有446 Bytes。
- 分区表:记录整个硬盘的分区状态,有64 Bytes。
-
因为分区表仅有64 Bytes的容量,所以仅能记录4组数据。(假设硬盘文件名/dev/sda,分区名为/dev/sda1、/dev/sda2、...)
-
这64 Bytes的分区被称为组要分区或延展分区,且最多有4笔。
-
延展分区最多只能有一个(操作系统现在),延展分区所指向的第一个柱面设置逻辑分区,所以逻辑分区是由延展分区分割来的分区。
-
逻辑分区与主分区不能整合成一个新分区。
-
-
因为MBR分区表只有64 Bytes,所以存在很多问题
-
大容量(超过T2.2)硬盘无法抓取。
-
MBR区域被破坏后很难救援
-
MBR存放的开机管理程序无法容纳太多功能。
-

1.2 GUID partition table,GPT 磁盘分区表
-
GPT采用逻辑块位址(Logic Block Address,LBA)来处理,LBA默认为512 Bytes,采用头34个LBA来记录分区信息,尾33个LBA作为备份。
-
LBA0(MBR相容块区):分为2部份一个是446 Bytes的开机管理程序,另一个放入特殊标志位表示磁盘为GPT。
-
LBA1(GPT标头记录):记录分区表的位置和大小,记录备份用的GPT存放位置,还存放了CRC32判断分区表信息是否准确。
-
LBA2-33(实际记录分区信息):每个LBA可以记录4笔分区。因为记录每个分区的地址容量更大了,所以一个分区可以达到很大。
-
1.3开机检测程序
-
BIOS搭配MBR/GPT
-
计算机开机流程
- BIOS:上电第一个执行的程序,读取CMOS上参数,读取硬盘MBR上的程序。
- boot loader:它是操作系统安装在MBR上的程序,他会读取操作系统的核心文件。
- 核心文件:开始操作系统的功能。
-
boot loader的主要任务
- 提供菜单:使用者可以选择不同的开机项。
- 载入核心文件:直接指向操作系统开始的程序段。
- 转交其他的loader:将开机管理功能转交给其他的loader负责。
-
多重开机
- 每个分区都拥有自己的扇区。
- loader只认识自己系统盘内的核心文件,或其他的loader。
- loader可以直接或者间接将管理权交给另一个管理程序。
-

-
UEFI BIOS(Unified Extensible Firmware Interface)搭配GPT
- UEFI 和 传统BIOS区别
比较项目 UEFI 传统BIOS 使用语言 C语言 组合语言 硬件资源控制 使用驱动程序与协定 使用中断(IRQ)管理,不可变的内存存取,不可变的输入输出 处理器运行环境 CPU保护模式 16位 扩充方式 直接载入驱动程序 通过中断连接 第三方厂商支持 较佳且支持多平台 较差 图形化能力 较佳 较差 内置简化操作系统环境 支持 不支持 - UEFI加入了一个安全启动(secure boot)的机制,开机的操作系统必须被UEFI认证才能正常启动
- 向下兼容BIOS boot的分区支持。
- 为了与windwos相容,并提供其他三方厂商所使用的UEFI应用程序储存空间,必须要格式化一个512MB~1GB左右fat文件系统的容量,让其他UEFI方便执行。

1.4磁盘使用
- 磁盘要挂载到某一个目录才能使用。

浙公网安备 33010602011771号