透彻的了解Linux系统故障并解决

2009-12-25 10:24 佚名 NET130 字号:T | T

经常应用Windows操作系统时,我们会很多的系统故障,于是很多人开始应用Linux操作系统,不过Linux操作系统也有一些系统故障,下面就对Linux系统故障诊断进行说明。 希望你能了解这些Linux系统故障。

AD:2014WOT全球软件技术峰会北京站 课程视频发布

经常应用Windows操作系统时,我们会很多的系统故障,于是很多人开始应用Linux操作系统,不过Linux操作系统也有一些系统故障,下面就对Linux系统故障诊断进行说明。 希望你能了解这些Linux系统故障。

Linux系统故障诊断

1.启动故障

这是在Linux操作系统中经常会遇到的问题。系统不能启动的原因主要有:在安装Linux操作系统的过程中,LILO配置信息错误,导致安装完毕后,系统不能正常启动;重新安装其他的操作系统,也经常会导致原有的Linux不能启动。因为,这些新安装的操作系统默认为计算机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),覆盖了Linux操作系统中的LILO系统引导程序,致使最后无法启动LILO;在操作linux操作系统过程中,由于运行错误的Linux命令,使系统重新启动时,出现异常。

解决方法:
如果在Linux操作系统安装过程中或安装过程后,制作了Linux系统的急救启动盘组,使用这些急救盘启动系统即可进入系统,然后对相应错误,进行配置即可解决问题;如果没有制作急救启动盘组,Linux系统不能启动,该怎么办呢?下面介绍三种解决方法:
(1)进入Linux操作系统单用户模式,在boot提示符后,敲入:linux single,此模式下启动Linux,LILO配置和网络配置信息不加载在启动过程中。
(2)光盘启动,用第一张安装Linux操作系统的光盘(启动光盘)启动硬盘的Linux系统,主板BIOS里要设置光盘启动,重启机器后,出现 boot: 提示符后键入:
vmlinuz root=/dev/linuxrootpartition noinitrd
其中,root=后面填入您的Linux root分区的分区号,也就是Linux系统的root文件系统所在的硬盘分区位置,例如:vmlinuz root=/dev/hda3 noinitrd。回车之后,即可进Linux系统。如果想恢复被破坏的LILO系统引导程序,可以编辑/etc/lilo.conf 之后, 运行/sbin/lilo即可。 这种方法也适合其它原因对Linux操作系统造成的破坏。(注:软盘启动操作系统的过程也同上)。
(3)在DOS下运行loadlin程序启动系统。在个人计算机使用 Linux系统时,通常都是Linux和Windows 9x或Windows 2000并存的。如果知道Linux系统在硬盘上的确切安装分区,并且有loadlin程序(在 Red Hat Linux 光盘的 dosutil目录下就有这个程序),也可以启动Linux系统。loadlin是DOS系统下的程序,运行它可以从DOS系统下直接启动Linux系统,快速进入Linux环境。 除loadlin程序之外,还需要一个 Linux启动内核的映像文件vmlinuz,在 Red Hat linux光盘的 images目录下有这个文件。例如,如果在Windows 2000系统下面,进入DOS的命令模式,然后运行下述的loadlin命令,即可重新进入Linux系统:
loadlin vmlinuz root=/dev/linuxrootpartition
命令执行后,就开始引导Linux系统。用root身份登录后,编辑/etc/lilo.conf 之后,运行/sbin/lilo即可,这样操作后则重新将LILO系统引导程序装入MBR。

2.文件系统故障

在Linux操作系统中,这也是一种经常会遇到的故障。由于系统不正常关机,或突然掉电等原因引起文件系统被破坏。

解决方法:
当文件系统被破坏时,可以使用相应的fsck命令进行文件系统的修复。例如下面的命令:
fsck  /dev/hda5
关于fsck命令具体参数的使用方法,可以参阅MAN参考手册。如果使用的是ext2fs类型的文件系统,就可从软盘运行e2fsck命令来修正文件系统中被损坏的数据。
但是有一点要注意:如果文件系统被破坏的原因是超级块被损坏,超级块是文件系统的“头部”。它包含文件系统的状态、尺寸和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了文件系统的超级块分区中),那么Linux可能会完全不识别该文件系统,即使采用fsck或e2fsck命令也不能修复它了。这时候,只有到安装光盘中看看有没有对应的文件系统,将此文件覆盖原操作系统被破坏的文件来恢复了。如果不小心删除了系统中重要的文件,也可采用这种方法来试试。

3.函数库故障

在Linux操作系统中,如果不慎将系统中的函数库文件破坏,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无法执行。这也是比较常见的系统故障。

解决方法:
最简单的解决办法是用急救启动盘组启动系统,在/mnt目录中安装硬盘文件系统,然后修复/mnt/lib目录下的库。

4.登录系统故障

由于管理员忘记密码,或者由于系统受到黑客的入侵,系统密码文件被修改。导致管理员可能无法用帐号登录系统。

解决方法:
方法一,在系统启动时,进入单用户模式(linux single),然后用passwd命令重新设置密码,或修改密码文件即可恢复正常。
方法二,用急救启动盘组启动系统,然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件进行恢复。
方法三、将安装系统的硬盘拆下来,放在另一个Linux系统中,然后(mount)挂载此硬盘的系统安装区,将次硬盘分区中的/etc/passwd, /etc/shadow,/etc/group文件覆盖或修改,也可以恢复。

