📄 00000044.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: zolo (英国狐狸), 信区: Linux <BR>标 题: OSLoader多系统启动--by黑仔强 <BR>发信站: BBS 水木清华站 (Tue Dec 14 03:19:54 1999) <BR> <BR>---------------------OSLoader 实现多系统方案Ver1.0-------------------- <BR> <BR> 现今有许多系统引导程序,例如bootstart,bootselect,OS bootmanager... <BR>当然少不了著名的System com-mander 。但是这些程序有的要占用一个主引导区, <BR>有的每次开机的时候都要写一次MBR,总之使用虽然挺方便但是很容易被一些杀毒 <BR>软件认为MBR有病毒(我曾经使用SC4.0后用KV300杀毒,结果KV300“发现”MBR有 <BR>病毒,杀掉后SC4就有问题了)。而且每次开机都写一遍mbr,自己心里总觉得有 <BR>点不舒服。于是希望使用一种安全又没有上述软件缺点的多系统引导程序,以满 <BR>足我既希望使用MS的系统,又想尝试Unix的稳定和强大的愿望。微软的Win NT <BR>本身就附带了一个很好的多系统引导程序--OS Loader。 <BR> <BR>1.使用OS Loader的好处 <BR> 它不单独占用一个主区,而且每次启动时不需要重写MBr,增加启动的item也很 <BR>方便。因此我选择了它。但是它有个比较大的毛病--当新安装了其他类型的系统, <BR>它是不能够检测得到,而且也不会自动增加相应的item。不过这个问题我通过参 <BR>考水木清华BBS上面的方法结合个人的实践已经得到了比较满意的解决。可以实 <BR>现MSOS+Linux+BSD+Unix多启动。如果要增加其他类型的系统的话,也相当容易。 <BR> <BR> <BR>2.如何安装OS Loader实现多启动 <BR> 首先你不需要真正地安装Winnt 4.0/5.0,你现在需要的是只是OSLoader这能 <BR>进行多引导的部分。方法如下: <BR>在windows下的命令行提示符下,假设你的光驱是i:(我的光驱就是i:)。可以按照 <BR>下面的做法去做(#号是注释) <BR> "md c:\ntboot #建立一个专门的目录 <BR> md c:\ntboot\system32 #建立放置ntoskrnl.exe的目录 <BR> md c:\ntboot\winnt #放置winnt.exe和dosnet.inf的目录 <BR> copy i:\i386\winnt.exe c:\ntboot\winnt <BR> copy i:\i386\dosnet.inf c:\ntboot\winnt <BR> copy i:\i386\ntldr c:\ <BR> expand i:\i386\ntoskrnl.ex_ c:\ntboot\system32\ntoskrnl.exe #解压缩NT的核心 <BR> copy i:\i386\bootfont.* c:\ #拷贝文字文件以便在开机是可以显示中文 <BR>" <BR>你或者将上面的命令行写成批处理文件来自动完成。复制好后,退到纯dos7下,运 <BR>行lock命令,要不然安装OSLoader的时候一定会报错而当机。接着运行 <BR> " c:\ntboot\winnt\winnt.exe /b" 。随后它会报错,不理会它。按F3退出。 <BR>这时候OS Loader已经将MBR重些了一次。下一次启动的时候就会出现OS Loader的启 <BR>动画面。不过你还得自己手动改C:\boot.ini的内容以适合你的要求。 <BR> <BR> <BR>3.哪些文件是必须的 <BR> 要使用OS Loader,必须的文件只有4个: ntldr、dosnet.inf、winnt.exe、 <BR>ntoskrnl.exe。在上面安装的过程中可以看得很清楚,总共才不到1MB。如果你嫌 <BR>麻烦,可以到我的主页上下载安装文件(是我制作好的标准安装程序)。另外, <BR>你如果使用的是NT 4.0中文版,那么你可以将bootfont.bin文件也拷贝到c:\,这样 <BR>启动菜单就可以显示中文。 <BR> <BR> <BR>4.如何使用 <BR> 一般在第一次使用时,先退到dos下,进入ntboot\winnt目录,不过注意在执 <BR>行winnt.exe之前必须对分区进行解锁,也就是键入“lock”命令,否则一运行 <BR>winnt.exe就会导致当机。lock完成以后,键入"winnt/b",安装程序会报错,无须 <BR>理会它,按f3推出即可。OS Loader已经重写了MBR,并且可以引导你的操作系统了。 <BR>不过它只能够识别到Dos6.22或者Windows(我估计是通过检查c盘的io.sys, <BR>command.com,msdos.sys 等文件来识别的)。要想引导其他类型的系统还要费些工夫。 <BR> <BR> <BR>5.多引导的原理 <BR> 根据水木清华BBS上面的相关文章,结合我自己的实际经验和理解,我认为OS <BR>Loader的原理是:把来自其它操作系统的启动扇区信息变成一个文件,大小一般是 <BR>512字节,在启动OS Loader 的时候, 它读入这文件并启动选择的操作系统,也就是 <BR>说,这个系统或是不同模式的Windows NT,或是任何其它类型的操作系统,例如 <BR>Linux、FreeBSD。 <BR> 根据以上原理,我们可以知道要引导多系统的话,关键是如何获取相应的启动 <BR>扇区前512字节的启动信息。一般对于Linux等类Unix系统,可以用dd 命令来获取。 <BR>而对于Windows/Dos/Nt,一般没有类似dd这类命令。如果是想获取不是c盘的启动 <BR>信息,可能要进入Linux等系统下面,用dd命令来获取。 <BR> <BR> <BR> <BR>6.如何引导其它类型的系统的实例 <BR> a.Linux 系列 <BR> 我的方法是用PQmagic4.0建立一个Linux ext2主分区并激活为活动分区,然后建 <BR>立一个Swap分区。重新启动后用RedHat 的安装光盘来启动,正常安装Linux。注意: <BR>在选取安装LILO在MBR还是它所在的主分区的时候,一定要选安装在Linux分区上! <BR>否则LILO将会代替OS Loader。 <BR> 安装结束后,进入Linux的命令行,然后先将C盘挂上。方法如下: <BR> #mkdir /mnt/c #建立一个c文件夹,C盘准备挂在c上 <BR> #mount -t vfat /dev/hda1 /mnt/c #将C盘挂在c上 ,不过是否hda1则要 <BR> #看你的c盘是不是第一个主分区 <BR> #如果是第二个主分区就是hda2,如此类推 <BR> 然后,确定你的Linux分区(指Ext2分区)是那个设备,例如hda2。如果你不知 <BR>道,可以键入" mount"看看就可以了。弄清楚后,假设你的Linux 分区是hda2 ,在 <BR>命令行下输入: <BR> #dd if= /dev/hda2 of=/mnt/ntboot.lnx bs=512 count=1 <BR> 对以上命令我想解释一下,它的大致意思是: dd if= Linux分区的盘号(或者对 <BR>应的设备) of=启动扇区文件存放的路径 bs=对应扇区前?字节 count=1 。在本例 <BR>中Linux分区的盘号是/dev目录下的hda2 ,将启动扇区前512字节存成名称为 <BR>ntboot.lnx,在/mnt目录下的文件。 然后输入: <BR> #cp /mnt/ntboot.* /mnt/c <BR> 把扇区文件拷贝到C盘下面。这样获取启动扇区前512字节信息的任务就完成了。 <BR>Reboot后在进入C盘,再用回PQmagic将C盘激活成活动分区,并且在c:\boot.ini里 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -