尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题。那么这篇博文就总结一下一些常见的故障排除方法,但是不可能面面俱到,只能不断的补充,更新。

一、管理员忘记密码

(1)、重启计算机,进入单用户模式

1
2
3
4
5
[root@CentOS5 grub]# reboot
 
Broadcast message from root (pts/2) (Wed Dec  2 18:45:32 2015):
 
The system is going down for reboot NOW!

(2)、grub显示界面,敲一下p键

(3)、输入密码之后按回车键

(4)、此时可以看到下方编辑菜单已经解锁,用户可以自行编辑了,此时我们敲e键

(5)、将光标挪至第二行,也就是kernel这一行,再敲一下e键

(6)、此时就进入kernel的编辑菜单里,我们只需要在行尾加一个数字1之后按回车

(7)、此时敲一下b键,即可重新启动系统

(8)、此时系统已重新启动,启动完成之后,就是单用户模式,直接修改root密码

(9)、此时是root用户直接登录,输入passwd修改root密码,再重启进入级别3即可

注:以上步骤就是进入单用户模式的方法,下面出现单用户模式则不再重复此步骤

二、系统无法启动

1、grub的stage1损坏(MBR前446字节损坏)

(1)、当重启系统就是如下画面

(2)、此时需要挂载光盘再重启进入rescue模式,提示符下输入linux rescue即可

(3)、选择语言类型,我们这里选择英文

(4)、选择键盘类型,我们这里选择美式键盘

(5)、是否启用网络,根据自己的需要选择,我这里没使用网络

(6)、如果后面需要修改文件,则选择Continue,否则就选择Read-Only,skip直接进入命令行

(7)、指定当前根分区,如果有多块硬盘的话

(8)、提示根文件系统被挂载至/mnt/sysimage下,如果想切换,执行chroot /mnt/sysimage

(9)、进入命令行界面之后,输入grub进入提示符界面

(10)、先指定内核所在分区,再安装grub,安装完成退出再重启即可

(11)、注意卸载光盘或者调整启动次序,启动之后显示如下画面即修复成功

2、grub的stage2损坏(stage1.5和stage2文件丢失)

(1)、当grub的stage2损坏时,重启系统时就会是这样

(2)、此时我们只需要指定/所在的磁盘及分区、内核文件路径、initrd文件路径即可

(3)、启动完成之后显示如下,再直接登录系统

(4)、复制/usr/share/grub/x86_64-redhat下所有文件至/boot/grub目录下就行

1
2
3
4
[root@CentOS5 ~]# ls /usr/share/grub/x86_64-redhat/
e2fs_stage1_5  ffs_stage1_5      jfs_stage1_5    reiserfs_stage1_5  stage2           ufs2_stage1_5    xfs_stage1_5
fat_stage1_5   iso9660_stage1_5  minix_stage1_5  stage1             stage2_eltorito  vstafs_stage1_5
[root@CentOS5 ~]# cp /usr/share/grub/x86_64-redhat/* /boot/grub/ -a

3、grub.conf配置文件丢失

(1)、当grub.conf配置文件丢失时,重启系统时就会是这样

(2)、此时我们只需要指定/所在的磁盘及分区、内核文件路径、initrd文件路径即可

(3)、启动完成之后显示如下,进入系统我们再自行创建grub.conf即可

注:此处find命令十分好用,指定root、kernel、initrd即可启动

三、用户无法登录系统(migetty、bash损坏)

1、bash损坏

进入rescue模式,然后重装bash即可

注:许多故障都可以通过但用户模式或救援模式可以解决

Linux系统之TroubleShooting(启动故障排除)的更多相关文章

  1. Linux系统之TroubleShooting(故障排除)(转)

    尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...

  2. Linux系统入门---开机启动流程

    目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: ...

  3. 不同linux系统添加开机启动程序的命令

    see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C ...

  4. Linux系统xinetd服务启动不了

    Linux系统xinetd服务启动不了 xinetd服务时发现xinetd服务启动不了,并出现错误提示xinetd:unrecognized service,当出现这个错误提示的时候说明系统未安装xi ...

  5. Linux系统的快速启动机制(内核切换) 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4187846 原文地址:Linux系统的 ...

  6. Linux系统下,启动Tomcat有时报Address already in use

    一.Linux系统下,启动Tomcat有时报Address already in use<null>... 1.那是因为你的tomcat已经启动了tomcat自带的关闭脚本,有时候关闭看上 ...

  7. Linux系统的开机启动顺序

    Linux系统的开机启动顺序加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用 ...

  8. linux系统无法正常启动,故障排查恢复

    linux内核启动修复 首先看linux内核重要文件grub.conf # grub.conf generated by anaconda # # Note that you do not have ...

  9. centos6启动故障排除

    centos6中boot文件被全部删除的故障排除 /boot文件里关于启动的核心文件有三个,/vmlinuz-2.6.32-696.e16.x86_64,initramfs-2.6.32-696.el ...

随机推荐

  1. docker-使用ali云加速

    ali专用网络加速地址; https://yq.aliyun.com/articles/29941 使用ali加速 vim /etc/sysconfig/docker 添加: ADD_REGISTRY ...

  2. Ceph/共享存储 汇总

    Ceph 存储集群 - 搭建存储集群 Ceph 存储集群 - 存储池 Ceph 块设备 - 命令,快照,镜像 Ceph 块设备 - 块设备快速入门 OpenStack 对接 Ceph CentOS7 ...

  3. JSP的九个隐式对象

    JSP使用脚本元素作为一种简易方法在模板数据中嵌入java代码,这些脚本元素在JSP翻译成Servlet的阶段,都被转化为Servlet中的java代码. JSP引擎在调用JSP对应的_jspServ ...

  4. tcp/ip通信中udp头部结构udphdrp->check校验计算

    通过raw socket修改通信数据后,可通过函数 set_udp_checksum1 重新校验计算iph->check值 在http://www.cnblogs.com/dpf-10/p/78 ...

  5. [Node.js] 3、搭建hexo博客

      一.安装新版本的nodejs和npm 安装n模块: npm install -g n 升级node.js到最新稳定版 n stable   二.安装hexo note: 参考github,不要去其 ...

  6. js实现响应式瀑布流

    导读:瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinterest ...

  7. 状态压缩·一(状态压缩DP)

    描述 小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节! 但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票—— ...

  8. jsp、css中引入外部资源相对路径的问题

    在jsp页面中添加base,可用相对路径: <% String path = request.getContextPath(); String basePath = request.getSch ...

  9. LDA(线性判别分析,Python实现)

    源代码: #-*- coding: UTF-8 -*- from numpy import * import numpy def lda(c1,c2): #c1 第一类样本,每行是一个样本 #c2 第 ...

  10. php魔术方法__tostring的应用

    当echo一个对象的时候,会报错误 Object of class Person could not be converted to string 我们可以通过魔术方法__tostring()  把对 ...