| 论坛注册| 加入收藏 | 设为首页| RSS
Google
您当前的位置:首页 > Linux频道 > Linux入门与提高 > 安装与配置

硬盘分区表与多操作系统启动

时间:2006-07-19 16:07:56  来源:Linux联盟  作者: 董恩广 王志刚

    如今Linux已经在越来越多的计算机上安家落户了,随着Linux在各个方面功能的不断丰富与完善,许多用户都跃跃欲试。由于Windows系统在桌面上已统治多年,在一台计算机上同时安装WindowsLinux也就成了大多数人的选择,甚至是多个Windows(如Windows 98Windows 2000Windows XP等)与多个Linux(如中软LinuxRedHatMandrake)同时共存。但是很多用户安装完Linux系统后,就再也进入不了原来的Windows了,只好重新安装原来的Windows,安装完Windows后又进入不了Linux系统,有些用户甚至丢失了原来系统中很重要的数据,造成惨重的损失。这都是由于对多操作系统引导软件的认识不足造成的,现在Linux上流行的多操作系统引导管理软件主要有LiloGrub,下面就这两个软件的特点并结合硬盘分区的相关信息介绍一下多操作系统引导的有关内容。wNDLinux联盟

硬盘分区表wNDLinux联盟

各种操作系统最终都被安装到硬盘上的某个分区中,多操作系统引导软件也被安装到硬盘的某个引导扇区中,了解硬盘分区的结构信息有助于加深对计算机引导操作系统的理解,能够深刻的认识计算机从开机上电到操作系统正常运行的全过程。下面提及的分区内容仅限于WindowsLinux系统的IDE硬盘,其他操作系统中对硬盘的管理方式不在此讨论之列。wNDLinux联盟

每个硬盘都有一个主引导扇区,即该盘的第0柱面第0磁头的第1扇区,上面保存着关于这个硬盘的一些至关重要的信息。其结构为:主引导记录(MBR)+硬盘分区表(DPT)+主引导扇区生效标志。其中,MBR是用来存储引导程序的;生效标志占两个字节,其值一般为55 AA(16进制),表示这个硬盘是可用的,为其他值时系统将视此硬盘不存在,也就不能访问。如下图所示:wNDLinux联盟

0000HwNDLinux联盟

 wNDLinux联盟

 wNDLinux联盟


00F0HwNDLinux联盟

主引导记录(MBR)wNDLinux联盟

01BEHwNDLinux联盟

保留待用(0)wNDLinux联盟

01CEHwNDLinux联盟

1个分区表wNDLinux联盟

01DEHwNDLinux联盟

2个分区表wNDLinux联盟

01EEHwNDLinux联盟

3个分区表wNDLinux联盟

01FEHwNDLinux联盟

4个分区表wNDLinux联盟

生效标志(55AAH)wNDLinux联盟

1  硬盘主引导扇区的结构wNDLinux联盟

硬盘分区表分为四个记录项,分别记录硬盘上四个分区的信息,也就是说一个硬盘可以分为1-4个分区。这四个分区相互独立,每个都占据一段完整的连续区域。每个分区内都可以装入不同的文件系统(如FAT16FAT32NTFSLinux ext3等)和操作系统(如DOSWindows 98/2000Linux等)。每个分区记录项中都有一个活动标志(可引导标志)位,这个位为1时表示系统从该分区引导,即开机启动该分区中的操作系统;当四个活动标志都为0且在MBR上没有引导管理软件时,系统将无法引导,但是可以通过其他方式如光盘等启动系统后,访问这个硬盘。wNDLinux联盟

在上述四个分区中,对于WindowsLinux操作系统而言有一个可以设置为扩展分区,相应地另三个一般就称做主分区。在扩展分区内,可以设置多个逻辑分区。扩展分区的第一个扇区与主引导扇区类似,只是没有MBR。这个扇区中的DPT结构与主引导扇区中的相同,只是四个记录项中存储的内容是逻辑分区的信息罢了。其实我们也可以将逻辑分区看作和主分区一样,这样在一个硬盘上就可以得到更多的分区,如图2所示。wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

