1.9 任务9 安装Linux的常见故障及排除方法
1.9.1 开始安装阶段的故障及排除方法
1.无法使用RAID卡来引导
由于某些主板的BIOS不支持从RAID卡引导,致使无法使用RAID卡来引导系统。如果无法执行安装并且无法正确引导系统,就需要重新安装并且使用不同的分区。
在重新安装系统的过程中,无论选择自动分区还是手工分区都需要重新为系统分区。在系统分区时,要注意以下几点。
(1)在RAID阵列之外的一个分开的硬盘驱动器中安装/boot分区。
(2)必须有一个用于创建分区的内部硬盘驱动器,并且在RAID阵列外的一个驱动器的MBR上安装优选的引导装载程序(GRUB或LILO)。
(3)引导装载程序应该安装在包含/boot/分区的同一驱动器中。
2.信号11错误
信号11错误通称“分段错误”(segmentation fault),指程序进入了没有为其分配的内存位置。如果在安装中接收到一个致命的信号11错误,其原因可能是系统总栈内存中的硬件错误。内存中的硬件错误可能由可执行文件或系统硬件的问题导致。和其他的操作系统一样,Red Hat Enterprise Linux 6.4要运行正常,对系统硬件也有其自己的要求。某些硬件可能无法满足这些要求,即使它们在其他操作系统下运行正常。检查是否拥有来自Red Hat的最新安装更新和映像,检查在线勘误来确定是否有可用的更新版本。如果最新的映像仍不成功,则可能是由硬件问题导致的。通常是内存或CPU缓存的问题,一种可能的解决方案是关闭BIOS中的CPU缓存,可以通过调换母板插槽中的内存来查看这个问题是和插槽还是和内存有关的。也可以只使用256 MB内存来运行安装程序,为此使用“mem=256M”引导安装程序。要试验这个选项,在安装程序的引导提示后键入:
mem=xxxM
这里的xxx应该用MB为单位的内存数量替换。
这个命令允许使用超过内核在机器上检测到的内存数量。在一些老系统中若安装程序只检测到16 MB(而实际有更多内存),或者在显卡和主内存共享视频内存的新系统中,需要使用该引导选项。另外一种方法是在安装光盘上执行介质检查,Red Hat Enterprise Linux 6.4 Linux安装程序具备测试安装介质完整性的能力。它可以用在CD、DVD、硬盘ISO,以及NFS ISO安装方法中。Red Hat建议你在开始安装进程和报告任何与安装相关的错误之前测试这些安装介质(许多错误是由错误刻录的光盘造成的),要进行测试,在boot:提示下输入命令“1inux mediacheck”即可。
关于信号11错误的详情可访问http://www.bitwizard.nl/sig11/网站。
3.没有发现IDE光盘
如果在x86、AMD64或IntelEM64T系统中有一台IDE(ATAPI)光驱,但是安装程序未成功地找到它并且询问其类型,则可尝试下列引导命令。重新开始安装,然后在boot:提示后输入“Linux hdX=cdrom”命令。根据光盘连接的接口及其被配置为主还是次而定,把X替换成以下字母之一。
a:第1个IDE控制器,主。
b:第1个IDE控制器,次。
c:第2个IDE控制器,主。
d:第2个IDE控制器,次。
如果在第2个主控制器中安装了IDE光驱则命令为“linux hdc=cdrom”。
4.没有检测到鼠标
如果出现“提示[没有检测到鼠标]”消息,说明安装程序无法正确地识别鼠标。可以继续GUI安装,或者使用不需鼠标的文本模式安装。如果选择前者,则必须为安装程序提供鼠标配置信息。
5.引导进入图形化安装问题
有些显卡在引导进入图形化安装程序时会出现问题,如果安装程序无法使用显卡的默认设置来运行,则其会在较低分辨率模式下运行。如果仍不能运行,则其试图在文本模式下运行。一种可行的解决方法是使用“resolution=”引导命令,该命令对笔记本电脑用户最有帮助。要禁用帧缓冲支持,允许安装程序在文本模式中运行。试用nofb引导命令,该命令对于某些带有屏幕阅读硬件的辅助功能而言是必不可少的。
1.9.2 安装过程中的问题
1.“No device found to install Red Hat Enterprise Linux”错误消息
可能表明某个SCSI控制器没有被安装程序识别,首先查看硬件厂商的网站来确定是否存在能够修正这个问题的可用驱动程序映像。
2.没有软驱,却要保存回溯追踪消息
如果出现回溯追踪错误消息,通常可以保存到软盘中。如果系统中没有软驱,则可以使用scp命令复制到另一个远程系统中。当回溯追踪对话框出现时,回溯追踪消息会被自动写入一个名为“temp/anacdump.txt”的文件中。一旦这个对话框出现,键入Ctrl+A1t+F2组合键来切换到一个新的tty(虚似控制台),然后使用scp命令把消息写入一个已知运行的远程系统中的“/tmp/anacdump.txt”文件中。
3.分区表问题
如果在设置安装程序的磁盘分区之后出现类似“备份的分区表无法被读取,创建新分区时必须对其进行初始化,从而会导致该驱动器中的所有数据丢失。”的错误消息,表示该驱动器中可能没有分区表,或者分区表无法被安装程序中使用的分区软件识别。使用EZ-BIOS之类的程序的用户遇到过类似的问题,这个问题导致了无法被恢复的数据丢失(假定安装前没有备份)。无论执行哪一种安装类型,都应该备份系统中的现有数据。
4.使用剩余空间问题
假如创建了一个swap和一个/(根)分区,而且选择了让根分区使用剩余空间,但是它并不一定会填满整个硬盘驱动器。如果硬盘大于1024个柱面,则必须创建一个/boot分区才能使/(根)分区使用硬盘中的所有剩余空间。
5.x86体系用户会遇到的其他分区问题
如果使用Disk Druid来创建分区,却无法前进到下一界面,则可能是没有创建所有满足Disk Druid的依赖关系所必需的分区。至少需要有一个/(根)分区和一个类型为swap的交换分区。
6.Itanium系统用户会遇到的其他分区问题
如果使用Disk Druid来创建分区却无法继续,则可能是没有创建满足Disk Druid的依赖关系所必需的分区,至少需要有一个类型为VFAT的/boot/efi/分区、一个/(根)分区和一个类型为swap的交换分区。
1.9.3 安装后的问题
1.在基于x86系统的GRUB图形化屏幕中遇到的问题
如果在使用GRUB时遇到问题,则可能需要禁用图形化引导屏幕。可以用根用户身份编辑/boot/grub/grub.conf文件,然后重新引导系统来达到这一目的。编辑方法是把grub.conf文件中开头为“splashimage”的行变为注释,即在行首插入“#”字符。
按回车键退出编辑模式,回到引导装载程序窗口后输入b来引导系统。重新引导后grub.conf文件就会生效。可以重新启用图形化引导屏幕,方法是在grub.conf文件中恢复被注释的行。
2.实现导入图形环境
如果安装X窗口系统,但是在登录Red Hat Enterprise Linux 6.4 Linux系统后却看不到图形化桌面环境,则可以输入startx命令,按回车键显示图形化界面。请注意,只在这一次操作中有效,并不会改变未来的登录进程。
要设置系统能够使用图形化屏幕登录,打开shell提示。如果登录的是用户账户,键入su root命令来变为根用户身份。键入gedi/etc/inittab命令,打开/etc/inittab文件。
要把登录从控制台改为图形化,把“id:3:initdefault:”行中的数字由3改为5即可。按Ctrl+Q组合键来保存并退出该文件。接着显示一条消息,询问是否要保存所做的改变。单击“保存”按钮,重新引导系统并再次登录后就会看到图形化登录提示。
3.不能识别全部内存(RAM)
通常在使用老版本的EDO内存的情况下,内核不能识别全部内存(RAM),可以用cat/proc/meminfo命令来查看所显示的数量是否与系统内存相同。如果不同,在/boot/grub/grub.conf文件中输入以下命令行:
mem=xxM
实际应用中把xx替换为实际的物理内存数量(以MB为单位)。
进入GRUB引导界面后,输入e来编辑,显示选定的引导标签配置文件中的项目列表。选择开始为kernel的行,然后输入e来编辑这一引导项目。
在kernel行的末尾,添加如下内容:
mem=xxM
这里的xx与系统的物理内存数量相同。
按Enter键退出编辑模式,回到引导装载程序屏幕后输入b来引导系统。
4.配置声卡遇到问题
如果由于某种原因听不到声音。但是已安装了一块声卡,则可以运行声卡配置工具(system-config-soundcard)。要使用该工具,选择“主菜单”→“系统设置”→“声卡检测”选项,会弹出一个小文本框,提示输入根口令。还可以在shell提示下输入system-config-soundcard命令来启动声卡配置工具。如果不是根用户,它会提示输入根口令后继续。要运行基于文本的配置工具,在终端窗口中以根用户身份输入sndconfig。注意,sndconfig程序没有被默认安装,但是可以在Red Hat Enterprise Linux 6.4的光盘上找到它。
5.基于Apache的HTTPd服务或sendmail在启动时被挂起
如果说在启动基于Apache的HTTPd服务或sendmail时遇到问题,则需要确定/etc/hosts文件中是否包括如下内容:
127.0.0.1 localhost.localdomain localhost boot
6.X服务器崩溃和非根用户的问题
使用非根用户账号登录时遇到X服务器崩溃的问题,则文件系统可能已满(或者缺乏可用的硬盘空间)。要找出所遇到问题的症结所在,运行以下命令:
df -h
该命令会诊断哪个分区已满,关键指标是分区已达到100%、90%或95%。/home/和/tmp/分区有时会被用户文件很快填满。可以删除一些老文件,腾出些空间,然后试着以普通用户身份运行X服务器。
1.9.4 忘记root密码的修复方法
在以前的版本中,比如RHEL 5等,root密码丢失,则登录单用户以后直接用passwd root命令修改就可以了。但是在RHEL 6中进入单用户以后执行passwd命令却没有反应,没法直接修改root密码。既然在单用户下无法直接修改,那么我们还有一个办法,那就是在救援模式下修改密码。下面就讲述在救援模式下修改root密码的问题。
(1)在BIOS中设置开机使用光盘启动,放入RHEL 6的镜像光盘。
(2)使用光盘启动,进入如图1-38所示的界面。
图1-38 使用光盘引导RHEL6
(3)进入救援模式的方法:选中第一行安装或者升级一个存在的系统,按Tab键,在空格后输入rescue,然后按Enter键执行。或者直接选择第三行rescue installed system,然后按Enter键,进入救援模式。
(4)进入救援模式后,选择语言(简体中文或者英语)、键盘类型(US)。
(5)选择救援方式类型。有四种方式:本地光盘、硬盘、NFS设备、提供一个URL。
(6)设置网络。如果是本地救援模式,可以不设置;如果是网络救援模式,必须设置网络。
(7)进入救援模式,选择Continue,如图1-39所示。
图1-39 救援模式
(8)提示挂载系统检测硬盘,直接按Enter键。如图1-40所示。提示系统被挂载到了/mnt/sysimage上,直接按Enter键。
图1-40 挂载系统检测硬盘
(9)急救箱快速启动菜单,选择默认的“Shell Start shell”后,按回车键,进入救援系统(图1-41)。
图1-41 急救箱快速启动菜单
(10)进入系统,修改root密码。输入passwd root,允许为根用户输入一个新口令。这时,可以输入shutdown-r now来使用新的根口令重新引导系统。