磁盘分区格式与系统引导方式
磁盘基础
柱面,同一磁道,多个盘面构成的圆柱面,从0开始编号
磁道,低格时在盘面上划分的同心圆,从0开始编号。
扇区,每段圆弧为一个扇区,从1开始编号,最小的读写单位。
根据这三个维度可得到CHS地址。
MBR(Master boot record)
主引导记录MBR包括主引导程序(0000-001BD,446Bytes)、硬盘分区表(01BE-01FD,64Bytes)、硬盘有效标识(01FE-01FF,2Bytes)。MBR在0磁道0柱面1扇区的位置,共512Bytes,也就是传统机械硬盘一个扇区的容量。
随着硬盘的容量越来越大,由于MBR的设计,出现了类似千年虫的问题。MBR分区最多允许4个主分区或3个主分区+1个扩展分区,扩展分区中可细分多个逻辑分区。分区最大支持2TB(2^32*512B),而且超出2T的硬盘区域也不能分区。
GUID分区表(GPT, GUID Partition Table)
从Vista和Win7时代,出现了GUID分区表。GPT支持的容量,短期内还无法达到上限,就像15360密钥的RSA算法短期内无法破解一样。需要注意的是,GPT分区的磁盘是不能装32位的操作系统的,但可以被识别用作数据盘,不过32位的XP和之前的系统是不能识别GPT分区的。GPT分区的操作系统是需要UEFI引导的,一些旧的主板可能不支持。
启动引导方式
常见的两种Legacy(传统)和UEFI,分别对应MBR和GPT。
- Legacy引导步骤:Legacy初始化->BIOS自检->MBR->活动的主分区\bootmgr->活动的主分区\Boot\BCD->各个启动项(如\Windows\system32\winload.exe)
- UEFI引导步骤:UEFI初始化->EFI系统分区(FAT格式)->\EFI\Microsoft\Boot\bootmgfw.efi->\EFI\Microsoft\Boot\BCD->各个启动项(如\Windows\system32\winload.efi)
BCDEDIT命令或者EasyBCD、BOOTICE等工具可以管理BCD内容,当系统引导损坏的时候可用U盘进PE,使用上述工具手动修复,或者使用NTBOOT Autofix工具自动修复。目前预装的Win8及以上的系统均采用GPT+UEFI引导,而预装的WIN7通常采用MBR+Legacy引导。
由于分区方式的限制,一块磁盘上只能装载一种引导方式的系统。如果存在多块磁盘,可采取不同方式。如果是重新装系统,引导方式取决于装系统时的启动方式,如UEFI启动Windows安装盘装的就是UEFI引导的,也会提示只能装在GPT分区的磁盘,同理Linux安装盘也是这样。当然如果需要,后期也可以在不损坏数据的前提下相互切换,只不过有时会有些麻烦和风险。