2 在扩展分区上有11个逻辑分区wNDLinux联盟

由上图中可以发现,在Linux系统中无论物理分区是否分满四个,逻辑分区总是从hda5开始,删除逻辑分区时无论删除hda5还是hda11总是最后一个逻辑分区被删除。在Windows系统中分区工具只能分出一个主分区,其他可用的分区只能从扩展分区中分出的逻辑分区得到。wNDLinux联盟

计算机开机后,根据BIOS中的设定查找各个启动设备。当查找到硬盘时,首先确认主引导记录中有无引导管理软件,如果有则运行该引导管理软件,根据用户的选择引导相应分区的引导部分;否则查找生效标志,确认计算机引导的分区。这样计算机就进入用户需要的操作系统了。wNDLinux联盟

Lilo简介wNDLinux联盟

    Lilo代表LInux LOader(Linux 装载器) ,是Linux引导管理软件的先驱,多数Linux发行版本都带有这个软件。这个软件修改引导硬盘上的引导扇区,并且允许在开机时选择要引导的操作系统。极力推荐从Linux安装程序中安装Lilo,安装一个引导管理软件是一个极其危险的过程,如果安装的不对,很可能会毁掉硬盘上的数据。wNDLinux联盟

下面给出一个位于/dev/hda1上的Lilo配置文件/etc/lilo.conf:wNDLinux联盟

boot=/dev/hdawNDLinux联盟

map=/boot/mapwNDLinux联盟

install=/boot/boot.bwNDLinux联盟

promptwNDLinux联盟

timeout=50wNDLinux联盟

message=/boot/messagewNDLinux联盟

default=linuxwNDLinux联盟

 wNDLinux联盟

image=/boot/vmlinuz-2.4.3-3wNDLinux联盟

  label=linuxwNDLinux联盟

  vga=0x301wNDLinux联盟

  read-onlywNDLinux联盟

  root=/dev/hda1wNDLinux联盟

 wNDLinux联盟

#This is test for new kernelwNDLinux联盟

image=/boot/bzImagewNDLinux联盟

  label=linux-testwNDLinux联盟

  vga=0x301wNDLinux联盟

  read-onlywNDLinux联盟

  root=/dev/hda1wNDLinux联盟

 wNDLinux联盟

other=/dev/hda2wNDLinux联盟

  label=doswNDLinux联盟

other=/dev/hda6wNDLinux联盟

  label=k20wNDLinux联盟

other=/dev/hda7wNDLinux联盟

  label=RH9wNDLinux联盟

……wNDLinux联盟

其中boot=/dev/hda表示Lilo引导管理软件安装到主硬盘的主引导记录(即MBR)中,map=/boot/mapinstall=/boot/boot.bmessage=/boot/message指出了Lilo所使用文件的位置;promptLilo停止自动执行,在timeout指定的时间到达之前等待用户的命令;timeout=50表示Lilo启动50秒后若没有用户干预将启动默认操作系统;default=linux表示Lilo默认启动的是label=linux的操作系统,如果没有定义default的值则默认启动配置文件中第一个选项;label的值将作为Lilo启动时菜单中的选项显示在屏幕上,供用户选择操作系统时使用,Lilo的早期版本中屏幕上没有选项显示,按Tab键才能看到。wNDLinux联盟

image=/boot/vmlinuz-2.4.3-3 wNDLinux联盟

    label=linuxwNDLinux联盟

    vga=0x301wNDLinux联盟

    read-onlywNDLinux联盟

    root=/dev/hda1wNDLinux联盟

lilo.conf中的这一段表示,以只读方式(read-only,系统启动过程中会重新以读写方式重新挂装)进入分区/dev/hda1(root=/dev/hda1)上的操作系统,显示模式为0x301(vga=0x301)Linux系统的核心采用/boot/vmlinuz-2.4.3-3(image=/boot/vmlinuz-2.4.3-3),在Lilo菜单中的选项为linux(label=linux)wNDLinux联盟

#This is test for new kernelwNDLinux联盟

image=/boot/bzImagewNDLinux联盟

  label=linux-testwNDLinux联盟

  vga=0x301wNDLinux联盟

  read-onlywNDLinux联盟

  root=/dev/hda1wNDLinux联盟

这几行表示选中Lilo菜单中的linux-test仍然进入分区/dev/hda1,但是Linux系统核心采用/boot/bzImage。其中以#开头的行是注释,可用来做备忘录使用,让配置文件具有较好的可读性。这种设置方式对在同一分区中存在多个核心的Linux系统来说是个不错的选择,在测试编译核心时经常会在lilo.conf中添加类似的语句。wNDLinux联盟

other=/dev/hda2wNDLinux联盟

  label=doswNDLinux联盟

other=/dev/hda6wNDLinux联盟

  label=k20wNDLinux联盟

……wNDLinux联盟

最后这几行由此引导管理软件进入其他分区上的操作系统,如选择Lilo菜单中的dos选项进入分区/dev/had2上的操作系统,选择Lilo菜单中的k20进入分区/dev/had6上的操作系统。注意这里的other给出的分区引导扇区中必须有可引导的内容才行,否则执行lilo命令时将会出错。每次修改完lilo.conf必须执行lilo命令,修改的内容才被写入指定的引导扇区中,否则修改将不会生效。wNDLinux联盟

Lilo引导管理软件除写入硬盘的主引导记录外,还可以写入某个分区的引导扇区中,这需要修改lilo.conf文件中的boot一行。例如若上例中的Lilo写入本系统所在的分区,需修改为boot=/dev/had1。其实在上例中的其它操作系统正是这样配置自身的lilo.conf文件的。wNDLinux联盟

Lilo引导管理软件不但能够引导主硬盘的操作系统还可以引导从盘上的操作系统,见图3wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

3 计算机中装有主从两块硬盘wNDLinux联盟

主盘中分区/dev/hda2系统中的lilo.conf设置如下:wNDLinux联盟

boot=/dev/hdawNDLinux联盟

map=/boot/System.mapwNDLinux联盟

install=/boot/boot.bwNDLinux联盟

nowarnwNDLinux联盟

promptwNDLinux联盟

timeout=50wNDLinux联盟

bitmap=/boot/cosix-msg.bmpwNDLinux联盟

bmp-colors=6,9,0,15,9,0wNDLinux联盟

bmp-table=60,5,1,18wNDLinux联盟

lba32wNDLinux联盟

default=cosixwNDLinux联盟

 wNDLinux联盟

image=/boot/vmlinuz-2.4.18-14wNDLinux联盟

label=cosixwNDLinux联盟

initrd=/boot/initrd-2.4.18-14.imgwNDLinux联盟

read-onlywNDLinux联盟

root=/dev/had2wNDLinux联盟

vga=0x314wNDLinux联盟

append=”hdd=ide-scsi devfs=mount quiet 5”wNDLinux联盟

……wNDLinux联盟

other=/dev/hdbwNDLinux联盟

label=hdbwNDLinux联盟

other=/dev/hdb7wNDLinux联盟

label=hdb7wNDLinux联盟

上面的文件中出现了几个新的配置项,介绍一下。nowarn将忽略lilo命令执行过程中的所有警告信息,bitmap=/boot/cosix-msg.bmpbmp-colors=6,9,0,15,9,0bmp-table=60,5,1,18设置启动Lilo时的背景图片及菜单的显示,lba32(32-bit Logical Block Addresses)是支持超过8G的硬盘用的,与lba32对应的是linear,现在一般IDE硬盘不需要它;initrd指出了同核心一起载入系统的初始化ramdisk映像文件;append选项指定核心自动探测有困难的硬件参数。wNDLinux联盟

从盘中分区/dev/hdb2上系统中的lilo.conf配置如下:wNDLinux联盟

boot=/dev/hdbwNDLinux联盟

map=/boot/mapwNDLinux联盟

install=/boot/boot.bwNDLinux联盟

promptwNDLinux联盟

timeout=50wNDLinux联盟

message=/boot/messagewNDLinux联盟

default=linuxwNDLinux联盟

 wNDLinux联盟

image=/boot/vmlinuz-2.4.3-3wNDLinux联盟

label=linuxwNDLinux联盟

vga=0x301wNDLinux联盟

read-onlywNDLinux联盟

root=/dev/hdb2wNDLinux联盟

append="hdd=ide-scsi"wNDLinux联盟

 wNDLinux联盟

other=/dev/hda1wNDLinux联盟

label=doswNDLinux联盟

other=/dev/hdb7wNDLinux联盟

label=redhatwNDLinux联盟

    boot=/dev/hdb可知/dev/hdb2分区的Lilo写到从盘的主引导记录中,这样计算机启动首先进入主盘主引导记录中的Lilo,用户选择菜单中的hdb后进入从盘中的主引导记录的Lilo。查看/dev/hdb2lilo.conf中带下划线的部分,可以知道计算机进入从盘的Lilo后,仍然可以引导主盘上的操作系统。我对这种方式称之为多级Lilo,这种方式适合于在一台计算机中安装多个Linux的情况,可以省去拷贝核心等文件的麻烦,同时对Lilo的配置也相对简单一些。wNDLinux联盟

Grub简介wNDLinux联盟

Grub代表GRand Unified Bootloader(完备的统一引导载入软件),是专为PC机设计的功能强大的引导管理软件。Redhat以及国内的许多Linux厂商在后继版本中采用Grub作为默认的启动装载程序,可见,Grub之于Lilo,定大有过人之处。下面,我就将Grub过人之处一一介绍给大家。wNDLinux联盟

Grub对设备和分区的命名方式LiloLinux系统有些不同。它采用如下格式对设备进行命名:wNDLinux联盟

(设备号,〔分区号〕)wNDLinux联盟

设备号是依据系统BIOS而定,从0开始,如系统中的主IDE硬盘被称为hd0。主分区号也是从0开始,如主硬盘的第一个分区是  (hd0,0)。但逻辑分区号从4开始,如第二个硬盘的第一个逻辑分区是 (hd1,4)。软盘被称为fd,如第一个软盘驱动器是 (fd0)wNDLinux联盟

另外,Grub在对设备和分区命名时,系统不区分IDE硬盘和SCSI硬盘,所有的硬盘都从hd开始。当指定整个硬盘,不考虑它的分区时,简单的将逗号和分区号去掉即可。当将Grub安装在某个硬盘的主引导记录 (MBR)时,这一点很重要。如 (hd0)表示第一个设备, (hd4)表示第五个设备。wNDLinux联盟

 wNDLinux联盟

Grub提供三个强大的接口,它们提供不同级别的功能。每个接口都允许用户引导操作系统,甚至启动时可以在Grub的各个接口间切换。wNDLinux联盟

第一个是菜单接口一般采用GrubLinux分发商都将菜单接口作为默认的接口。安装完毕,计算机引导时,菜单就会出现在屏幕上用上下箭头选择需要引导的系统,按回车键即可。如果长时间没有用户输入Grub会自动引导缺省系统。wNDLinux联盟

第二个是菜单项目编辑器接口在引导装载菜单中按[e],便进入了菜单编辑器。在这里,用户可以暂时的修改引导条目的各种配置:增加行([o]键在当前行后面增加行,[O]当前行前面增加行),删除([d]),编辑([e])。回车键确认修改,Esc键取消修改。然后将光标移到最上,按[b]键引导,Grub就依次执行这些新的命令,但在下次引导时这些修改将消失(如果想让这些修改永久出现在菜单条目中,需要修改grub.conf文件)这个接口在测试重新编译的内核时非常有用。wNDLinux联盟

