win7怎么进入dios系统-()

win7怎么进入dios系统

()

电脑

本节内容源自《操作系统真象还原》,请大家支持正版

bios是如何苏醒的

bios其实一直睡在某个地方,直到被唤醒……前面热火朝天的说了bios的功能和内存布局,似乎还没说到正题上,bios是如何启动的呢。因为bios是计算机上第一个运行的软件,所以它不可能自己加载自己,由此可以知道,它是由硬件加载的。那这个硬件是谁呢?其实前面已经提到过了,相当于是只读存储器ROM,因为它一直就睡在那里不动。

大家知道,只读存储器中的内容是不可擦除的,也就是它不像动态随机访问存储器DRAM那样,掉电后,里面的数据就会丢失。这种存储介质是用来存储一成不变的数据,当数据写进去后,便与日月同辉,庭前坐看花开花落,不朽于天地万物之间,哈哈,有点夸张了。

bios代码所做的工作也是一成不变的,而且在正常情况下,其本身是不需要修改的,平时听说的那些主板坏了要刷bios属于例外。于是bios顺理成章地便被写进此ROM。ROM也是块内存,内存就需要被访问。此ROM被映射在低端1M内存的顶部,即地址0xF0000~0xFFFFF处,可以参考表1-1顶部的bios部分。只要访问此处的地址便是访问了bios,这个映射是由硬件完成的。

bios本身是个程序,程序要执行,就要有个入口地址才行,此入口地址便是0xFFFF0。最重要的一点来了,知道了bios在哪里后,cpu如何去执行它,即cpu中的cs:ip值是如何组合成0xFFFF0的。如果大家不了解内存的分段访问机制,可以参电脑考第0章,里面有讲解cpu为什么分段方式内存。说正事,cpu访问内存是用段地址+偏移地址来实现的,由于在实模式之下,段地址需要乘以16后才能与偏移地址相加,求出的和便是物理地址,cpu便拿此地址直接用了。这个“段基址:段内偏移地址”的组合是0xffff:0吗?或者是0xF000:0xFFF0?或者是更奇葩一点的组合:0xFEEE:0x1110? 或者您想出的组合比我的还奇葩,好啦,不折磨大家了,还是说正事要紧。既然做为第一个运行的程序都没开始执行,自然就没办法用软件搞定这件事了,还是得靠硬件支持才行。在开机的一瞬间,也就是接电的一瞬间,cpu的cs:ip寄存器被强制初始化为0xF000:0xFFF0。由于开机的时候是处于实模式,再重复一遍加深印象,在实模式下的段基址要乘以16,也就是左移4位,于是0xF000:0xFFF0的等效地址将是0xFFFF0。上面说过了,此地址便是bios的入口地址。当我给出这个地址后,不知道大家意识到什么没有。bios是在实模式下运行的,而实模式只能访问1M空间(20位地址线,2的20次方是1M)。而地址0xFFFF0距1M只有16个字节了(见表1-1除标题外的第一行),这么小的空间够干吗?bios又要检测硬件、做各种初始化工作、还要建立中断向量表……16字节的机器指令肯定干不了这么多事。也许有的同学会问,超过寄存器宽度会怎么样呢?比如0xFFFF0+16,这样就溢出了,由于实模式下的寄存器宽度是16位,0xFFFF0+16已经超过了其最大值0xFFFFF。溢出的部分就会回卷到0,又会重新开始,即0xFFFF0+16等于0,0xFFFF0+17等于1。

既然此处只有16字节的空间了,这只能说明bios真正的代码不在这,那此处的代码只能是个跳转指令才能解释得通了。好,既然心里有了推断,那咱们就来证明这个推断正确与否。下图是我在bochs中抓的图,下面给大家分析一下这图中的信息都代表什么。

电脑

