Centos的故障排除

2023-05-16

环境:centos-6.4 x86_64

所需工具:CentOS-6.4-x86_64-LiveDVD.iso下载地址:http://mirrors.163.com/centos/6.4/isos/


首先介绍centos的引导过程:

加电自检,然后根据bios引导设置(引导有硬盘引导,光盘引导,U盘引导,网络引导),引导完成后进入grub菜单,选择要引导的系统,引导分区,最后到init

Gurb 里面包含有stage1 (在mbr进行加载)、stage1_5(识别/boot/分区文件系统) stage2

接下来就说说常见的故障以及故障的排除;

常见的第一类故障就是stage1失效,那我们来看一下当stage1失效时开机会出现什么状况,

由于我们是通过实验环境来模拟的,所以可以通过命令dd if=/dev/zero of=/dev/sda bs=446 count=1

185142616.png

然后重启

185215734.png

就会看到出现这样的界面,因为在我的虚拟机里插入了系统的安装盘,所以当系统失效时会尝试从光盘引导,到了这里选择第三项Rescue installed system 进入救援模式或者按esc键然后输入 linux rescue也是可以的。

接着就出现这样的界面

185235150.png

选择语言,就选英语,

185249897.png

键盘选择us

185303310.png

这个是安装文件放在哪里,我们用的是系统安装光盘,当然实在本地光盘上了,我们就选第一个

185316545.png

是否启用网络功能,因为我们不需要所以选择No

185330398.png

选择继续

185344374.png

告诉你光盘已经挂载到/mnt/sysp_w_picpath目录下了,可以通过chroot /mnt/sysp_w_picpath命令切换到目录

185357939.png

选择ok继续,

185510239.png

启动一个shell,这样就进入命令模式了,然后来执行刚刚提到的命令,切换后要重建mbr里面的bootloader,输入grub-install /dev/sda

185523417.png

到这里就重建完成了,然后输入两次exit退出,选择reboot重启

185538686.png

这样系统就可以启动了,由于要重建策略,所以会启动比较慢

第二类故障就是stage2失效

stage2失效时开机就会报错

185552389.png

出现这种错误的时候就要借助CentOS-6.4-x86_64-LiveDVD.iso的光盘引导了,插入光盘之后重新启动选择光盘引导

185607126.png

F10保存退出并重启,启动后5秒内按回车键就进入

185635436.png


如果5秒内没有按回车键将默认启动Boot,在这里选择Boot启动。

进入系统后可以按ctrl+alt+F2进入字符模式,用root帐号登录,然后挂载硬盘,不然是不能访问硬盘的,mount /dev/sda1 /boot将硬盘挂载到/boot目录下

185655929.png

通过df –h可以看到硬盘已经挂载到/boot目录下了然后执行grub-install --root-directory=//dev/sda grub的文件安装的/boot/grub

185708412.png


查看下到底有没有安装成功

185725497.png


已经看到stage2,然后重启看看

185740453.png


这时候就已经可以启动了

第三类就是grub.conf 丢失或者损坏

190926552.png

grub.conf丢失开机就会这样,那就通过livecd进行引导,然后创建grub.conf文件。

首先还是把硬盘挂载到/boot目录下,然后切换到/boot/grub 创建grub.conf文件,并进行编辑,编辑内容为:

default =0

timeout =5

hiddenmenu

title centos

root(hd0,0)

kernel/vimlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_nddnd-lv_root rhgb quiet

initrd/initramfs-2.6.32-258.el6.x86_64.img

编辑完成后保存退出,重启从本地磁盘引导

185806705.png

这样就完成了。

第四类就是/boot/grub丢失

开机后用livecd引导,然后挂载硬盘,和前面的一样,然后执行grub-install --root-directory=/ /dev/sda 然后进入/boot/grub目录下编辑grub.conf,编辑内容和前面一样。这里就不在多说了,这种情况其实就是前面三类的综合。

第五类就是root口令丢失

开机五秒内按回车键


然后按e

190109484.png

选择第2个再按e

190121411.png

然后在后面输入1 回车,然后再按b,这样就进入单用户单任务模式

190139936.png

然后可以通过命令 passwd –d root 删除管理员口令,或者进行修改。修改完之后重启即可。

第六类就是其他文件损坏但和grub引导程序无关

这种情况多出现在管理员在不小心的情况下误删或者修改里一些文件,比如说修改了/etc/fstab。就以这种情况为例:

当我们开机之后,grub引导都没有问题,但是最后会提示错误如图:

190345803.png

并且提示输入管理员密码进入维护模式有的情况是让按回车键

190407932.png

进入之后找到错误所在的文件进行修改,重启即可。

以上就是 centos 中常见的故障以及排除。


转载于:https://blog.51cto.com/mading/1342930

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

