FBI Warning
该文章适合想对系统重装及启动方式进行了解的小伙伴。如果你仅仅想重做个系统,那么请百度一下,教程很多,虽然杂,但是基本的重装步骤你一定能照着教程做下来。如果你真的想细细研究一下系统的引导及启动,那么请看以下文章。(看懵警告)(后续可能会写那种照着步骤就能做下来的做系统步骤。)
PS:编者并未完全玩明白GPT,毕竟人老了就不喜欢接受新事物,就像我这样,GPT在上周入门现在就要写原理,我太难了。(AWSL)
在前面的推文中,我们分享了当系统出现故障的时候,该怎么抢救桌面数据。当桌面数据抢救完成之后,我们就可以放开手脚去修复系统了。
当我们所有的方式,比如修复引导这些操作全部尝试过之后,系统依旧无力回天的时候,那么我么就只能对系统进行重新安装操作了。就是我们以前系统故障去电脑店最常听到的一句话:重装系统。(50一次?)那么,具体操作该如何进行呢。
在这里,首先介绍一下BIOS
Basic Input/Output System,基本输入输出系统,英文缩写BIOS,其作用为自检硬件及引导系统启动,该系统初始化的时候会把ROM中的数据加载进南桥启动。(并不是大家想的设置都存储在ROM芯片里面。)
BIOS有两种引导方式,Legacy和UEFI
UEFI是一种新型BIOS,而Legacy是传统的BIOS。传统的BIOS会使用INT13中断来读取磁盘,每次只能读64KB,非常低效。而UEFI每次可以读1MB,载入更快,且由于UEFI启动电脑没有自检的步骤,使其速度优于Legacy模式。但是并不是所有主板都支持UEFI,所以这里会把两种方式全部介绍一遍。
首先是Legacy方式重装系统。
Legacy启动系统,是通过查找主硬盘活动分区的MBR,让MBR里面写入的引导信息指引电脑找到自己的系统位置,并开启系统。于是这里引入了一个新的概念,MBR。
MBR,Master Boot Record。一般位于磁盘的0柱面,0磁头,1扇区。其中包括主引导程序,(446Byte),DPT(Disk Partition Table,即分区表,其中记录着电脑中有多少分区,分区的起始位置,大小及其文件系统)(64Byte),和硬盘有效标识(55AA)(2Byte)(结束标识)。
由MBR结构可知,MBR只能存储64字节的分区表,而记录每个分区信息需要16字节。所以使用MBR型分区结构的磁盘,最多只能有四个主分区。
DPT由最多4个16字节的主分区构成。每个16字节的分区信息又由1字节的激活标识符,3字节的分区物理起始位置信息,1字节的分区类型,3字节的物理结束位置信息,4字节的逻辑起始位置信息,以及4字节的分区扇区总数组成。
在这里举一个分区表的例子。
如果某一分区在DPT中数据如下:
80 01 01 00 07 FE BF FC 3F 00 00 00 7E 86 BB 00
那么该字段含义(16转10进制方法自行百度):
80:该分区为磁盘上的活动分区,80是这个分区的激活标志,表示该分区上有系统可引导。
01 01 00:表示分区开始的磁头号为1,开始的扇区号为1,开始的柱面号为0。即分区起始位置。
07表示该分区的文件系统为NTFS,另外还有常用的04(FAT16),0B(FAT32)等。
FE BF FC:表示分区结束的磁头号为254,扇区号为63,柱面号为764,即分区结束位置。
3F 00 00 00:表示首扇区的的相对扇区号为63。
7E 86 BB 00表示总扇区数为12289662。
看了DPT的数据我们可知,4字节32bit,那么一个主分区的扇区总数就不能超出232个。每个扇区大小为512字节,那么单分区最大容量即为2,199,023,255,552字节。即为2TB。这也是为什么MBR最多支持单分区2TB容量的原因。
所以MBR重装系统的时候,一般分区的时候,一般最多4个主分区,每个最大2TB,也就是说我们的MBR仓储盘最多8TB
(PS:啥家庭啊买个8TB机械当仓储盘,家里有矿啊)
那么如果你真的买了一个8TB的机械硬盘当仓储盘,系统还是采用MBR引导方式,那么你就只能分四个单分区2TB的分区了。因为其他方案已经不被MBR支持了。
根据以上对MBR的分析,MBR引导方式的操作系统所在的磁盘分区上,是要有0x80可引导标识的。带有该标识的分区,我们将其称之为活动分区。
设置活动分区的方法也非常简单,使用Diskgenius(DG)工具,选中你想激活的分区,右键,将此分区设置为活动分区,保存更改。
将启动盘设置为活动分区之后,我们即可使用CGI工具安装系统。(CGI原理为解包系统对应文件,然后修复引导。)
一般Windows系统的主引导程序为Windows NT引导程序。XP,2003及以下系统使用NT5.0引导程序。(特征为系统盘根目录的Boot.ini和NTLDR),Win7以后使用NT 6.0引导程序(特征为系统盘下的Bootmgr和Boot文件夹及里面的BCD文件),该主引导记录可使用BOOTICE小工具来更改。
以下为GPT的结构。
与传统MBR一样,GPT也使用LBA取代了CHS。传统MBR信息存储于LBA 0,GPT头文件存储于LBA1,接下来才是分区表。64位操作系统使用32扇区作为GPT分区表,接下来的LBA 3.4是硬盘上第一个扇区的开始。为了减少分区表损坏的风险,GPT在磁盘最后还保存了一份分区表的副本。另外GPT并不使用CHS,所以CHS问题并不会存在。与MBR 1字节的分区标识不同,GPT提供了16字节的全局唯一标识符(GUID)来标识分区类型。这使分区类型发生冲突的概率更小。
介绍这么多,GPT磁盘没有活动分区,那么它是怎么找到的启动分区呢。其实很简单,16字节的GUID就可以解决这个问题。EFI引导分区有自己唯一的GUID:C12a7328-F81F-11D2-BA4B-00A0C93EC93B。Windows将会识别带有该GUID的分区为EFI引导分区,并从里面读取引导数据并加载BCD启动菜单。
与MBR不同,该方式的系统引导将需要多建立一个256MB左右的EFI分区来存储引导数据。然后再在cmd下执行以下指令
bcdboot C:\Windows /s X: /f uefi /l zh-cn
其中:
C:\Windows 硬盘系统目录
/s X: 指定ESP分区所在磁盘,根据实际情况修改(一般PE挂载出来都是X盘)
/f uefi 指定启动方式为uefi
/l zh-cn 指定uefi启动界面语言为简体中文。
别忘了在BIOS里将启动类型从Legacy改成UEFI并开启Secure Boot!
别忘了在BIOS里将启动类型从Legacy改成UEFI并开启Secure Boot!
别忘了在BIOS里将启动类型从Legacy改成UEFI并开启Secure Boot!
不然会不开机!Legacy模式下的BIOS是识别不了GPT磁盘的!!
具体更改随各家主板BIOS设计而定,一般都在Boot那个选项卡下。
文字:Skrshadow
排版:黄月娴
感恩 开放 成长
PC-helper电脑社
网址:pchelper666.com
新浪微博:@PC-helper电脑社