登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

pcwanli的博客

nx

 
 
 

日志

 
 

BIOS的启动原理  

2008-06-27 13:15:49|  分类: 电脑维修 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
BIOS的启动原理,转载自www.linuxsir.org 的home-king朋友写的一篇回复。
回复: 如何让Windows“重新启动”直接执行MBR
quote: 最初由 jamesxuruo 发表
Windows正常的重启肯定是要进行BIOS自检,然后读取MBR,此时就进入grub(当然是有grub的情况下),我现在不希望Windows“重启”进行BIOS自检,也就是直接将某些设置配置为已经开始读取MBR状态。
不知这样做是否可行?请赐教。万分感谢。

这个想法是逻辑错误的。你知道真正的启动原理吗?

Intel的IBM PC上i386芯片是遵循Intel与IBM共同制定的Boot协议的

1. PC机的复位线和系统中的所有部件相连,包括CPU的RESET引脚

2. 系统上电开机时,主板电源系统发送低电平的"Power Good"信号,该信号送到复位接口电路的#RES端,产生时钟同步的复位正脉冲信号RESET,该脉冲发送到上面提及的复位线上,经由CPU的RESET引脚被CPU采集到,当正脉冲从1返回0时(下降沿),CPU启动内部初始化程序,初始化完成后进入实地址模式,其中CS:IP寄存器的状态是CS=F000H,IP=0000FFF0H;显然,CPU自初始化完毕后,系统的真正启动才开始,那么,也决定了第一条指令的地址为CS:IP=F000:FFF0H=FFFF0H单元。

3. 与此同时,IBM开机协议规定,RESET时,BIOS ROM被加载到F0000H~FFFFFH,几乎所有BIOS在FFFF0H的指令为JMP BINI,这个BINI就是BIOS启动程序的首地址了

4. 结合2,3两点,PC机开机后的第一个程序就是BIOS启动程序了,这个启动程序的执行流程分为二步:
I. POST(Power On Self Test)
II. 按BIOS设置好的顺序逐一尝试加载启动媒体(硬盘,光驱,软驱,USB盘)的启动程序。对于我们常用的硬盘,则把0面,0道,1扇区的内容(512字节),也就是我们说的MBR加载到0000:7C00H单元开始的区域



结论:
在PC机上的重启(其实重启也是正常启动的一种形式而已),POST一定发生在加载MBR之前,这是由久而来的IBM开机协议所定的。只要你是使用PC机,你无法仅从操作系统的角度来改变这个事实,更何况,从逻辑上而言,这些发生在操作系统运作之前的舞台。或许你的BIOS提供这种设置,使BIOS启动程序中跳过POST这一步(但也同样作用于正常启动,不能仅作用于重启),又或许你使用其他硬件架构如PPC或者ARM嵌入式系统!

楼主之所以产生这种设想,估计是误解了我们计算机教学一直以来的初级概念,软重启和硬重启。注意,前者的RESET信号由键盘发出,后者的RESET信号由物理按键动作发出!但无论是哪种重启,都必须遵循开机协议,POST一定发生在加载MBR之前!



PS:任何设想和建议都必须建基于已有的公理或者大背景之上,否则只能是空想或者钻牛角尖!
  评论这张
 
阅读(443)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018