Centos的故障排除 的相关文章

  • 与 crond 不同的 ssh 行为

    我已经在这件事上抓狂了好几个小时了 我欢迎任何有关下一步发展的新想法 目标是通过 SSH 登录到自定义应用程序 CLI 然后使用自定义 CLI 命令之一在远端设备上下拉调试 shell 在客户端 我使用 CentOS mini 并运行 ss
  • 如何解决ssh:/usr/lib64/libcrypto.so.10:没有可用的版本信息[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试执行 ssh 并收到以下消息 ssh ssh usr lib64 libcrypto so 10 no version info
  • 在 CentOS 中使用 /etc/resolv.conf 解析 AD 域

    我已使用 Realm 配置 SSSD 以使用 AD 凭据登录 centOS VM 请参考设置here https stackoverflow com questions 63705156 sssd integration with micr
  • 命令“PassengerAppRoot”无效,可能拼写错误或由服务器配置中未包含的模块定义

    我已按照中给出的每一个安装步骤进行操作在 Linux Unix 生产服务器上安装 Passenger Apache 适用于 Node js 应用程序 Red Hat 6 CentOS 6 带 RPM https www phusionpas
  • 无法在 CentOS 7 上启动 postgresql 服务

    无法在 CentOS 7 上启动 postgresql 9 5 我关注了这个页面 https wiki postgresql org wiki YUM Installation https wiki postgresql org wiki
  • 在centos 6.4上安装numpy&scipy

    我在虚拟环境中工作 安装 numpy 和 scipy 时遇到问题 据我了解 在使用 scipy 之前我必须完全安装 numpy 但是我在安装 numpy 时遇到了问题 I usedpip install numpy并将 numpy 安装到我
  • make: *** /lib/modules/2.6.32-279.el6.x86_64/build: 没有这样的文件或目录。停止

    我从他们的网站下载了 RALINK 驱动程序 untar xvf rtl 然后我在其中运行 make 谷歌搜索建议 kernel devel 需要安装 我安装了 kernel devel 软件包 但仍然收到此错误 make lib modu
  • 从 CentOS 7 或 RHEL 7 中完全删除 MariaDB 或 MySQL

    我在 CentOS 7 上安装了 MariaDB 但我在某些配置上遇到了一些问题 现在它完全配置错误 因此 我想用 yum remove mariadb mariadb server 删除MariaDB 然后用 yum install ma
  • 增加 CentOS 上的 Docker 容器存储大小

    我想增加 Docker 容器的磁盘空间 这是 docker info 的输出 Containers 3 Running 3 Paused 0 Stopped 0 Images 4 Server Version 19 03 5 Storage
  • phpMyAdmin + CentOS 6.0 - 禁止

    当我想访问我的 phpMyAdmin 时 我总是收到此消息 w3m localhost phpmyadmin Forbidden You don t have permission to access phpmyadmin on this
  • 在 CentOs 上使用 CURL 和 TOR 作为代理

    我想使用 Tor 作为 HTTP 请求的代理curl or wget on a CentOS机器 我使用了这个 How to 并在 stackexchange 和 stackoverflow 上寻找了一些答案 https medium co
  • 如何正确处理分块编码请求?

    我有两个网站 一个使用 PHP 的 Lighttpd 第二个使用 Apache 这两个网站都不能正确处理分块传输编码 我从我的手机 J2ME 发送此请求 并且无法将此传输类型更改为任何其他类型 所以我唯一的方法是以其他方式处理分块传输编码请
  • 在centos中设置Docker_Opts

    我需要设置 docker 在运行 amazon linux centos 的主机上侦听 tcp 0 0 0 0 4243 我看到的所有文档都告诉我运行以下命令 echo DOCKER OPTS H tcp 127 0 0 1 4243 gt
  • CentOS 的 init.d celery 脚本?

    我正在编写一个使用 celery 的 Django 应用程序 到目前为止 我一直在 Ubuntu 上运行 但我正在尝试部署到 CentOS Celery 为基于 Debian 的发行版提供了一个很好的 init d 脚本 但它不适用于基于
  • EC2 增加大小后无法调整卷大小

    我已按照调整 EC2 卷大小的步骤进行操作 停止实例 拍摄当前卷的快照 在同一区域中从上一个快照创建了一个更大大小的新卷 从实例中分离旧卷 将新卷附加到同一安装点的实例 旧卷是 5GB 我创建的卷是 100GB 现在 当我重新启动实例并运行
  • 如何在CentOS 5.3上安装php-mongodb?

    我已经在我的 VPS 上安装了 mongoDB 效果很好 现在我想安装 php 驱动程序以使 php 与 mongoDB 一起工作 我跟着蒙戈安装 http www php net manual en mongo installation
  • httplib.BadStatusLine: '' 在 Linux 上,但在 Mac 上则不然

    这个错误已经困扰我几个小时了 我决定编写一个单独的项目 只是为了看看我是否可以复制它 而且我可以 但只能在我的服务器上复制 这适用于我的 Mac Mac OSX El Capitan 10 11 6 服务器 CentOS 7 2 1511
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • 在 CentOS 中安装 PHP Zip 扩展

    我正在尝试在 CentOS 中安装 PHP Zip 扩展 我的服务器没有外部互联网访问权限 所以我自己从 PECL 下载了它 http pecl php net package zip http pecl php net package z
  • 在centos上设置jenkins:ssh密钥和git的问题

    经历了很多问题 但似乎没有什么能解决我的问题 或者更准确地说 我不确定我是否正确地完成了整个事情 所以这里是 已安装centos 6 3操作系统 然后我按照以下指南安装詹金斯 https wiki jenkins ci org displa

随机推荐