如何实现类似操作系统的从磁盘引导呢?(200分)

  • 主题发起人 ljlwater
  • 开始时间
L

ljlwater

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)]
在磁盘引导区中写入代码,从此盘引导后自动执行程序.
也就是摸拟一个操作系统基本的工作过程了!
 
相信你所提及的功能在Dos环境中使用C语言和汇编语言比较好,具体你可以看有关启动型
病毒的源码,在网上搜索很容易找到,如果你的程序比较短小的话,你完全可以直接把执
行代码放在0扇区之后的十几个保留扇区中,0扇区的头两个字节是跳转地址,一般的操作
系统入口的挑转地址就是放在那,你可以用Bios13号中断来写磁道扇区,夺取系统的优先
使用权,启动型病毒的机理如出一辙,我只能提供这点想法,具体我没有做过,我觉得这个
问题最好放到汇编论坛会比较好。
 
不知你要干什么,先给你个连接,此处含有win95的引导汇编程序。
http://www.cse.iitd.ernet.in/~csu98123/old/home/learn/os/dosbootsect/boot.html
 
类似于VXD、WMD的编写。
事先准备好引导系统的机器码文件。
程序进入ring0,调用“磁盘绝对写”底层api或者磁盘写int13中断,
将机器码文件顺序写入0磁道0柱面1扇区(主引导区) 。

相关概念:
1.MBR(MAIN BOOT RECORD)即主引导记录区,它位于整个硬盘的0磁道0柱面1扇区,
包括硬盘引导程序和分区表。   

2.DBR(DOS BOOT RECORD)即操作系统引导记录区,通常位于硬盘的0磁道1柱面1扇区
 
顶部