首先得承认,这张图有点超前了,这是在有了MBR后才能抓到的,否则会提示boot failed: not a bootable disk,而我们还没有MBR,还没有写主引导记录。先不管这张图是怎么来的啦,反正大家马上就能够在自己的虚拟机里看到这张图了,大概还有1柱香的工夫,可能是很长的那种香^—^。大家先注意框框中的内容。一共有3个,最上面左边第1个标有cs:ip的那个框,cs寄存器的值是0xf000,ip寄存器的值是0xfff0,也就是段基址0xf000,段内偏移地址0xfff0,这个组合出来的地址便是0xffff0,这是处理器下一条待执行指令的地址。这与上面所说的bios入口地址是吻合的。另外,因为cs和ip寄存器中存储的是下一条要执行的指令,目前还没有执行,也就是说,当前还没有执行bios,这是机器刚开机的那一刻。这一刻还是值得庆祝的,因为即使是计算机行业的同学都很少看到这一刻,何况我们让这一刻停了下来,成为永恒。

按理说,既然让cpu去执行0xFFFF0处的内容(目前还不知道其是指令还是数据),此内容应该是指令才行,否则这地址处的内容若是数据而不是指令,cpu硬是把它当成指令来译码的话,一定会弄巧成拙铸成大错。现在咱们又有了新的推断,物理地址0xFFFF0处应该是指令,继续探索。继续看第二个框框,里面有条指令jmp far f000:e05b,这是条跳转指令,也就是证明了在内存物理地址0xFFFF0处的内容是一条跳转指令,我们的判断是正确的。那cpu的执行流是跳到哪里了呢?段基址0xf000左移4位+0xe05b,即跳向了0xfe05b处,这是bios代码真正开始的地方。

第三个框框cs:f000,其意义是cs寄存器的值是f000,与我们刚刚所说的加电时强制将cs置为f000是吻合的,正确。接下来bios便马不停蹄的检测内存,显卡等外设信息,当检测通过,并初始化好硬件后,开始在内存中0x000~0x3FF处建立数据结构,中断向量表IVT并填写中断例程。

好了,终于到了接力的时刻,这是这场接力赛的第一棒,它将交给谁呢,咱们下回再说。

【再续】


电脑

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


