easyuefi只能在efi启动的windows_硬核:系统重装及启动原理

a39eee946dc235e3455c6c02051d7bf4.gif

FBI Warning

该文章适合想对系统重装及启动方式进行了解的小伙伴。如果你仅仅想重做个系统,那么请百度一下,教程很多,虽然杂,但是基本的重装步骤你一定能照着教程做下来。如果你真的想细细研究一下系统的引导及启动,那么请看以下文章。(看懵警告)(后续可能会写那种照着步骤就能做下来的做系统步骤。)

PS:编者并未完全玩明白GPT,毕竟人老了就不喜欢接受新事物,就像我这样,GPT在上周入门现在就要写原理,我太难了。(AWSL)

在前面的推文中,我们分享了当系统出现故障的时候,该怎么抢救桌面数据。当桌面数据抢救完成之后,我们就可以放开手脚去修复系统了。

当我们所有的方式,比如修复引导这些操作全部尝试过之后,系统依旧无力回天的时候,那么我么就只能对系统进行重新安装操作了。就是我们以前系统故障去电脑店最常听到的一句话:重装系统。(50一次?)那么,具体操作该如何进行呢。

在这里,首先介绍一下BIOS

bc11a2f2d8f7c78ea37afdf050029645.png

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那个选项卡下。

ebc98151e9263ee5b0b1b624ade5430f.png 599fe0466b5c6a1d72af99323156d434.png 81482e880293c000b372b6c66b017e9b.png

文字:Skrshadow

   排版:黄月娴

40b2499309bf79469da96738d42a6a3e.png

感恩   开放  成长

  707cdc2e2025cbb41a0797cf5ac60ea3.png

PC-helper电脑社

网址:pchelper666.com

新浪微博:@PC-helper电脑社

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值