Windows 版 (精华区)
发信人: cameran (竹晨), 信区: Windows
标 题: 用OS Loader实现多重引导(1)
发信站: 哈工大紫丁香 (2001年09月02日20:01:14 星期天), 站内信件
用OS Loader实现多重引导
时间:2001/04/03 15:55 eNet技术
实现多重引导的工具很多,如System Commander, Linux的lilo,和WindowsNT自
带的OS Loader等等。其原理不外乎两种:一是修改MBR(Master Boot Record),在MBR的最
后用jmp指令跳到自己的代码上来,从而控制引导过程;另一种方法是修改主分区里第一个
扇区的引导代码,来实现多重引导。
这里的MBR,即主引导记录,指的是硬盘的第0个柱面(cylinder)的第0磁道(track)的
第0扇区(sector)。主分区,对于dos,windows等使用fat文件系统的操作系统来说,就是C
盘; 在Linux下,则是指root文件系统所在的分区。
System Commander和lilo用的是修改MBR的方法;OS Loader则用后一种方法。我不喜
欢乱改MBR,所以一般用OS Loader。
下面说说怎么利用OS Loader来实现多重引导:
举例来说,我想在硬盘上同时装上Windows98,windowsNT和Redhat Linux,怎样才能实
现多重引导呢?
你可以先装Windows98,然后安装WindowsNT。WindowsNT装完以后,OS Loader也就自
动装上了。这时你的系统其实已经可以进行多重引导了。
但要想在这个基础上再加一些操作系统的话,还需要再做一些工作。
如果足够细心的话,在装完WindowsNT以后,你会发现在C盘的根目录下多了一个名叫
bootsect.dos的文件,大小为512字节, 这是原来Windows98安装在主分区第一个扇区里的
引导代码。
在安装WindowsNT的时候,NT先把这个扇区的内容存到一个文件(即bootsect.dos)里
,然后换上他自己的引导代码,也就是OS Loader。
在进行多重引导的时候,如果选进入Windows98,OS Loader会把bootsect.dos读进内
存然后执行,从而引导到windows98。
在这里,我们要做的工作很简单,就是想办法把OS Loader的代码读出来,存到文件里
去,也就是要把主分区第一扇区的512字节读出来。在DOS下,这可以用debug来做,也可以
自己写一个小程序来实现。
但是如果装Linux的话,问题就十分简单了。Linux里有一个现成的实用程序可以用来
直接读写扇区。
安装Linux有两点要注意的地方。
第一:在安装lilo的时候,一定不要把lilo装到MBR里去,因为现在是想用OS Loader来
做多重引导。应该把lilo装到主分区的第一扇区里(注意,这里的主分区指的不是C盘,而
是安装Linux的那个分区)。
第二:应该做一张启动软盘(bootdisk),以便你能够进入到Linux里。因为现在lilo没
有装在MBR里,暂时还不能直接从硬盘引导到Linux。
--
欲讯秋情众莫知, 喃喃负手叩东篱。
孤标傲世偕谁隐,一样花开为底迟?
圃露庭霜何寂寞,鸿归蛩病可相思?
休言举世无谈者,解语何妨片语时。
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.175]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.528毫秒