Linux常见系统故障排除

简介:

前言

   运维人员经常会遇到各式各样的系统故障,如何根据故障特征锁定问题根源,需要的不仅仅是技巧,还有遇到故障时的思路,和对系统内部的理解,本文列出了一些常见的系统故障和处理方法,在那之前首先需要对系统启动流程有一个比较完整意义上的了解,以便问题出现后判断其属于哪个环节。

Linux系统启动流程的基本知识

1、加电自检(PowerOnSelfTest)

   开机自动映射rom中程序到cpu可以寻址的空间中,cpu执行指令检查基本硬件是否正常

2、BIOS(Boot Sequence)

   如果正常则按照CMOS中保存的BootSequnece依次寻找对应设备上的MBR

3、MBR(BootLoader)

   读取第一个MBR存在的设备中的BootLoader,并交与其控制权。

   Linux下的常见BootLoader有两种:

           LILO: LInux LOader(不能引导1024柱面以后的分区内核(嵌入式))

           GRUB: GRand Unified Bootloader

   MBR空间有限,无法展示其特性,所以将GRUB分为2阶段程序,如下:

       Stage1(被装载MBR当中)                主要目的是为了引导第二阶段

       Stage1.5(/boot/grub/Stage1_5)   识别常见不同类型的文件系统

       Stage2(/boot/grub/Stage2)         引导操作系统(突破了446字节的限制)         并借助配置件/boot/grub/grub.conf

4、Kernel

   设备探测

   驱动初始化(可能会从initrd(RHEL6 initramfs)文件中装载驱动模块)

   为内核提供访问根文件系统的基本驱动能力

   以只读挂载根文件系统

   装载第一个进程init

5、init(etc/inittab)

   /sbin/init         其配置文件(etc/inittab)

   /etc/inittab     主要任务如下:

          1、设定偶人运行级别

          2、运行系统初始化脚本

          3、运行制定运行级别目录下的脚本

          4、设定Ctrl+Alt+Del组合键的操作

          5、定义UPS电源在电源故障/恢复时执行的操作

          6、启动6个虚拟终端(2345级别)

          7、启动图形终端(5级别)

常见系统错误

1、忘记密码

   启动进入单用户模式

   使用passwd修改root密码

2、bootloader损坏

   载入安装光盘进入紧急救援模式

   进入grub模式


   重复成功

3、bash丢失系统无法启动

   进入救援模式后

4、加密grub和内核

5、因某服务异常导致系统无法启动

总结七个点:

1、确定问题的故障特征

2、重现故障

3、使用工具收集进一步信息,确定问题根源

4、排除不可能的原因

5、定位故障

6、备份源文件

7、尽可能借助于工具




本文转自 ftmoonfans  51CTO博客,原文链接:http://blog.51cto.com/soulboy/1277190

相关文章
|
9天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
124 78
|
12天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
47 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
132 48
|
8天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
61 13
|
1月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
36 3
|
9天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
28 0
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
38 1
|
1月前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
90 1
|
1月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
20天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。