- Linux从入门到精通(第2版)
- 陈祥琳编著
- 2字
- 2024-12-22 04:51:29
第8章 开机引导故障处理
本章主要内容
● GRUB。
● 系统救援模式。
Linux系统下的引导加载程序GRUB提供许多功能,它不仅允许从菜单中选择启动内核的类型,还允许修改菜单的选项。也允许使用类似shell的命令接口来操作,从而引导系统启动。利用对 GRUB 的编辑,可轻松地修复阻碍Linux启动的问题。
8.1 GRUB
8.1.1 更改启动引导方式
1.GRUB功能概述
Red Hat Enterprises 系列Linux系统的引导过程自6版本后启动就发生了改变,6系列版本启动过程不再显示系统初始化的信息(就是隐藏系统启动的细节),而是使用三种颜色(橘红色、红色和白色)来显示系统启动的进度,且系统启动引导的时间已大大缩短。
在Red Hat Enterprises Linux 系列6版本之前,系统启动时都看到GRUB 的引导选项单界面, GRUB 是一个来自 GNU 项目的多操作系统启动程序,其允许计算机内同时拥有多个操作系统,且可用于选择操作系统分区上的不同内核,也可用于向内核传递启动参数。
GRUB功能强大,支持命令行,支持多种文件系统开机,支持MD5加密。
(1)支持命令行界面
当位于如图8-1所示的多组操作系统的开机选项界面(即GRUB界面)时,之后按E键即可进入命令行的交互界面。
图8-1 GRUB界面
(2)支持多种文件系统
在Linux操作系统中,GRUB所支持的文件系统主要包括ext2、ext3、ext4、FAT、JFS以及FFS等。
(3)支持MD5加密,且更改后立即生效
GRUB 支持使用 MD5 加密技术来防止其在引导界面时启动方式被篡改,可直接在其配置文件/boot/grub/grub.conf下写入用MD5加密后的密码,且更改过后的内容会立即生效。
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password–md5 $1$iWfJpbnD$2nr78EHlCsYjM7muAANui0
title Red Hat Enterprise Linux AS (2.6.9-5.EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-5.EL ro root=LABEL=/
initrd /initrd-2.6.9-5.EL.img
2.更改GRUB引导方式
在GRUB引导界面上,可以使用E键来编辑引导菜单选项。通过编辑GRUB,用户就可以编辑菜单选项的配置,也就是说,用户可以更改/boot/grub/grub.conf 文件配置来阻止 Linux 系统启动的问题。当然,在这里只是演示怎么使用E键来编辑GRUB菜单,使得读者对编辑GRUB菜单有一个大概的了解,需要读者多动手操作。
为了演示的方便,现在假设系统以图形界面启动。这里使用E键编辑GRUB引导菜单选项来更改系统的启动方式,使系统以文本方式启动,以下是使用E来编辑GRUB更改引导方式的步骤。
(1)在启动机器后,当出现GRUB引导界面时按任何键,此时系统启动引导将停止且停留于GRUB引导界面上,如图8-2所示。
图8-2 GRUB引导界面
(2)用键盘上的方向键(即上下键)来移动光标(这里假设第一个引导菜单使用图形启动系统),并将光标移动到第一个引导菜单末尾处,如图8-3所示。
图8-3 移动光标
(3)接着对选中的菜单进行编辑,按E键后将看到如图8-4所示的界面。由于是更改系统启动方式,因此将光标移动到关键字kernel行的末尾,如图8-5所示。
图8-4 启动引导选项的内容
图8-5 移动光标到待更改行
(4)关键字kernel显示其引导的这行是以“rhgb quiet”结尾的,因此表明该菜单引导启动的系统以图形界面的形式来启动。为了使系统以文本方式启动,可将关键字kernel 行尾的rhgb quiet删除。把光标移动到kernel行后按E键并在出现如图8-6所示的界面时就可以编辑了。
图8-6 编辑界面
(5)通过键盘上的 BackSpace 键把 rhgb quiet 删除,按 Enter 键表示确认返回上层界面(如图8-7所示),在确认无误后按B键就可以启动系统。
图8-7 修改后的编辑界面
若不需要修改或不想修改,此时可以使用 Esc 键返回上一级的菜单。需要注意的是,当使用Esc键返回上级菜单时,是不保存刚才所做的修改的。
8.1.2 单用户模式和紧急模式
我们在使用Windows操作系统的过程中,若无法正常进入桌面,就需要进入安全模式以处理一些问题。那么在Linux系统上,也有无法登录系统的情况,这时就要进入单用户模式或者紧急模式进行系统的修复。
在Linux操作系统下,单用户模式可以说是最小的工作环境,主要是供系统管理员对系统进行维护时使用。在单用户模式(运行级别为 1)中,Linux 系统引导进入根 shell,无网络功能且只有极少数进程在运行。
在单用户模式下,可以还原配置文件、移动用户数据以及修复损坏的系统文件等,在系统无法正常启动时,单用户模式就显得非常重要。接下来将演示如何进入单用户模式以及进入紧急模式。
1.系统的单用户模式
当需要进入单用户模式时,需要先对GRUB菜单进行相关的设置。刚才已经介绍了如何编辑GRUB的菜单,接下来演示如何进入单用户模式(因为在修改root用户密码时已经进入过单用户模式,所以这里只是简单介绍),其步骤如下。
(1)开机进入GRUB引导界面,将光标移动到某行引导菜单,然后按E键进入如图8-8所示的GRUB编辑界面。
图8-8 GRUB编辑界面
(2)将光标移动到关键字kernel行的末尾,按E键编辑内核的引导方式,由于要进入单用户模式,因此将“/”后的参数改为1或single,如图8-9所示。
图8-9 设置进入单用户模式
(3)接着按Enter键保存修改并返回上级菜单,图8-10显示的是编辑好的菜单内容。
图8-10 编辑好的菜单内容
(4)在确认无误后按B键启动系统,当成功进入单用户模式时,将出现如图8-11示的界面。
图8-11 单用户模式工作环境
2.系统的紧急模式
在Linux中进入紧急模式与进入单用户模式的操作差不多,因为前面已经讲过,所以这里只简单介绍如何进入紧急模式。
为了演示方便,这里假设/etc目录下的/fstab出现问题。假设当前是在Linux系统中,为了模拟该文件出问题时的处理方式,因此在该文件中加入一些字符。
(1)使用 vi 编辑器打开/etc/fstab 文件,然后进入插入模式并在第一行中的“LABEL = \”后加入字符串abc,如下所示。
[root@cat ~]# cat /etc/fstab
# This file is edited by fstab-sync- see 'man fstab-sync' for details
LABEL=/abc / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
/dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0
(2)保存文件并退出,然后在终端提示符后面输入reboot或init 6 来重启系统。
(3)在系统重启的过程中,系统将提示挂载文件系统出现错误,如图8-12所示,从提示中我们知道,系统没法识别到“LABEL = /abc”(当然,我们知道是什么原因造成的,因为这是我们自己修改的)。接下来输入root用户的密码,然后按Enter键确认。
图8-12 文件系统加载失败
(4)输入正确的密码后就可以继续启动,并进入紧急模式,图8-13显示的紧急模式的工作环境。
图8-13 紧急模式环境
(5)从启动过程的提示信息中知道,文件系统无法被识别并挂载,因此在紧接模式下要做的工作是修复/etc/fstab文件的内容。用vi编辑器打开/etc/fstab文件并进入插入模式,将“LABEL = \abc”中的“abc”删除后保存文件并退出。
当按Enter键时,系统提示这是一个read only文件(如图8-14所示)。根据系统启动的流程,在此阶段的文件系统是内核映像加载的只读文件,由于无法修改文件的内容,因此要先以可读、可写的方式将文件挂载。
图8-14 /etc/fstab文件的内容
(6)接着以“:q!”命令退出编辑界面,然后执行“mount–o remount,rw /dev/sda2”以可读、可写的方式重新挂载/dev/sda2文件系统(/dev/sda1是GRUB的/boot文件),并使用vi编辑器再次打开/etc/fstab文件进行编辑,如图8-15所示。
图8-15 打开/etc/fstab文件
修复该文件之后,当以reboot命令(由于此时init进程还未初始化,因此使用init命令来重启)对系统进行重启时,系统能够正常启动。也就是说,修复损坏的文件系统的操作是成功的。
也许有的读者在想,当遇到文件系统损坏时,可以进入紧急模式修复,但是在正常情况下,怎么进入紧急模式呢?接着演示在正常情况下如何进入紧急模式,其操作也比较简单,大致步骤如下。
(1)在系统启动后进入GRUB引导界面时,选择一个引导选项并按E键进入下一个编辑界面。
(2)将光标移动到关键字kernel行的末尾,并按E键进行编辑,此时就可以在该行的后面输入emergency(如图8-16所示),表示系统进入紧急模式。
图8-16 编辑启动模式
(3)编辑完成后,按Enter键保存修改并返回上级菜单,如图8-17所示。
图8-17 编辑后的菜单内容
(4)在确认无误后,按B键来启动系统,之后将出现如图8-18所示的要求输入密码的界面,此时输入root用户的密码并按Enter键即可。
图8-18 密码验证
(5)当成功进入单用户模式时,将出现如图8-19所示的界面。
图8-19 紧急模式工作环境
在完成因/etc/fstab文件系统的错误配置而产生的系统故障的修复操作后,您是否还觉得修复文件系统很困难吗?其实很简单,读者可以多练习来使自己更熟悉这些工作环境。
8.1.3 启动引导配置文件
1.GRUB启动引导配置文件
系统的GRUB 启动引导配置文件位于/boot/grub 目录下,引导加载程序根据系统启动的流程读取该目录下的启动配置文件来分步启动系统,该目录的内容如下所示。
[root@cat ~]# ls-l /boot/grub/
total 214
-rw-r--r-- 1 root root 82 Jul 6 23:35 device.map
-rw-r--r-- 1 root root 7956 Jul 6 23:35 e2fs_stage1_5
-rw-r--r-- 1 root root 7684 Jul 6 23:35 fat_stage1_5
-rw-r--r-- 1 root root 6996 Jul 6 23:35 ffs_stage1_5
-rw------- 1 root root 572 Jul 6 23:53 grub.conf
-rw-r--r-- 1 root root 7028 Jul 6 23:35 iso9660_stage1_5
-rw-r--r-- 1 root root 8448 Jul 6 23:35 jfs_stage1_5
lrwxrwxrwx 1 root root 11 Jul 6 23:35 menu.lst-> ./grub.conf
-rw-r--r-- 1 root root 7188 Jul 6 23:35 minix_stage1_5
-rw-r--r-- 1 root root 9428 Jul 6 23:35 reiserfs_stage1_5
-rw-r--r-- 1 root root 11182 Dec 3 2004 splash.xpm.gz
-rw-r--r-- 1 root root 512 Jul 6 23:35 stage1
-rw-r--r-- 1 root root 103848 Jul 6 23:35 stage2
-rw-r--r-- 1 root root 7272 Jul 6 23:35 ufs2_stage1_5
-rw-r--r-- 1 root root 6612 Jul 6 23:35 vstafs_stage1_5
-rw-r--r-- 1 root root 9308 Jul 6 23:35 xfs_stage1_5
在系统启动引导的过程中,引导加载程序执行的两个步骤就是分别执行/boot/grub/stage1 和/boot/grub/stage2这两个配置文件。
系统的GRUB启动引导配置文件/boot/grub/grub.conf的配置信息至少包括以下内容,否则在启动引导的过程中由于找不到所需的信息而导致引导失败。
default = 0
timeout = 5
title Enterprise (2.6.9-42.0.0.0.1.ELhugemem)
root (hd0,0)
kernel /vmlinuz-2.6.9-42.0.0.0.1.ELhugemem ro root = LABEL = / rhgb quiet
initrd /initrd-2.6.9-42.0.0.0.1.ELhugemem.img
2.修复配置文件
前面讲述了对GRUB引导菜单的编辑,这些操作都是建立在/boot/grub/grub.conf文件存在的基础上进行的,若由于操作失误而导致/boot/grub/grub.conf文件被删除或修改了必要的配置信息,GRUB就找不到引导信息而直接进入如图8-20所示的GRUB提示符界面。
图8-20 GRUB提示符界面
如果遇到这样的情况,还是先要恭喜你,这说明您的系统还可以正常启动,只是系统找不到引导文件而没法进行下一步的操作。如果真的遇到这样的情况,还是有些棘手,因为这不仅需要先记住/boot/grub/grub.conf 文件中一些关键字下面的内容,还需要记住该文件中至少要包含哪些配置信息,并使用这些配置信息创建新的/boot/grub/grub.conf 文件,才可以使系统正常启动。
为了模拟遇到这种问题时如何处理,先需要对/boot/grub/grub.conf 文件做一些处理。若还没启动系统,则先将系统启动,并以 root 身份登录,切换到/boot/grub/目录下,为了保守一些,因此先将/boot/grub/grub.conf文件进行备份,操作如下。
[root@Scat ~]# cd /boot/grub
[root@Scat grub]# cp grub.conf grub.conf_bak
[root@Scat grub]# ll grub.*
-rw------- 1 root root 751 Oct 21 15:47 grub.conf
-rw------- 1 root root 751 Nov 15 13:47 grub.conf_bak
在将/boot/grub/grub.conf 文件备份后,接着将grub.conf 删除,然后使用reboot 或init 6 命令重启系统。
[root@Scat grub]# rm-rf grub.conf
[root@Scat grub]# ll grub.*
-rw------- 1 root root 751 Nov 15 13:47 grub.conf_bak
[root@Scat grub]#reboot
在进行系统的重启之后,系统没法进行引导,而是停留在GRUB的提示符界面下,此时系统等待用户的输入。
若遇到这类的情况,有两种选择:直接在GRUB提示符界面下输入root关键字、kernel关键字和 initrd 关键字的配置信息,进行系统的引导,或进入救援模式。这里演示的是直接在GRUB提示符界面下输入配置信息并继续系统的启动引导。
在GRUB提示符界面下,先输入关键字root和引导区所在磁盘位置名称,然后按Enter键即可完成第一步的启动工作,如图8-21所示(root与其后的内容使用空格隔开)。
图8-21 关键字root
grub>root(hd0,0)
根据/boot/grub/grub.conf文件中的格式,接着输入关键字kernel,关键字kernel后接内核版本号和其他信息。
grub>kernel /vm
输入以上内容之后,后面的内容若是记不清楚,此时可以按Tab键来补全信息,之后系统将自动补全内核版本信息,如图8-22所示。
图8-22 kernel关键字
当出现此信息时,还不能按Enter键,还需要手动对kernel关键字的内容进行补全(如果系统是多核的就出现多个vmlinuz选项,如果不记得具体是哪个选项,就需要逐个选择),之后还需要指定文件读写和挂载的路径信息,然后就按Enter键确认,成功时将出现如图8-23所示的信息(如果出现“Error 15: File not found”提示信息,则需要重选vmlinuz选项后再补全)。
图8-23 关键字kernel的补全信息
grub> kernel /vmlinuz-2.6.9-42.0.0.0.1.ELsmp ro root = LABEL = /
完成kernel关键字的输入之后,接着输入initrd关键字。在GRUB提示符界面下,输入此关键字和其后的内容。若不想输入或不太清楚具体内容,则按Tab键,系统则会自动添加其后的内容,如图8-24所示。
图8-24 initrd关键字后的版本信息
grub> initrd /initrd-2.6.9-5.EL
由于出现两个initrd选项,因此还需要手动补全关键字initrd后的内容,然后按Enter键,如果成功就出现如图8-25所示的系统提示信息。
图8-25 initrd关键字
grub> initrd /initrd-2.6.9-5.EL.img
在完成这三个关键字的输入之后,所得到的是/boot/grub/grub.conf 文件的主要内容,这些配置信息就可以使加载程序继续引导系统启动,以下是输入和输出的内容。
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /vmlinuz-2.6.9-5.EL ro root = LABLE = /
[Linux-bzImage, setup=0x1400, size=0x15cb84]
grub> initrd /initrd-2.6.9-5.EL.img
[Linux-initrd @ 0x372000, 0x7da38 bytes]g
在确认无误之后,需要把这些信息记起来,因为在创建一个新的/boot/grub/grub.conf配置文件时还需要用到它们。接着继续系统的引导启动工作,在GRUB提示符界面下,输入boot命令进行系统的继续启动。
grub>boot
若没有出现出错,在等待之后将看到登录系统的界面。虽然在GRUB提示符界面下完成关键字输入并成功启动,但系统并没有自动创建新的配置文件/boot/grub/grub.conf,因此登录系统后在/boot/grub目录中找不到grub.conf文件,为了系统下次自动引导,需要创建一个新的引导文件。
创建新的/boot/grub/grub.conf配置文件,需要数据都是GRUB提示符下的数据,不过还需要加上一些其他的信息。如果已经对/boot/grub/grub.conf 文件做了备份,就可以直接使用备份文件来创建新的引导文件;否则,就手动配置。这时是不是觉得备份工作没白做呢?
以下是/boot/grub/grub.conf 文件最基本的配置信息,有了这些配置信息,引导加载程序就能够自动引导系统启动(使用vi编辑器打开并编辑grub.conf文件)。
[root@Scat grub]#cat grub.conf
default=0
timeout=5
title Red Hat Enterprise Linux (2.6.9-5.EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-5.EL ro root=LABEL=/
initrd /initrd-2.6.9-5.EL.img
注意,这些数字要记下来,而且还需要手动输入,最好对该文件做备份。
创建新的引导文件之后保存文件并退出,之后使用reboot 或init 6 命令进行系统的重启。之后系统正常启动。
若不小心把/boot目录下的整个grub目录删除了,也可以使用以上方式来创建引导文件,这是因为在磁盘上的MBR区还存在这些配置参数,所以不需要对磁盘的MBR分区中的数据重新写入就可以直接在grub提示符后输入关键字和其参数就可以登录系统,之后就可以创建新的引导文件。
而不同于上次的是,这次是删除整个/boot/grub 目录,所以需要先创建/boot/grub 目录,然后才可以在该目录下创建grub.conf引导文件。
8.2 系统救援模式
之前我们学习了如何进入系统的单用户模式和紧急模式,这都是通过GRUB提供的一些方法来完成的。那么要是连GRUB本身都损坏了,是不是就无计可施了呢?GRUB本身损坏完全有可能,但不至于到“无计可施”的地步,既然坏了那就有办法解决。
其实,在Linux系统中,除了单用户模式和紧急模式之外,还有另外一个模式,这个模式就是救援模式。当Linux系统因某些原因导致无法正常启动系统或需要某些特定的系统维护任务时,就需要进入Linux系统的救援模式,系统的救援模式是解决系统无法正常引导的有效方法。
在本章的最后一节,我们将演示如何进入Linux救援模式修复导致系统无法正常启动的文件。
为了演示怎么样进入救援模式,假设现在root用户登录了Linux操作系统,然后使用df命令来查看目前系统所挂载的分区,以确定系统启动盘的位置。
[root@cat ~]# df-h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 6.8G 3.8G 2.6G 60% /
/dev/sda1 122M 12M 105M 10% /boot
none 395M 0 395M 0% /dev/shm
/dev/sda3 4.9G 43M 4.6G 1% /home
从输出结果看到,操作系统的启动分区位于/dev/sda磁盘。因此,接下来使用dd命令来将该盘中的内容清空,即破坏GRUB 的引导加载程序(boot loader)。破坏引导加载程序的操作如下。
[root@cat ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1
1+0 records in
1+0 records out
该 dd 命令行的含义如下:if = /dev/zero 表示将/dev/zero 文件作为输入文件,of = /dev/sda 表示将/dev/sda 作为输出文件,而bs = 446 表示数据块的大小为446 字节,最后的count = 1 表示只复制一个数据块。
当系统在BIOS 加电自检时,它就将MBR中的引导加载到内核中。而以上的bs = 446 字节就存在这个MBR中,系统将读取MBR中446字节的内容进行下一步的启动操作。
执行dd命令后,MBR中的内容被清空,也就是说,BIOS加电自检完成后,将空的启动参数加载到MBR区中,而当系统读取不到任何参数时,就导致无法继续启动。
要进入救援模式,需要先插入系统安装盘,当使用ISO映像进入救援模式时,首先在虚拟机菜单栏上依次选择VM→Settings,打开如图8-26所示的Virtual Machine Settings 对话框。然后选择CD/DVD(IDE)这行,接着在Device status下勾选Connected 和Connect at power on 复选框,并选择Use ISO image file 单选按钮,如图8-27所示。
图8-26 Virtual Machine Settings 对话框
图8-27 CD/DVD(IDE)选项设置
接下来选择Use ISO image file 单选按钮下的Browse按钮,在弹出的对话框中,找到系统安装的ISO映像文件并选择(若是多个ISO映像则必须选择第一个),然后单击该对话框的“打开”按钮,如图8-29所示,并在返回Virtual Machine Settings 对话框后单击OK 按钮即可。
图8-28 选择disc
图8-29 系统引导界面
在Virtual Machine Settings对话框中完成对CD/DVD的设置之后,回到Linux系统中,然后输入init 6 或reboot来重启系统。
系统重启后,将出现如图8-29所示的引导启动界面,在系统已经成功安装后出现此界面时,说明系统的引导出问题了。这时就需要进入救援模式。要进入Linux系统的救援模式,首先在boot提示符后输入linux rescue命令,然后按Enter 键启动。
当系统运行后,弹出如图8-30所示界面,其中显示在此次的救援模式下可供使用的语言,可以使用方向键来选择自己喜欢的语言。这里保持默认语言。然后使用Tab键切换到OK按钮,接着按Enter键继续。
图8-30 选择语言
紧接着弹出如图8-31所示的键盘选择界面,此时保持默认键盘,按Tab键切换到OK按钮,然后按Enter键继续。
图8-31 键盘的选择
接着弹出的界面询问是否使用网络界面,因为在救援模式下不使用网络,所以使用方向键切换到No按钮,如图8-32所示,并按Enter键进入下一步的操作。
图8-32 网络的设置
紧接着弹出图8-33所示界面,此时系统询问选择使用哪种方式挂载文件系统。当单击Continue按钮时,系统的救援模式将启动,然后自动查找并将文件系统挂载到/mnt/sysimage目录下,当单击Read-Only按钮则使用只读方式挂载,当单击Skip按钮时手动挂载文件系统。为了方便起见,我们选择使用自动挂载,即选择Continue按钮。
图8-33 文件系统的挂载
图8-34是系统的提示信息,表明在救援模式下成功找到并将文件系统挂载到/mnt/sysimage目录下,此时按Enter键即可。
图8-34 提示信息
当成功进入救援模式时,将看到如图8-35所示界面。
图8-35 救援模式下的工作环境
接下来开始修复文件系统,因为已经使用df命令来查看目前系统所挂载的分区,所以我们知道系统启动盘的位置是在/dev/sda 中。接着使用 grub-install 命令来修复/dev/sda 硬盘上的grub开机管理程序的程序代码,如图8-36所示。
图8-36 修复/dev/sda
-/bin/sh-3.00# grub-install /dev/sda
当按Enter键时,将显示如图8-37所示的系统提示信息,指出不能找到这个文件,纠结吧?其实我也挺纠结的!
图8-37 修复失败
不过,当您注意提示符上面的内容时就不再纠结了,原因是/dev/sda 是在根(/)命令下,而我们要操作的这个根目录被挂载到/mnt/sysimage目录下。
找到原因后,这时就需要使用chroot /mnt/sysimage/命令将root用户的命令设置为/mnt/sysimage/,如图8-38所示,操作后没有错误提示。您有没有发现,提示符已经发生变化了呢?
图8-38 使用chroot设置root命令
接着再次使用grub-install /dev/sda 命令来修复/dev/sda 硬盘上的grub 开机管理程序的程序代码。若修复成功,则系统提示指出没有错误报告,如图8-39所示。
图8-39 执行grub-install命令
完成grub-install命令的执行之后,接着连续使用两次exit,第一次使用exit退出当前操作,第二次重启系统,如图8-40所示。
图8-40 使用exit退出
当执行最后一次exit时,系统重启后将进入如图8-41所示的GRUB引导界面。这说明此次操作是成功的。
图8-41 GRUB引导界面
进入救援模式修复GURB引导界面之后,不知道您有什么感想。其实系统引导程序也不是想象中的那么难,看来要成为Linux大虾也不难。不知不觉中您都成Linux大虾了!
如果有人问你,对于系统没法找到grub.conf文件进行系统的开机引导(也就是说,系统中的grub.conf文件不存在),这样的情况您会处理吗?