RHEL6 系统启动故障排错

2023-11-15

RHEL6 系统排错


系统故障了,机器无法正常工作,更别提正常提供服务,这个时候如果我们掌握了系统排错,那就大有用武之地了。我们在学习和实验阶段,可以通过系统排错帮助大家更深入了解系统启动过程。

对系统进行如下破坏:

1.破坏grub引导
dd if=/dev/zero of=/dev/sda bs=1 count=446
2.破坏/boot启动目录

rm -rf /boot/*
3.破坏/etc/fstab文件

rm -rf /etc/fstab
4.破坏/etc/inittab、/etc/rc.d/rc.sysinit、/bin/mount文件(任何文件丢失,及文件版本或内容不匹配,均属此列)

rm -rf /etc/inittab /etc/rc.d/rc.sysinit

cp /bin/ping /bin/mount

排错修复:

用光盘或者网络引导进入rescue模式,过程中因为fstab表被删除,会提示找不到linux分区,无法自动识别linux分区,确定后进shell

 

使用fdisk -l查看分区,应该可以识别出boot分区和交换分区,也可以看到是否使用到逻辑卷。

如果没有使用逻辑卷,则原根分区是分区形式,使用blkid或e2label查看标签来推断根分区,如果没有标签或无法从标签判断,则需要将分区逐一挂载(挂载点自建),查看分区内容可判断到根分区。

如果有使用逻辑卷,对分区使用上述方法查看仍没找着根分区,则估计是使用逻辑卷作为根分区,此时,需要激活逻辑卷卷组(lvm vgchange -ay),再将逻辑卷逐一挂载,查看其内容,可判断到根分区。

 

找到根分区后,需要处理/etc/fstab,自行编写fstab,注意写正确里面的条目,fstab表里的分区不是采用分区名挂载了,改成使用uuid。

编辑完成fstab之后,敲入exit,选择reboot重启机器。

 

伪根时候的shell提示符为bash-4.1#,真根时候的shell提示符为sh-4.1#

 

再次进入rescue模式,这时候已经可以正确找到linux分区,并自动将根分区挂载在伪根的/mnt/sysimage,使用chroot /mnt/sysimage切换到真根,如果不知道系统丢失哪些文件,可以使用rpm -Va检查,对显示出的结果需要判断哪些是跟启动相关的。

 

安装丢失文件对应的包之前,需先挂载光驱,/dev/sr0

rpm -qf /etc/rc.d  可查询到包名

从光盘上安装缺失或损坏的文件对应的包

rpm -ivh /mnt/Packages/initscripts-9.03.17-1.el6.x86_64.rpm --force

 

boot文件夹中的内容来自于内核包

rpm -V kernel和rpm -V grub

 

grub-install  安装grub引导

 

编写/boot/grub/grub.conf

 

exit两次reboot

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RHEL6 系统启动故障排错 的相关文章

  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • 伊迪德信息

    重新定义问题 有什么方法可以获取所连接显示器的序列号吗 我想收集显示器的Eid信息 当我使用 logverbose 选项运行 X 时 我可以从 xorg 0 log 文件中获取它 但问题是 如果我切换显示器 拔出当前显示器 然后插入另一个显
  • Linux 中热插拔设备时检测设备是否存在

    我正在运行 SPIcode http lxr free electrons com source drivers spi spi omap2 mcspi c在熊猫板上 我想知道其中的哪个功能code http lxr free electr
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • linux x86 汇编语言 sys_read 调用的第一个参数应为 0 (stdin)

    我正在编写一个简单的汇编程序来从标准输入读取 如 scanf 这是我的代码 section bss num resb 5 section txt global start start mov eax 3 sys read mov ebx 0
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最

随机推荐

  • 关于Git看这一篇就够了(IDEA版本)

    目录 一 Git简介 1 1 项目的版本管理 1 2 团队协同开发 1 3 版本管理工具 Git 二 Git下载及安装 2 1 下载Git 2 2 安装Git 2 3 检查 三 Git架构 四 Git基本使用 4 1 创建版本库 4 2 查
  • 132_Springboot总是会自动在/tmp/spring.log生成日志文件问题处理

    原因是项目配置文件中有如下引用
  • 2016年蓝桥杯预赛第十题最大比例

    题目 最大比例 X星球的某个大奖赛设了M级奖励 每个级别的奖金是一个正整数 并且 相邻的两个级别间的比例是个固定值 也就是说 所有级别的奖金数构成了一个等比数列 比如 16 24 36 54 其等比值为 3 2 现在 我们随机调查了一些获奖
  • vue 工程从window 到mac

    ERROR in src assets css theme default scss node modules css loader node modules postcss loader lib node modules sass loa
  • 五十三.L1-003 个位数统计

    include
  • 骨骼蒙皮动画(SkinnedMesh)的原理解析(一)

    一 3D模型动画基本原理和分类 3D模型动画的基本原理是让模型中各顶点的位置随时间变化 主要种类有Morph 变形 动画 关节动画和骨骼蒙皮动画 SkinnedMesh 从动画数据的角度来说 三者一般都采用关键帧技术 即只给出关键帧的数据
  • 使用Flutter之后,我们的CPU占用率降了50%

    近年来 移动互联网迅猛发展 业务需求频繁更新 业务内容动态化需求急剧增加 纯原生开发已经无法满足业务快速增长的需求 因此诞生了多种跨平台开发框架 如 H5 原生开发 React Native 和 Weex 但这两年最受开发者青睐的莫过于 F
  • 自己编写chrome插件

    1 首先你需要一个menifest json文件 manifest version 3 name My Extension version 2 0 action default popup popup html default icon i
  • 【python基础】:分类统计各字符的个数

    功能实现 利用python实现统计一个字符串中数字 字母及其他字符的个数和各个字符的总数 方法一 利用 isdigit isalpha 函数判断字符是否是数字或者字母 代码如下 s input 请输入一串字符 num char space
  • How to Change SSH Port on CentOS 7, 8 and 9

    The default SSH service port value is 22 in which case hackers may be able to launch attacks on the server through port
  • 第十章 内部类(上)

    第十章 内部类 上 可以将一个类的定义放在另一个类的定义内部 这就是内部类 内部类是一种非常有用的特性 因为它允许你把一些逻辑相关的类组织在一起 并控制位于内部的类的可视性 然而必须要了解 内部类与组合是完全不同的概念 这一点很重要 在最初
  • QT信号连接信号

    有时候代码可能复杂 我们需要一个信号连接另一个信号 比如例子中的下课不是直接运行时触发的 而是点击下课按钮 include mainwindow h include ui mainwindow h include QPushbutton h
  • linux bmc管理(工作笔记,随时更新)

    ipmi使用 概述 1 修改bmc IP地址 2 修改bmc 用户信息 概述 在日常工作中 对机器bmc配置一般是连接显示器进行相应配置 通过ipmi进行bmc的配置可以实现在系统下进行bmc的配置 从而实现对多台服务器进行bmc的配置 大
  • 记一次umi开发后台管理系统的基础使用

    先介绍一个umi 阿里开源的一个企业级可插拔的react脚手架 umi相对比react官方推荐的脚手架更加的简单 更贴近vue cli的使用感受 而本文仅仅介绍基础使用方法 高手请绕行 开发展示 仿叮咚买菜后台管理系统预览 http din
  • 抖音短视频矩阵号系统开发者开源部署分享(一)

    抖音是一款备受欢迎的短视频APP 拥有数亿的用户 其中包括了大量的粉丝 为了让更多的人能够发现和观看到你的视频 抖音SEO是必不可少的一环 特别是对于拥有企业或个人品牌的用户来说 在这个过程中 抖音SEO源码的开源部署显得尤为重要 首先 我
  • 2022年11月计划(cesium for ue源码抄写+ socket视频学习+ue4 tf视频学习)

    根据规划 进行cesium for ue源码抄写 网络视频教程 ue4 tf1视频学习
  • VSCode SFTP 文件同步配置中监听文件删除或新增包含子目录的文件 watcher配置

    name aaaaa host 321312321 protocol sftp port 22 username 123321 password 123321 remotePath www wwwroot web uploadOnSave
  • 关于Geany编写python中文注释时报错的解决办法

    关于Geany编写python中文注释时报错的解决办法 其实这个方法很简单 首先打开Geany 新建或者打开一python文件 然后在 文档 中选择 设置文件编码 的 Unicode 里面的 UTF 8 就好了 注意 这种方只能在你所正在编
  • EXCEL 怎么用函数公式计数(Excel函数去重计数 / 去除重复项),不使用透视表

    起因 因领导层需要将电商平台利润核算自动化 原始数据不可以动 所以需要用到公式 PS 其实所谓自动化不是Python VBA办公自动化 就是嵌套一堆公式 然后每月更新电商后台基础数据 就可以出来利润结果 正文 普通方法1 直接使用 SUM
  • RHEL6 系统启动故障排错

    RHEL6 系统排错 系统故障了 机器无法正常工作 更别提正常提供服务 这个时候如果我们掌握了系统排错 那就大有用武之地了 我们在学习和实验阶段 可以通过系统排错帮助大家更深入了解系统启动过程 对系统进行如下破坏 1 破坏grub引导 dd