1. 简介
本章节,我们学习下 Hackintosh 的一些基础知识。例如分区类型和引导类型。
2. MBR 和 GPT
当我们在操作系统上设置新磁盘时,会问你是使用主引导记录 MBR(Master Boot Record)还是使用 GPT(GUID Partition Table)分区类型。MBR 和 GPT 是在磁盘上存储分区信息的两种不同方式。此信息包含分区的起始位置,以便操作系统知道哪些扇区属于某个分区以及哪个分区是可启动的。这就是在磁盘上创建分区之前必须选择 MBR 或 GPT 的原因。它是安装操作系统的第一步。
我们可以从维基百科获得有关 GPT 的一些信息:
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个物理存储设备上分区表布局的标准。虽然它是统一可扩展固件接口(UEFI)标准(被 Intel 用于替代个人计算机的 BIOS)的一部分,但由于 MBR 分区表的限制,它也用在某些 BIOS 系统上 —— 在传统的 512 字节磁盘扇区上使用 32 个比特存储逻辑分区地址(Logical Block Address,缩写:LBA)和大小信息。
MBR:
主分区记录(MBR)是分区的计算机大容量存储设备(如固定磁盘或可移动磁盘)最开始的一种特殊类型的引导扇区,在 IBM PC 兼容系统上使用。MBR 的概念在 1983 年和 DOS 2.0 一起公开发布。
MBR 保存磁盘上如何组织包含文件系统的逻辑分区的信息。MBR 还包含加载已安装的操作系统的可执行代码 —— 通常将控制权交给加载的第二阶段,或者和每个分区的卷引导记录(Volume Boot Record,缩写:VBR)一起使用。此 MBR 代码通常称为引导加载程序。
2.1 MBR 和 GPT 的区别
通常来说,MBR 和 GPT 分区类型也决定了磁盘类型。使用对应的分区类型初始化磁盘后,我们可以将磁盘称为 MBR 磁盘或 GPT 磁盘。对于不同类型的磁盘有不同的方案来管理磁盘上的分区。它们之间的差异是由高速发展的信息时代引起的,旧方案的弊端越来越明显。
对于硬盘而言,一个扇区可能的字节数为 128 * 2^n(n = 0,1,2,3)。大多数情况下,取 n = 2,即一个扇区(sector)的大小为 512 字节。
使用 MBR 分区表的磁盘最大可寻址存储空间限制为 2 TB(2^32 * 512 字节),它最多只支持 4 个主分区,或者 3 个主分区和 1 个扩展分区(可划分为多个逻辑分区)的组合。然而,随着时代的进步,需要更大的存储设备应用于计算机领域。因此,基于 MBR 的分区方案正在被 GUID 分区表(GPT)方案取代。因为使用 GPT 分区表的磁盘最多支持 2^64 个分区,如果磁盘扇区大小为 512 字节,那么最大可寻址空间为 9.44 ZB(1 ZB = 1024 * 1024 * 1024 GB),并且能够拥有多达 128 个主分区。GPT 可以和 MBR 共存,以便为旧系统提供某些有限的向后兼容。
2.2 MBR 磁盘转换为 GPT 磁盘
对于安装 Hackintosh,我们建议使用 GPT 而不是 MBR 分区类型。那么如何将 MBR 转换为 GPT 呢?
- 使用 Windows 的
diskpark
命令。 - 使用 macOS 的
gdisk
命令。
或者使用图形化的 DiskGenius 进行转换。
3. ESP 分区
3.1 什么是 EFI 分区
2012 年之后制造的几乎所有计算机都用 UEFI 启动而不是旧版标准的「Legacy」。这些计算机需要 ESP 分区才能启动。ESP 代表 EFI 系统分区,并使用 FAT32 文件系统格式化。ESP 负责存储启动时固件使用的 EFI 引导加载程序和其它实用程序。如果您不小心删除了此分区,系统将不能启动。为了安全起见,ESP 是隐藏的,没有盘符。
如果安装 Windows,默认情况下 ESP 为 100 MB。如果使用 GUID 分区表(GPT)分区类型初始化磁盘,在安装 Windows 或 Mac 操作系统(OS)后会自动生成一个 EFI 系统分区。
维基百科中 ESP 的定义是:
EFI 系统分区(ESP)是使用统一可扩展固件接口(UEFI)的计算机的数据存储设备(通常是硬盘或固态硬盘)上的分区。引导计算机时,UEFI 固件会加载存储在 ESP 上的文件,来启动已安装的操作系统和各种实用程序。ESP 需要使用基于 FAT 文件系统规范的文件系统进行格式化,并作为 UEFI 规范的一部分进行维护;因此,该文件系统规范独立于原来的 FAT 规范。
请记住,对于安装 Hackintosh,100 M 的 ESP 分区将无法工作。ESP 分区必须 至少有 200 M 才能启动进入 macOS。
3.2 如何创建 EFI 分区
当我们用制作 UEFI 启动的安装盘时,制作软件(如 大白菜、Etcher 等)会自动在磁盘上创建 ESP 分区,用于引导系统启动。