写一个最简单的MBR程序
首先这个程序只有很简单的几个指令,只要有一台linux系统的电脑,只需几个步骤就能写出自己MBR程序!
什么是MBR?
当你按下电脑的开机键,你的cup第一个运行的是bios程序,这个程序在制造主板的时候就印刷在一个只读存储器里,一般来说我们无法修改它。bios程序将硬盘第一个扇区的数据传送到内存中的某一段存储单元里,然后cpu就从内存这个地方开始执行指令,bios的使命就完成了。接下来登场的就是硬盘第一个扇区的这段程序,称为MBR程序(Manage Boot Recorder)。MBR的生命也很短暂,它的使命是将操作系统的引导程序装载到内存,但如果你希望你电脑上的所有程序都是你自己写的,那么MBR将是电脑接通电源后后第一个你可以DIY的程序
当然这次我们写的程序还不足以称为MBR程序,因为他还不能装载操作系统的引导程序,但这是你能写出一个完整MBR的第一步!
只要设法将二进制指令复制到硬盘的第一个扇区,然后重启系统,cpu就单纯的执行你的指令了,没有任何操作系统的控制和干预!当然,这是个危险的做法,正如前面所说,我们写的是几个最简单的指令,这几个指令还不足以引导操作系统。所以最好你有一台实验用的电脑,或者你有修复MBR的移动介质。但是再怎么说,这样执行你的指令也很不方便,因为每执行一次新的程序,你都得重新修复一下MBR。让人高兴的是,虚拟机可以解决这个问题, 比虚拟机更方便的是QEMU。
下面进行我们的具体步骤:
1,安装NASM和虚拟机(如果你有实验用的电脑,
什么是MBR?
当你按下电脑的开机键,你的cup第一个运行的是bios程序,这个程序在制造主板的时候就印刷在一个只读存储器里,一般来说我们无法修改它。bios程序将硬盘第一个扇区的数据传送到内存中的某一段存储单元里,然后cpu就从内存这个地方开始执行指令,bios的使命就完成了。接下来登场的就是硬盘第一个扇区的这段程序,称为MBR程序(Manage Boot Recorder)。MBR的生命也很短暂,它的使命是将操作系统的引导程序装载到内存,但如果你希望你电脑上的所有程序都是你自己写的,那么MBR将是电脑接通电源后后第一个你可以DIY的程序
当然这次我们写的程序还不足以称为MBR程序,因为他还不能装载操作系统的引导程序,但这是你能写出一个完整MBR的第一步!
只要设法将二进制指令复制到硬盘的第一个扇区,然后重启系统,cpu就单纯的执行你的指令了,没有任何操作系统的控制和干预!当然,这是个危险的做法,正如前面所说,我们写的是几个最简单的指令,这几个指令还不足以引导操作系统。所以最好你有一台实验用的电脑,或者你有修复MBR的移动介质。但是再怎么说,这样执行你的指令也很不方便,因为每执行一次新的程序,你都得重新修复一下MBR。让人高兴的是,虚拟机可以解决这个问题, 比虚拟机更方便的是QEMU。
下面进行我们的具体步骤:
1,安装NASM和虚拟机(如果你有实验用的电脑,