第三个是命令行接口命令行是Grub最基本的接口,也是最灵活的接口。它像一个小型的shell环境。同时具有bash的一些功能特性:[tab]键命令补全,命令记忆等。wNDLinux联盟

 wNDLinux联盟

Grub配置文件(grub.confLilo的配置文件相似,一般位于/boot/grub下。下面就是一个典型的Grub配置文件:wNDLinux联盟

default 0wNDLinux联盟

timeout 10wNDLinux联盟

splashimage (hd0,1)/boot/grub/splash.xpm.gzwNDLinux联盟

title CosixwNDLinux联盟

root (hd0,1)wNDLinux联盟

kernel /boot/vmlinuz-2.4.20-8 or root=/dev/hda2 devfs=mount quiet 5 vga=0x314wNDLinux联盟

initrd /boot/initrd-2.4.20-8.imgwNDLinux联盟

 wNDLinux联盟

title WindowswNDLinux联盟

root (hd0,0)wNDLinux联盟

chainloader +1wNDLinux联盟

 wNDLinux联盟

default:默认引导的条目,从0开始。这里是 cosixwNDLinux联盟

timeout:引导默认条目前的等待时间。这里是10秒。wNDLinux联盟

splashimage:引导时显示的背景图片,是一幅压缩的.xpm图片。存为/boot/grub/splash.xpm.gz。前面的(hd0,1)Grub安装的分区,这里是第一个硬盘的第二个主分区。wNDLinux联盟

title:引导时显示给用户的菜单条目。wNDLinux联盟

root:该条目所示的操作系统或内核所安装的硬盘和分区。wNDLinux联盟

kernel:要引导的内核。wNDLinux联盟

initrd:用户指定的在引导时使用的RAM盘。当内核为了完全引导需要某些模块时,这是必需的。wNDLinux联盟

chainloader:将指定的文件作为一个链式装载程序载入。为了获取在指定分区第一个扇区的文件,使用+1作为文件名。wNDLinux联盟

 wNDLinux联盟

安装Grubshell提示符下运行:grub-install  [(设备或分区编号)]。如果要将其安装在主硬盘的主引导记录(MBR)上,就是:grub-install  (hd0)如果想将其安装在主硬盘的第二个分区上,则是:grub-install  (hd0,1)wNDLinux联盟

注意:如果Lilo已经被安装,并作为缺省引导程序,那么不需要在安装Grub之前卸载LiloGrub一旦安装,则自动成为系统缺省的引导程序wNDLinux联盟

 wNDLinux联盟

Grub包含有许多高级特性,这使得Grub比其他Lilo等可用的引导装载程序更加优越。下面就是它的一些主要特性:wNDLinux联盟

·            能用于几乎所有的操作系统,绝大多数流行的文件系统,以及几乎所有的系统BIOS所能识别的硬盘。wNDLinux联盟

·            Lilo需要知道你的内核在驱动器上的实际位置,但是Grub却不需要。它不但能够读文件系统,还能识别内核映象,而且还能支持最新的2.4.1内核所带的Reiser日志文件系统。wNDLinux联盟

·            Grubx86机器上,提供一个真正基于命令行的,先于操作系统的环境。wNDLinux联盟

·            Grub支持逻辑寻址(LBA)方式,只要系统的BIOS支持LBA模式,就没有对安装的操作系统必须在1024柱面以内的限制。wNDLinux联盟

·            Grub一般都能检测出系统所有的内存。wNDLinux联盟

·        Grub的配置文件是在每次引导时读取,更改配置文件后无需重写引导记录,相应的引导条目就可以出现在引导菜单中。而Lilo在每次更改配置文件后都需要重写一次引导记录,增加了引导记录被破坏的可能性。Grub采用更安全的方式,如果错误的配置文件被引导,那它仅仅简单地转到一个默认的命令,允许用户手工输入命令来运行操作系统。wNDLinux联盟

 wNDLinux联盟

下面是Grub一些常见问题wNDLinux联盟

Q:当系统中不只一个硬盘时,若将装有Windows98的硬盘设为从盘(第二个硬盘),则Windows98无法启动?wNDLinux联盟

ADOS/Windows95/98/xp等某些操作系统由于在引导时要使用BIOS的设置,必须在主盘(第一个磁盘)引导。Grub充分考虑了这种情况,提供了一种映射机制,交换虚拟BIOS驱动。即在引导时将某个从盘映射为主盘,以满足某些引导程序的需要。如以下系统中,主盘(hd0)中装有Linux,并且Grub也装在(hd0)MBR上,从盘(hd1)装有Windows98。如下修改grub.conf就可以成功引导Windows98:wNDLinux联盟

grub.confWindows98对应的项目改为:wNDLinux联盟

 wNDLinux联盟

title Windows98wNDLinux联盟

map (hd0) (hd1)wNDLinux联盟

map (hd1) (hd0)wNDLinux联盟

root (hd1,0)wNDLinux联盟

chainloader +1wNDLinux联盟

 wNDLinux联盟

QGNU/Linux (或其它类UNIX系统)有一个独立的引导区,似乎GRUB无法正确处理这种情况?wNDLinux联盟

A:这经常被视为一个bug,其实并不是bug,而是一种特性。因为GRUB是一种引导管理器,它常常运行在还没有操作系统的裸机上,它并不知道你的操作系统会挂载哪个分区。因此,如果你划分了/boot分区,并且把GRUB映像安装在/boot/grub路径下,GRUB会认为映像安装在/grub路径下而不是/boot/grub。既然不能保证你的所有操作系统会把同一个分区挂载为/boot,那好,这种情况有以下几种解决方法:wNDLinux联盟

   1. GRUB安装到/boot/boot/grub路径而非/boot/grub。这样很难看,但是很管用。wNDLinux联盟

   2. 在安装GRUB前先建立一个符号链接,例如:cd /boot && ln -s . boot。只有根分区的文件系统支持符号链接,并且GRUB也支持这一特性时,这个方法才有效。wNDLinux联盟

   3. install命令安装GRUB,明确指定GRUB映像的路径。例如:wNDLinux联盟

  grub> root (hd0,1)wNDLinux联盟

      grub> install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lstwNDLinux联盟

      wNDLinux联盟

多操作系统引导技巧wNDLinux联盟

前面简单的介绍了LiloGrub软件及各自的配置文件,对于一般用户而言已经足够了,但是如果出现比较复杂的问题还是解决不了。在这一部分中将讲解主盘变从盘后引导管理软件的使用,多个Windows系统与Linux系统共存常见的问题,及安装完Linux后由于引导管理软件安装不当导致计算机无法启动的问题。wNDLinux联盟

首先,讲解当主盘变为从盘时如何使用引导管理软件。启动主盘上的操作系统,然后挂装从盘上的Linux分区,使用chroot命令进入从盘中的操作系统,编辑引导管理软件的配置文件,把相关的hda改为hdb。还要特别注意的是,只改动lilo.confgrub.conf是不够的,还需要更改/etc/fstab文件中的相应内容。最后执行从盘上的lilo命令时会出现警告提示信息,这不会影响引导管理软件的正常使用,如图4所示。wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

4 改变从盘中的LilowNDLinux联盟

接下来看一个多Windows系统与Linux系统共存时,常见的问题,实际上当LinuxWindows 2000以上版本共存时都容易出现这个问题。当一台计算机中同时安装多个WindowsLinux系统时,操作系统的引导管理也会变的更复杂,图5所示的正是这样一台计算机的分区情况。wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

wNDLinux联盟

5 多个WindowsLinux共存的计算机wNDLinux联盟

5中的计算机安装了四个操作系统,其中hda1是中文Windows 2000hda4是中软Linuxhda5安装的日文Windows 2000hda6安装的中文Windows 98。此计算机上原来安装了三个Windows系统,用户空余下一硬盘空间未做分配。后来安装Linux系统时把Lilo安装到了硬盘的主引导记录中,安装完成后Linux系统中lilo.conf文件关于启动Windows系统的配置如下:wNDLinux联盟

    other=/dev/hda1wNDLinux联盟

       label=windowswNDLinux联盟

这样在Lilo菜单中选择windows时,进入Windows的多操作系统引导界面,提示选择中文Windows 2000、中文Windows 98和日文Windows 2000但是,中文Windows 2000、中文Windows 98能够正常启动,日文Windows 2000不能正常启动,提示如下信息:wNDLinux联盟

 wNDLinux联盟

因为以下文件的损坏或丢失,Windows 2000无法启动wNDLinux联盟

<windows 2000 root>\system32\ntoskrnl.exewNDLinux联盟

请重新安装以上文件的拷贝wNDLinux联盟

 wNDLinux联盟

进入中文Windows 2000查看日文 Windows 2000系统,发现notoskrnl.exe并没有任何问题。其实真正的原因在于Windows多系统引导管理软件的配置文件,它是C:\boot.ini。这个文件在Windows 2000中不能够看到,只能在Windows 98Linux系统中才能看到,并编辑它。在编辑boot.ini文件之前请先作个备份,Windows 98系统中直接用写字板编辑就可以了,Linux系统需要先挂装即执行命令mount /dev/hda1 /mnt,然后用vi编辑/mnt/boot.ini。下面是修改后的boot.ini:wNDLinux联盟

[boot loader]wNDLinux联盟

timeout=22wNDLinux联盟

default=multi(0)disk(0)rdisk(0)partition(1)\WINNTwNDLinux联盟

[operating systems]wNDLinux联盟

multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Microsoft Windows 2000 Professional_Chinese” /fastdetectwNDLinux联盟

multi(0)disk(0)rdisk(0)partition(4)\WINNT=”Microsoft Windows 2000 Professional_Japanese” /fastdetectwNDLinux联盟

C:\=”Microsoft Windows98_chinese” wNDLinux联盟

问题的关键就在划线的一行中,在安装Linux之前该行为:wNDLinux联盟

multi(0)disk(0)rdisk(0)partition(2)\WINNT=”Microsoft Windows 2000 Professional_Japanese” /fastdetectwNDLinux联盟

这是因为Windows在计算分区的数目时,只计算主分区和逻辑分区。因此在Linux系统安装前,日文Windwos 2000所在的分区就是第二个分区,安装Linux系统后,添加了两个主分区,此时的日文 Windows 2000所在的分区就是第四个分区,而第二个分区成为Linux swap了,当然找不到文件ntoskrnl.exewNDLinux联盟

现在来看一下最令用户头痛的问题,安装完Linux系统后计算机无法启动,甚至进入不了引导管理软件界面。这多半是由于引导管理软件没有正确的安装到引导扇区引起的,遇到此种情况很多用户会选择重新安装系统,这是完全没有必要的。解决此问题有三种方案可供选择,同样可以解决由于后安装Windows导致无法进入Linux系统的情况:wNDLinux联盟

第一,Linux系统安装过程中制作的引导软盘。多数Linux发行版本的安装都提供制作安装盘的功能,进入安装好的Linux系统,执行lilogrub-install命令。如果写引导管理程序的过程中出现错误,多数情况是由于lilo.conf配置有误导致的,使用vi编辑器,删除lilo.conf文件中的linear,添加lba32,再执行lilo命令即可。wNDLinux联盟

第二,采用中软Linux提供的光盘启动操作系统功能。将计算机的BIOS设置为光盘启动,在计算机光驱中放置中软Linux光盘。启动计算机进入中软Linux安装界面,在boot:提示符后键入system root=/dev/hda[1-9],分区号根据安装Linux的实际情况填写,然后按Enter,进入安装好的Linux系统。进入系统后操作同方案一。中软Linux 3.0以上版本提供此项功能。wNDLinux联盟

第三,Linux安装过程中恢复引导管理软件。前面两种解决方案虽然比较简单,可能有些用户安装时没有做引导软盘也没有中软Linux系统盘,这时仍然有办法,不过比较麻烦。按正常的安装步骤安装Linux系统,在确认要安装软件包的时候,停止继续安装。按Alt+Ctrl+F2键将会得到一个shell,由于对显卡的支持问题,有的计算机可能会出现死机的情况,这种现象在笔记本电脑上出现的概率更大一些,而且不是Linux发行版本越高对任何硬件的支持都越好,RedHat 9.0在安装时的切屏反而不如RedHat 7.2,特别是针对某款DELL的笔记本。因此如果出现花屏等现象,建议更换其他的发行版本试试。假设Linux系统安装在/dev/hda2,则在shell环境下执行如下命令:wNDLinux联盟

#mkdir /testwNDLinux联盟

#mount /tmp/hda2 /testwNDLinux联盟

#chroot /testwNDLinux联盟

#vi /etc/lilo.conf   修改相应的配置文件wNDLinux联盟

#/sbin/lilowNDLinux联盟

#exitwNDLinux联盟

或者执行如下命令恢复Grub引导管理程序:wNDLinux联盟

#mkdir /testwNDLinux联盟

#mount /tmp/hda2 /testwNDLinux联盟

#chroot /testwNDLinux联盟

#vi /boot/grub/grub.conf   修改相应的配置文件wNDLinux联盟

#/sbin/grub-install /dev/hdawNDLinux联盟

#exitwNDLinux联盟

然后重新启动计算机即可。如果记不清Linux系统安装的分区,可以用fdisk –l查询。此方案对于大部分的Linux安装光盘都使用,当然不同的版本对设备文件的存放位置可能不同,有的需要执行命令mount /dev/hda2 /testwNDLinux联盟

出于某些原因,用户有时需要卸载硬盘主引导记录上的引导管理软件,最简单的方法就是直接覆盖。比如要计算机直接进入Windows,就可以在DOS环境中执行如下命令:wNDLinux联盟

C:\>fdisk /mbr wNDLinux联盟

不幸的是,正确执行命令后系统将不会给出任何提示信息。重新启动计算机,用户会发现Lilo已经被卸载,并且系统会自动进入WindowswNDLinux联盟

结束语wNDLinux联盟

使用引导管理程序给计算机用户带来方便的同时,也增添了系统维护的复杂性。引导管理程序省去了从软盘引导的麻烦,还可以让用户启动计算机时从菜单中选择进入不同的操作系统,或默认进入一个指定的操作系统。但是它并不是完美无暇的,一个引导管理软件给引导过程增加了复杂性。如果在硬盘上安装、卸载或升级任何一个操作系统时,都必须修改引导管理程序甚至需要重新安装。在它修改了硬盘的主引导记录出错时,只能选择其他方式引导计算机,然后访问该硬盘。另外,选择的引导管理软件还可能与某些操作系统存在兼容问题。wNDLinux联盟

虽然反复实验是熟悉软件的一条途径,但是还是要提醒用户不要轻易拿引导管理软件做实验,这很容易造成惨痛的教训。若想通过实验来熟悉引导管理软件,一定要先作好备份,或者使用一块无有用数据的硬盘。学习他人的经验是前进的捷径,同时可以让自己的损失最小。通过本文,希望用户能对计算机的引导管理软件有更进一步的认识,对于多操作系统的计算机能够运用自如。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
    无相关信息
栏目更新
栏目热门