10.0.0.1是Cisco、smc等路由器登录IP,它属于私有A类IP地址范围。10.0.0.1是Cisco和Xfinity路由器管理界面的默认网关地址。除了10.0.0.1,还有192.168.1.1,192.168.0.1和192.168.124.1等多个IP地址作为其路由器的默认网关。
如果你想要修改无线路由器的WIFI密码,那么需要登陆到路由器管理界面进行修改,而路由器的常见登陆地址是:192.168.1.1
192.168.1.1是非常普遍的路由器默认登录入口地址。以前我们常用电脑来设置路由器,但现在随着手机的普及,越来越多的人选择手机登录无线路由器,并管理路由器网络。
192.168.10.1是可用作路由器登录界面地址的,拿到路由器翻转至底部查看默认登录地址,如果显示192.168.10.1,那么你是可以通过手机或电脑的浏览器打开此地址进入到路由器管理界面的。
10.10.100.100是一个私有内部的网络IP地址;仅在局域网内可以使用,外部网络是无法通过10.10.100.100地址登录或打开的。
192.168.1.1手机登录是指手机打开路由器192.168.1.1登录页面入口,打开192.168.1.1后需要输入用户名跟密码登录,然后进入路由器管理后台设置界面就可以管理你的路由器了。
h3c路由器的默认密码是什么? h3c路由器默认账号密码:用户名:admin,密码:admin。
路由器的密码就是wifi的密码,有些用户因为自动连接的关系时间一长可能就忘记了这个密码,那么该怎么重新设置呢?下面就带来了路由器密码忘了重新设置教程,快来一起看看吧。
买完路由器,家里要开始进行布置宽带网络,打算经常会遇到不懂路由器怎么安装和设置,今天编程之家小编介绍关于路由器安装与配置的方法,供你参考学习。路由器安装设置步骤详解安装路由器和设置路由器的步骤如下:
设置mercury路由器的方法如下:1、先将电信来的网线插路由器的WAN口,电脑插路由器的LAN口;
(pe制作u盘启动盘教程)一、启动U盘的作用与选择启动U盘的作用对于一个经常处理电脑故障的人来说是非常重要的一个工具,它可以用来安装系统,硬件测试,密码破解,硬盘分区、引导修复、数据恢复、备份重要文件(特别系统崩溃时)等等极其强大的功能,能够熟练使用PE,绝对能够成为一名
(windows7不能连接无线网)作为电脑的老用户,很多人跟喜欢用win7系统,在使用了一段时间的win10后不习惯,重装回了win7,但是发现win7发现不了无线网络。这个问题要怎么解决呢?下面小编就给大家提供win7电脑发现不了无线网络怎么办的解决方法吧。win7发现不了无线网络怎么办1、我们进入控制面板中的“网络和Internet”(控制面板可以在开始菜单中
(u盘维修软件)如今U盘已经不是什么新鲜的电子产品了每个人手里应该都有几个U盘吧您有没有在使用U盘时出现过U打不开需要修复或者格式化的情况?今天小编就给大家整理了7款U盘修复工具1CheckToolsU盘批量格式化软件U盘批量格式化工具,来自FristChip出品,CheckTools是一款通用的U盘修复工具,
(如何用u启动安装win7系统驱动)如果电脑遇到系统异常问题,必须重新安装,应用启动u盘进行重新安装系统是最快的方式,但仍有一些朋友不知道如何启动u盘重新安装系统,下面小边将启动u盘重新安装系统教程图与您分享。工具/原料:系
(u盘启动盘win10安装教程)u盘重装win10电脑系统步骤,今天教大家怎么用u盘来安装Windows系统当安装系统前我们需要准备的硬件工具一个大于等于16g的u盘,主要是usb30接口因为这样可以让装系统的速度更快还需要一台可以正常使用能上网的电脑跳转到安装系统的步骤因为我们把系统以及需要用到的文件都已经制作好了准备好了以上工具接下来就是准备软件工具我们需要用到两个软件第
(华硕u盘uefi启动不了)此前微软发布了预览版的Windows11,不过预览版属于未稳定的测试版,所以装机之家晓龙一直建议大家等待Windows11正式版发布再进行安装或升级,而在本月10月05日,微软正式为广大用户推送了Windows11正式版,与Win10不同,想要安装Win11
(用u盘安装win7系统图解教程)u盘安装win7系统教程图解,今天呢,准备教大家如何用我们的u盘启动盘给我们的电脑装系统电脑首先呢,我们要提前准备好制作好的u盘启动盘,那么接下来呢有一点需要注意的就是我们这个usb启动向的选择每一种品牌的电脑这个启动向快捷键的话可能会有区别一般是f9f10f11或者f12每种电脑的话可能会有一些区别我们
(如何让文件从u盘复制后不能使用)[闽南网]为了保护电脑中的重要文件,大家可谓是绞尽电脑脑汁,除了进行文件加密之外,我们还可以设置拒绝拷贝,防止他人通过U盘随意复制数据。本文详细介绍了设置屏蔽U盘拷贝电脑文件的方法,有需要的朋友可以参考。如何设置
(u盘安装系统取消主页锁定怎么办)小白从0开始安装WIN10--修改版1这是一篇很长很长的文章,并且后续还会根据实际情况以及与网友的沟通做出不断的修改,这是一个小白从0开始安装WIN10,包含如下问题:1.
(电脑电脑开机wifi不自动连接)电脑指示灯不亮1、供电的问题,可以查看下主机电源线与外部电源是否连接好,是否有线路故障等,当电脑电源不良也电脑会出现电脑开机没反应,这些需要做些简单的排除去确认。2、开机键问题,拔掉主板上的Re