标题:系统启动过程主要由以下几步组成(以硬盘启动为例): 出处:Felix021 时间:Tue, 02 Oct 2007 01:42:15 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?390 内容: 1 系统启动过程主要由以下几步组成(以硬盘启动为例): 系统启动过程主要由以下几步组成(以硬盘启动为例): 1. 开机 :-) 2. BIOS 加电自检 ( Power On Self Test -- POST ) 内存地址为 0ffff:0000 3. 将硬盘第一个扇区 (0头0道1扇区, 也就是Boot Sector) 读入内存地址 0000:7c00 处. 4. 检查 (WORD) 0000:7dfe 是否等于 0xaa55, 若不等于 则转去尝试其他启动介质, 如果没有其他启动介质则显示 "No ROM BASIC" 然后死机. 5. 跳转到 0000:7c00 处执行 MBR 中的程序. 6. MBR 首先将自己复制到 0000:0600 处, 然后继续执行. 7. 在主分区表中搜索标志为活动的分区. 如果发现没有活动 分区或有不止一个活动分区, 则转停止. 8. 将活动分区的第一个扇区读入内存地址 0000:7c00 处. 9. 检查 (WORD) 0000:7dfe 是否等于 0xaa55, 若不等于则 显示 "Missing Operating System" 然后停止, 或尝试 软盘启动. 10. 跳转到 0000:7c00 处继续执行特定系统的启动程序. 11. 启动系统 ... 作者: Felix021 2007-10-2 01:42   回复此发言 -------------------------------------------------------------------------------- 2 回复:系统启动过程主要由以下几步组成(以硬盘启动为例): 王江民的逻辑锁,就是改写了主引导区,中了逻辑锁,不光是无法用硬盘启动,而且,软盘、光盘都无法启动!实际上这是利用了微软win98以前的一个BUG,(nt系统没有这个BUG)最先用这个方法的是DOS时代的一个叫“猴子”的病毒,让这个BUG大出名的是王江民逻辑锁! 主引导区是如此重要,在里面任意改动都有可能造成系统无法启动! MBR是关键的东西,它就是一段代码,通过检查DPT分区信息引导系统跳转至DBR;它就象是一根火柴点亮整个系统,MBR里的内容是在操作系统前载入的,你在这里可以做很多想做的事情,如果你编程水平足够厉害的话! 作者: Felix021 2007-10-2 01:42   回复此发言 -------------------------------------------------------------------------------- 3 回复:系统启动过程主要由以下几步组成(以硬盘启动为例): http://www.oldlinux.org/oldlinux/viewthread.php?tid=2360 赵博,以前在论坛中谈到bootsect是软盘启动需要的,硬盘启动不需要bootsect,由lilo等程序完成bootsect的功能,近日在看到如下一段论述: “INT 19会将MBR的512 bytes load到内存0x7c00中,然后JUMP到0x7c00处,开始执行MBR的可执行程序master booter,Master booter最起码需要做这些事情: 1 检测MAGIC(Signature)是否为合法值(Hex 55AA); 2 将自己移动到其它位置,将0x7C00到0x7c00+512K的空间让出来,以备其后将boot sector程序装入这个位置,这样才能和直接从软盘直接装入boot sector程序相一致;具体移动到什么位置,则根据设计而定,理论上,可以移动到任何非冲突位置(即没有被预留为其它程序所用的位置);但一般情况下,都是在0X000800至0X0A0000之间寻找一端空间存放。 3 查看分区表,将被设为活动的分区的第一个Sector装入0X7C00的位置,正常的情况下,此Sector放置的就是boot sector程序; 4 最终,master booter跳转到0X7C00的位置,开始执行boot sector。” 其中,第二点的叙述“这样才能和直接从软盘直接装入boot sector程序相一致”,似乎有些矛盾。 作者: Felix021 2007-10-31 18:43   回复此发言 -------------------------------------------------------------------------------- Generated by Bo-blog 2.1.0