在系统启动时,先是由硬件读取引导磁盘的第一个扇区,并执行从那得到的代码。
在已分区的硬盘中,其第一个扇区上包含了主引导记录和分区表,还有一个程序称为Minix系统主引导程序,
这个程序将自身定位到一个内存区域,然后装入并执行活动分区(在分区表中记录)的第一个扇区(注意与前面的第一个扇区是不同的),
这样控制权就传递到这个引导扇区了。
但Minix3引导扇区是怎样写入硬盘的呢?这个工作由installboot.c来完成。可以看看它的代码:
//位于installboot.c中的main函数入口
int main(int argc, char **argv)
{
if (argc < 2) usage();
if (argc >= 4 && isoption(argv[1], "-image")) {
make_image(argv[2], argv + 3);
} else
if (argc == 3 && isoption(argv[1], "-extract")) {
extract_image(argv[2]);
} else
if (argc >= 5 && isoption(argv[1], "-device")) {
make_bootable(FS, argv[2], ar