我们知道系统启动的顺序是: bootsect.S --> setup.S --> head.S 其中 bootsect.S放在磁盘的第一个扇区,当电脑启动时, BIOS自动将其读入到0x7c00处,进而加载系统。如果只安装一个操作系统,只要将bootsect.s写入磁盘首扇区即可引导进入linux。但是一般(并非全部)人往往在安装linux之外不得不安装windows,这就涉及到多重启动问题。在linux下一般用lilo或grub来进行多重引导,随着boot loader的不断发展,功能越来越强,其作用也与原来的bootsect.S有一定重叠。甚至可以完全取而代之。kernel的开发者可能意识到在近期内linux不太可能将windows赶出电脑。另一方面,也为了增加引导的灵活性,所以在2.5.57版中对bootsect.S做了较大的删改,将原本bootsect.S的功能移出到boot loader中,这一更改在正式的2.6.0版中得以保留。但是负面影响也是显而易见的,即这样一来,系统只能由boot loader来引导,即使从软盘启动也是一样。造成了一定的不便。
kernel2.6 对boot的更改
最新推荐文章于 2024-08-26 19:45:00 发布