Linux系统无法启动故障解决方案
Linux系统无法启动故障解决方案
不管你多么喜爱你的Linux系统机器,有时候你都必须恢复你的系统。是的,即使一台Linux系统机器也可能遭受系统崩溃:不管是由于视频配置错误、内核更新出错、或是由于init脚本配置错误,这种情况都是必然的。
当你的心爱的linux系统出现故障的时候,你是如何来解决的呢?没有操作系统能够确保100%可靠。终有一天,即使Linux系统也会无法启动。本文为你提供一些在Linux工作站无法正常启动时所采用的策略。
不管你多么喜爱你的Linux系统机器,有时候你都必须恢复你的系统。是的,即使一台Linux系统机器也可能遭受系统崩溃:不管是由于视频配置错误、内核更新出错、或是由于init脚本配置错误,这种情况都是必然的。我看到过大量这种情况,即使在我自己的机器上,大多数是由于X配置出错,这确实令人沮丧。
使用正确的运行级别
安装好一个新的Linux系统后,我立即采取措施以确保灾难不会轻易发生。其中一个措施就是编辑系统的运行级别。运行级别告诉系统离采用引导过程还有多远。运行级别分为六个等级:
0级:停止(不设置initdefault)
1级:单用户模式
2级:多用户模式,没有NFS(与3级相同,如果你没有建立网络)
3级:完整的多用户模式
4级:不使用
5级:X11
6级:重新启动(不设置initdefault)
新型的Linux系统几乎总是默认使用运行级5(X11),表示系统在引导完成后,将会在图形登录界面处停止。在某物(或某人)使用X配置前,系统一切正常。
然后你必须找到一个登录方法。你可以按下[Ctrl][Alt][F7]进入一个基于文本的虚拟窗口,但为什么要这么麻烦呢?相反,我总是在/etc/inittab文件中将运行级更改为3级。你更改的代码为:
id:5:initdefault:
它被更改为:
id:3:initdefault:
当X出错时,这是一个非常简单的系统恢复方法。
多内核
另一个明显的磁盘恢复方法是总是安装一个正常运转的内核。我通常在一个通过yum更新的内核上工作。有时候,内核会出现一些错误,使得我的一台或几台机器无法启动。
为避免这种情况,我一直保证在机器上使用至少一个正常运行的内核。要解决这个问题,首先应在/etc/yum.conf文件中添加plugins=1,然后应用这段脚本,并将它命名为n-installonly.py,保存在/usr/lib/yum-plugins文件中。你可以通过修改tookeep变量(默认为2)的方法更新linux系统所使用内核的数量。
知道Linux系统上有一个正常运转的内核,你就可以进行安全升级。如果新内核出错,只需启动旧内核就可以解决新内核上的问题(不管是删除、重新编译还是升级)。
【编辑推荐】
Linux系统无法启动故障解决方案的更多相关文章
- Linux系统运维故障排查
一.思路 1.处理问题要求 2.一般思路 二.具体问题 1.网络问题 (1)网络不通 (2)网络很慢 2.硬件问题 3.操作系统问题 (1)系统无法正常启动 (2)系统运行慢或死机 4.服务或程序问题 ...
- 详解linux系统的启动过程及系统初始化
一.linux系统的启动流程 关于linux系统的启动流程我们可以按步进行划分为如下: POST加电自检 -->BIOS(Boot Sequence)-->加载对应引导上的MBR(boot ...
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
- 腾讯云Linux系统中启动自己安装的tomcat
腾讯云Linux系统中启动自己安装的tomcat 首先通过工具查看一下安装的tomcat的位置 进入命令行之后输入以下指令: 此时,tomcat已经启动了.
- [转] 浅谈Linux系统的启动流程
原文:http://blog.csdn.net/justdb/article/details/9621271 版权声明:本文为博主原创文章. Linux系统的启动时通过读取不同的配置文件,执行相应的S ...
- Linux系统快速启动方案
========================= 基本常识 ========================= Linux系统基本启动流程: 1. CPU从ROM(如果有的 ...
- CentOS(四)--Linux系统的启动级别
对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等.但是通常我们刚安装完Linux系统,然后进去以后是 ...
- 浅谈Linux系统的启动流程
Linux系统的启动时通过读取不同的配置文件,执行相应的Shell脚本完成的.当然本文只是简单的从文件的角度分析,更深层次的本文没涉及. 主要读取了以下文件: /boot/grub/grub.con ...
- Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with
Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with 摘要 Li ...
随机推荐
- shell历史命令
1.每分钟备份历史命令 制定计划任务:每分钟执行备份历史命令的脚本 注意:要用python写计划任务脚本,因为用shell脚本写的计划任务总是不执行 先写脚本: [root@master ~]# ca ...
- Opencv中直方图函数calcHist
calcHist函数在Opencv中是极难理解的一个函数,一方面是参数说明晦涩难懂,另一方面,说明书给出的实例也不足以令人完全搞清楚该函数的使用方式.最难理解的是第6,7,8个参数dims.histS ...
- DNS的解析流程
一.简单理解 DNS服务器里存着一张表,表中放着域名和IP地址,域名和IP地址以映射关系保存,即一对一 浏览器访问某个域名,实际上是访问它的ip地址 所以浏览器需要知道域名对应的ip地址,由此产生dn ...
- form 源码刨析
def clean_name(self) value = self.cleaned_data.get('name') if "金-瓶-梅" not in value: raise ...
- [转帖]SSH命令总结
SSH命令总结 ssh-keygen ssh-copy-id 等命令自己用过 但是知道的不系统 也知道 转发命令 但是也只是知道一点点... ttps://www.cnblogs.com/chenfa ...
- keepalived 容器在宿主机重启后无法启动问题:报错:daemon is already running
初步猜测原因是:keepalived容器内的keepalived.pid文件在keepalived容器非正常退出时,没有正确删除,造成第二次启动时容器检查到pid文件已经存在,认为该进程已经存在,因为 ...
- Codeforces 1140F Extending Set of Points (线段树分治+并查集)
这题有以下几个步骤 1.离线处理出每个点的作用范围 2.根据线段树得出作用范围 3.根据分治把每个范围内的点记录和处理 #include<bits/stdc++.h> using name ...
- PythonDay13
第十三章 今日内容 匿名函数 内置函数二 闭包 匿名函数 匿名函数就是一行函数,关键字是lambda lambda x:x# lambda 参数:返回值x 是普通函数的形参 可以不定义形参:x 是 普 ...
- 高效编程之 concurrent.future
背景 我们知道 Python 中有多线程threading 和多进程multiprocessing 实现并发, 但是这两个东西开销很大,一是开启线程/进程的开销,二是主程序和子程序之间的通信需要 序列 ...
- centos:mysql主从同步配置(2018)
centos:mysql主从同步配置(2018) https://blog.csdn.net/liubo_2016/article/details/82379115 主服务器:10.1.1.144; ...