5.KDE环境故障

如果Linux系统的KDE环境无法正常启动,例如以普通账号运行startx命令后,出现:“...... can not start X server. Perhaps you do not have console ownershiip? ”类似的提示。出现这种提示的原因是可能别的用户曾经运行过KDE环境,并在系统中留下标示此用户的缓存文件。

解决方法:
运行如下命令:
rm  -rf /tmp/*
然后,重新运行startx 命令即可进入KDE环境。

如果以普通账号运行startx命令后,出现“can not start X server”的错误提示,并且不断地有报错提示的英文字符向上翻滚,导致无法进入KDE环境。出现这种情况,可能是由于对Linux系统的不正常关机,从而导致不能进入Linux的KDE环境。

解决方法:
在控制台下以root身份登陆,键入setup命令,出现系统设置菜单,选择其中的“X窗口设置”,然后依照提示正确设置显示器的类型、刷新频率、显存大小、分辨率等。这样将系统中的X窗口重新设置一遍,

如果没有报错,系统会自动启动KDE环境,可能需要注意的一点是:在用setup命令进行设置时,可能还会有大量的英文字符在屏幕上翻滚,这时不要紧,请继续看清屏幕,使用TAB键或方向键进行上面的配置,配置无误后,会立刻恢复KDE环境的。

通过本文能学会Linux系统故障的解决办法。

【编辑推荐】

  1. Linux上的虚拟化技术 Xen虚拟化初学指南
  2. 处理Linux内核安全详解
  3. Linux的Shell编程 Shell基本语法
  4. Linux的Shell编程 运行Shell程序的方法
  5. Linux的Shell编程bash的内部命令

透彻的了解Linux系统故障并解决的更多相关文章

  1. Linux 系统故障排查和修复技巧

    Linux 系统故障排查和修复技巧 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解 ...

  2. Arch Linux中文乱码解决

    Arch Linux中文乱码解决 1.安装中文字体 pacman -S wqy-zenhei ttf-fireflysung (flash乱码)   ---乱码的原因就是缺少中文字体的支持,下载文泉驿 ...

  3. Linux系统下 解决Qt5无法连接MySQL数据库的方法

    Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...

  4. CentOS7 下linux不能上网解决方法​,centos7 eth0 没有ip,IP突然丢失

    CentOS7 下linux不能上网解决方法​ 在CentOS VMware下安装好linux后,发现有时不能直接联网,特分享下总结出来的经验,希望对新手有用 工具/原料 XP系统 VMware.Wo ...

  5. 虚拟机VMware安装linux无法上网解决办法

    虚拟机VMware安装linux无法上网解决办法   Linux网络设置: 依次单击[System]-->[Preferences]-->[Network Connections],如下图 ...

  6. Linux 忘记密码解决方法,Linux 远程登录

    一.Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步 ...

  7. Linux yum失败解决

    Linux yum失败解决 问题: 在CentOS 5.5中需要使用yum安装程序,出现错误: There was a problem importing one of the Python modu ...

  8. 四、Linux 忘记密码解决方法

    Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如 ...

  9. linux 中文乱码解决办法

    就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式.代码如下: FileOutputStream fos=new FileOutputStream(new File(fileP ...

随机推荐

  1. SO BAPI SD_SALESDOCUMENT_CREATE

    DATA: E_ORDER_HEADER_IN  LIKE  BAPISDHD1 OCCURS 0 WITH HEADER LINE,           E_ORDER_PARTNERS   LIK ...

  2. windows 快捷键 部分

    1.快速启动任务栏锁定的任务 WIN+任务栏任务顺序(左侧开始数) 2.运行 WIN+R mstsc--->远程桌面链接 regedit--->注册表信息 services.msc---& ...

  3. java:LeakFilling(面向对象)

    1.类的修饰符只能是:public,默认的.另外:final  ,abstract,(修饰符 (只有:public, 默认,)interface+类名 ). 2.在main函数中创建对象时,new哪个 ...

  4. 在IOS系统中微信浏览器input输入框输入值无效

    [contenteditable="true"], input, textarea { -webkit-user-select: auto!important; -khtml-us ...

  5. UOJ#48最大矩形面积

    题面 这是一道标准的单调栈的题目,但是由于题目的个例性,该题对于前后两数等于的情况并无额外处理,so也确实是让这题简单了一点 也没什么好说的直接上代码吧 #include<iostream> ...

  6. magento下载地址

    https://download.magentochina.org/magento/2/ https://www.magentochina.org/blog/download-install-mage ...

  7. python 并发编程 socket 服务端 客户端 阻塞io行为

    阻塞io行为 server.accept server.recv client.send recv,accept  分为两个阶段 1.wait for data 对方把数据经过网络延迟送到自己的操作系 ...

  8. java遇到的笔试题

    一.基础题(CSS经常遇到的面试题) 1.在Jquery中,想让一个元素隐藏,用什么实现,显示隐藏的元素用什么实现? 答:show()方法可以使一个元素显示:hide()隐藏可见的元素:[slideD ...

  9. python里面列表函数的使用及注意

    1.append 在末尾插入一个内容: a= [i for i in range(1,6)] print(a) a.append(100) print(a) 2.insert 指定位置插入内容 ins ...

  10. JavaScript数组知识

    JavaScript数组知识 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...