2005/05/30 | 让Linux和Windows 95共存于一个硬盘
类别(LINUX专栏) | 评论(0) | 阅读(39) | 发表于 12:44
作者:安富国

一、LILO简介


LILO代表Linux加载程序。LILO是一个在系统启动时运行的程序,它允许选择用于引导计算机的操作系统。可以用LILO引导几个不同的操作系统,如Linux和MS-DOS。用LILO可以定义一个默认的要引导的操作系统和一个引导该操作系统的延迟时间。例如,如果在计算机上有MS-DOS和Linux,可以配置LILO引导二者中的任何一个,然后告诉LILO,如果30秒后没有键盘介入,就引导二者中的MS-DOS;如果在30秒之内,键盘的Ctrl、Alt、Shift、Caps Lock中的任一键按下,就会出现boot:,此时按下Tab键,能获得LILO引导的操作系统的清单。配置LILO时,可以指定所有这些操作。


二、LILO设置方法


有两种方式可以运行LILO。一种是第一次安装时运行setup程序,在分区、安装软件包之后自动运行,或是在setup的主选单中选Configure后进入。

第二种方法是用root注册后,在命令行上直接输入:# liloconfig-color后,出现LILO设置选单(这里假设已安装了Linux和DOS分区):

Begin Start LILO configuration with a new LILO header

Linux Add a Linux partition to the LILO config file

OS/2 Add an OS/2 partition to the LILO config file

DOS Add a DOS partition to the LILO config file

Install Install LILO

Recycle Reinstall LILO using the existing lilo.conf

Skip Skip LILO installation and exit this menu

View View your current /etc/lilo.conf

Help Read the Linux Loader HELP file

首先选择第一项,Linux会出现“OPTIONAL append= LINE”对话框,询问要不要在启动时, 传一些参数给 Kernel。(有些情况会有这种需要, 比如使用了特殊规格的硬盘,或者是无法被Linux的Kernel检测到的CDROM。)这里直接打回车。

下面是一个选单,有 MBR/Root/Floppy 三个选择项,其中:

MBR: MBR是位于第一硬盘第一cylinder内的第一个sector,电脑在启动时, 会先读取此区域来决定开机。

Root:是所谓superblock,把 LILO 装在 Linux 所在的分区。

Floppy: 指定把LILO安装在软盘, 这样可通过软盘开机。

我选择MBR,再下面选择“5 Seconds”,这样在启动系统时,当出现LILO字样后的 5秒以内没有键盘干预就引导。

以上已经指定好 LILO 的运行方式了, 接下来要把硬盘里现有的 OS, 全部加入到LILO 的开机选单中。如果希望开机后引导的缺省的操作系统是MS-DOS,那么应先选‘DOS’,Linux会自动检测到所有DOS分区。例如:

Device Boot Begin Start End Blocks Id System

/dev/hda3  121 121 476 1435392 6 DOS 16-bit >=32M

输入“/dev/hda3”回车,再指定一个将在开机选单中出现的名字,如“DOS”(只是个记号,大小写无所谓),再回车。

有时Linux不认识已分好区的DOS分区,将不出现可用的DOS分区列表。可按ALT-F2切换到第二屏,键入:# fdisk

Using /dev/hda as default device!

Command (m for help):

Disk /dev/hda: 128 heads, 63 sectors, 621 cylinders

Units=cylinders of 8064 *512 bytes

Device Boot Begin Start End Blocks Id System

/dev/hda1 1 1 100 403168+ 83 Linux native

/dev/hda2 101 101 120 80640 82 Linux swap

/dev/hda3  121 121 476 1435392 6 DOS 16-bit>=32M

从这里可以看出,DOS分区位于/dev/hda3处,按ALT-F1转回原来的屏幕,在输入行处输入“/dev/hda3”,接下来再输入“DOS”。

下面在LILO的设置选单里选第二项“Linux”,Linux检测到如下分区:

Device Boot Begin Start End Blocks Id System

/dev/hda1 1 1 100 403168+ 83 Linux native

输入“/dev/hda1”,再输入名字:“Linux”

再选LILO选单第五项“Install”。


三、Windows98与Linux共存的技巧

安装完Linux后,如果想从光盘安装Windows95/98,却又暂时找不到DOS下的光驱驱动程序,那也没有关系,可先启动linux,用root注册,输入:

# mount /dev/hda3 /mnt -t umbdos

这里,由于DOS分区使用了分区表中的第三项,所以在Linux中,DOS分区的设备名就是/dev/hda3。mount成功后,在光驱中放入win95的安装盘,继续输入:

# cd /mnt

# ls

command.com  io.sys msdos.sys

# mkdir cab

# mount /dev/hdb /cdrom (/dev/hdb是cdrom的设备名)

# cp -r /cdrom/pwin98 /mnt/cab

过几分钟,#提示符再次出现。至此,Pwin98的安装文件已全部拷贝到了DOS分区的c:\cab子目录下。

重新启动,进入DOS操作系统。可以看到cab中确实有刚才拷贝的Pwin98安装文件。进入c:\cab,运行setup,把Pwin 98装好。

安装Pwin98后会出现一个问题,那就是每次启动后,都将直接进入Pwin98,再也进入不了Linux了!这只能怪Pwin98自作主张,擅自修改了存放有LILO引导程序的MBR。解决办法是:再次用bootdisk启动,在出现LILO欢迎画面并等待按回车的地方输入: mount root=/dev/hda1 (回车)输入系统后,用root注册,再次运行liloconfig-color,选Recycle后,重新启动一遍机器,可以看到一切又都运行正常了。

顺便介绍一个当不再需要 Linux 时卸载 Linux 和LILO的方法:在DOS下运行Fdisk,删除 Linux 分区,激活 DOS 分区。再运行Fdisk/MBR,即可清除主引导区的LILO引导程序。

以上示例均在SlackWare Linux版本2.0.30上通过。
0

评论Comments