win10用legacy模式有什么影响(启动模式为Legacy时windows系统启动过程详解)

关注词:BIOS启动模式、启动过程、MBR、PBR、Bootmgr、windows

难度:中级

阅读对象:运维人员、发烧友

适用操作系统:Vista、windows7、windows8

win10用legacy模式有什么影响(启动模式为Legacy时windows系统启动过程详解)(1)

(此图来源百度图库)

本文要讨论的是BIOS启动模式为Legacy模式时(即传统模式,相对于现在的UEFI模式而言的),到我们选择好启动的系统并回车,这个过程所涉及的知识内容。了解这个过程,对于运维人员来说,应该是非常必要,因为类似活动分区标志丢失,MBR损坏,PBR损坏,bootmgr丢失等故障频率比较高,当我们理解这个过程后,自然就能快速确定修复方法了。

【系统引导过程】

win10用legacy模式有什么影响(启动模式为Legacy时windows系统启动过程详解)(2)

整个过程就是,BIOS上电自检,想必这个大家耳朵都听出茧来了,自检完成,将磁盘上的MBR引导程序载入内存并执行,然后载入活动分区磁盘上的PBR引导程序到内存并执行,然后读取活动分区上的bootmgr文件到内存执行,bootmgr解析bcd文件,提示用户选择需要启动的操作系统,最后根据选择加载winload.exe,并转移控制权。

接下来,除了bios自检老生常谈的内容,我们详细看下其他节点的内容。

【MBR】

BMR,是磁盘上0头0柱1扇区的一段代码,其中有一段引导程序和磁盘分区表。分区表这里就不做分析了,保云提取其中一小段代码片段来看下都有些什么内容。

win10用legacy模式有什么影响(启动模式为Legacy时windows系统启动过程详解)(3)

看最右边的内容,是不是有的比较熟悉?

Invalid partition table,不正确的分区表。

Error loading operating system,加载操作系统出错。

Missing operating system,操作系统丢失。

当我们看到这样的提示时,至少可以确定,MBR区域正常,问题出在下一个环节,多数是活动分区标志丢失,使用分区工具重新激活即可。

当然,既然MBR中是一段可执行代码,软件厂家就可以编写自己的代码写到这个区域,图中是典型的由微软提供的代码。

下面我们看看还有那些,如图所示。

win10用legacy模式有什么影响(启动模式为Legacy时windows系统启动过程详解)(4)

引导程序不同,出错时的提示当然也不一样。grub类型也是经常碰到的,品牌机自带linux系统,或者安装linux windows双系统时常使用的类型,出错时会有grub字样,一眼就能看出意思。

【PBR】

PBR位于活动分区最开始的一段代码,同样保云也截取部分代码出来让大家看下。

win10用legacy模式有什么影响(启动模式为Legacy时windows系统启动过程详解)(5)

A disk read error occurred.(一个磁盘读取错误发生)

BOOTMGR is compressd(bootmgr被压缩)

An operating system wasn’t found.Try disconnecting and drivers that don’t contain a operating system.(没找到操纵系统,尝试断开不包含操作系统的驱动器)

当看到这些错误提示的时候,至少可以判断PBR区域正常,即活动分区标志及引导代码正常,可能出现的问题当然是下一个环节,要么是磁盘确实有故障,比如坏扇导致无法读取磁盘数据,要么就是bootmgr文件损坏,这个时候最好做个磁盘扫描。要么就是当前活动分区根本没有bootmgr等引导内容(错误的激活了分区,或者分区内容被删除)。

PBR中的引导程序有时候也会损坏了,可以是哟个bootice这样的工具修复。MBR修复工具更多了,bootice自然不用说,其他的比如磁盘精灵等。

同样,PBR中的引导程序也有不同的类型。

win10用legacy模式有什么影响(启动模式为Legacy时windows系统启动过程详解)(6)

【Bootmgr启动管理器】

Bootmgr(Boot Manager):启动管理器。Vista以后代替Windows xp中NTLDR,是一个隐藏文件,位于活动分区根目录。

从PBR得到控制权后,bootmgr读取\boot\bcd文件,如果有多个启动项可以选择,则显示启动菜单,接受用户的选择。

然后加载被选择项指向的系统加载文件,通常为%sysdir%system32\winload.exe。最后移交控制权。

BCD(Boot Configuration Data,启动配置数据)Vista以后取代了NTLDR中的boot.ini。存储了多操作系统的启动位置、启动方式等参数。

BCD文件采用二进制方式存储,所以不能像boot.ini的文本存储方式可以用记事本编辑,而需要专用工具编辑,如Bcdedit.exe 。

Bcdedit.exe 位于%windir%System32 目录中。

全文完,希望能够帮到大家。

转载必须保留以下内容:

原创作者 保云,微信/QQ同号6911916。

daren858(长按可复制)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页