centos6系统故障修复

CentOS6启动流程
1.加载BIOS的硬件信息,获取第一个启动设备
2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息
3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4.核心执行init程序,并获取默认的运行信息
5.init程序执行/etc/rc.d/rc.sysinit文件
6.启动核心的外挂模块
7.init执行运行的各个批处理文件(scripts)
8.init执行/etc/rc.d/rc.local
9.执行/bin/login程序,等待用户登录
10.登录之后开始以Shell控制主机
第一阶段
破坏1阶段后还原方法:mbr 446字节

1.先复制在破坏,dd if=/dev/sda of=/data/mbr bs=1 count=512

破坏,dd if=/dev/zero of=/dev/sda bs=1 count=446

进入救援模式,dd if=/mnt/sysimage/data/mbr of =/dev/sda bs =1 count=446



默认下一步,再次下一步










方法2:使用grub修复
进入救援模式,chroot /mnt/sysimage ; grub-install /dev/sda
示例1 :使用grub方法修复mbr前446字节:恢复1阶段
修复方法 :grub
grub> root (hd0,0)
grub> setup (hd0) //该修复方法,依赖于三种状态文件
一又二分之一阶段
示例2:破坏1.5阶段:dd if=/dev/zero of=/dev/sda bs=1 count=10000 skip=512 seek=512

修复方法 :进入救援模式,grub
grub-install /dev/sda

退出方法同上
注意:一旦使用grub(交互式)修复,三个阶段的文件不可丢失,一旦丢失,机器将无法恢复;
但是grub --install 仍然可以修复
丢失initramfs和vmlinuz文件效果:(机器不能正常启动)


恢复方法(centos6)
按esc,进入光盘救援模式,默认根路径为:/mnt/sysimage
chroot /mnt/sysimage 切换根路径
mkinitrd /boot/initramfs-`uname -r`.img `uname -r`

mount /dev/sr0 /mnt
cp /run/install/repo/isolinux/vmlinuz /boot/vmlinuz-`uname -r`
sync 将内存中的数据同步到磁盘
退出,重启

丢失vmlinuz文件的恢复方法(centos6/7通用)
chroot /mnt/sysimage 切换根路径
mount /dev/sr0 /mnt
cp /run/install/repo/isolinux/vmlinuz /mnt/sysimage//boot/vmlinuz-`uname -r`
退出,重启

第二阶段
破坏方式2:rm -f /etc/fstab rm -rf /boot/*
效果:


两种状态都出现过

修复方法:进入救援模式,开启shell
fdisk -l 查看 ,用mount挂载找根(如果挂载上,目录下没有东西,证明不是根文件,卸载后重新挂载)

vim /mnt/sysimage/etc/fstab
/dev/sda2 / ext4 defaults 0 0
/dev/sda1 /boot ext4 defaults 0 0
/dev/sd5 swap swap defaults 0 0
后续修复同上一实验


重启后发现还是报错,进入救援模式发现grub.conf中文件名与文件不一致



grub下文件全部删除:修复方法:
重启;
进入救援模式
切跟,vim
kernel /vmlinuz-2.6.32-696.e16.x86_64(可用补全键) root=/dev/sda2
initrd /initramfs-2.6.32-696.e16.x86_64.img(可用补全键)
rboot,重启后再修复目录下的文件
示例1: rm -rf /boot/*
效果图:

修复方法:进入光盘救援模式;chroot /mnt/sysimage; mount /dev/sr0 /mnt; cp /mnt/isolinux/vmlinuz /booot/ ; cd /boot ; mkinitrd initramfs.img `uname -r`
grub-install /dev/sda
vim grub.conf
default=0
timeout=5
title linux
kernel /vmlinuz root=/dev/sda2
initrd /initramfs.img
方法2:进入救援光盘的救援模式: mkdir /mnt/cdrom ;mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-xxxx.rpm --root=/mnt/sysimage --force
chroot /mnt/sysimage
grub-install /dev/sda
vim /boot/grub/grub.conf
default=0
timeout=5
title linux
kernel /vmlinuz root=/dev/sda2 quiet rhgb(图形) selinux=0
initrd /initramfs.img
注意:如果boot不是独立分区,以上操作必须写kernel /boot/vmlinuz【grub.conf 文件中】
配置文件:/boot/grub/grub.conf <-- /etc/grub.conf ( 在此文件可配置启动菜单
例如:将kernel和initrd这两行调换位置,出现的结果,不能正常启动
修复方法 :选中该启动菜单,输入e修改内核参数,删除initrd行,且把该行内容写到kernel行后,启动后将配置文件修改为正确的
破坏方式3:rm -f /sbin/init
效果:

救援方法1:若有相同的其他设备,可配ip,切根后chroot /mnt/sysimage, rm -f (可删除软链接
拷贝 scp ip:/sbin/init /mnt/sysimage/sbin
方法2:rpm -ivh upstart (可安装该包)
进入救援模式
rpm2cpio /misc/cd/Packages/upstart-xxxx.rpm | cpio -tv 查看该包所包含的文件
rpm2cpio /misc/cd/Packages/upstart-xxxx.rpm | cpio -idv ./sbin/init 解压指定包到当前目录下

软件故障修复
rpm被卸载:
进入救援模式:mount 挂在光盘;rpm -ivh [包名称] --root=/mnt/sysimage/
计划任务语法错误时:@reboot root reboot的解决方案
cetos7
开机时选中默认内核摁e
在linux16行尾加rd.break Ctrl+x
mount -o remount.rw /sysroot
vi /sysroot/etc/crontab
cetos6
开机时选中默认内核摁a空格1回车
进系统再改一下etc/crontab
破解口令(centos6以下)
进入单用户
直接更改密码passwd
单用户设置密码
加密密码 grub-md5-crypt
在grub.conf中添加passwd --md5 [密文密码]
grub-crypt
passwd --encrypted [密文密码] ()

备份分区表
dd if=/dev/sda of=/data/mbr_bak bs=1 count=512
恢复分区表
dd if=mbr_bak of=/dev/sda
分区表克隆
dd if=/dev/sda of=/dev/sdb bs=1 count=512(两块磁盘容量必须相同)
### 回答1: CentOS 7救援模式是一种紧急情况下修复操作系统的模式。在遇到系统故障、引导问题或其他无法启动的情况下,我们可以进入救援模式来进行修复。 首先,我们需要从启动菜单中选择进入救援模式,通常会显示在启动选项列表中。选择该选项后,系统会重新启动,并进入到救援模式。 一旦进入救援模式,系统会提示你输入root用户的密码,以便获得root用户权限。在输入正确的密码后,我们可以执行各种救援操作。 常见的救援操作包括修复引导问题,修复文件系统错误,重新安装损坏的软件包等。这些操作可以通过命令行工具来完成,例如fsck命令用于修复文件系统错误,chroot命令用于在救援环境中挂载和操作root文件系统。 在修复完成后,我们可以执行reboot命令来重新启动系统,以确保修复效果生效。 在进行CentOS 7救援模式修复系统时,建议备份重要数据并了解所执行的操作的风险和潜在影响。此外,如果你对救援模式不太熟悉或不确定如何进行修复,请寻求专业人士的帮助。 ### 回答2: CentOS 7救援模式是一种用于修复系统的功能强大的工具。在故障发生时,可以使用这种模式来查找并解决问题。 要进入CentOS 7救援模式,你需要重启计算机并选择从Grub菜单中的相关选项启动。在启动过程中,你将看到一条提示信息,指示你按下某个键进入救援模式。 进入救援模式后,你将被提示选择所需的语言、键盘布局和其他一些配置选项。完成后,你将进入一个命令行界面,可以执行各种系统维护和修复任务。 在救援模式中,你可以执行各种任务,例如修复损坏的启动加载程序、修复损坏的文件系统、恢复被删除的文件、重置用户密码等。你可以使用各种命令和工具,如fsck、chroot、grub-install、passwd等来完成这些任务。 修复系统的具体步骤可能因问题和要解决的情况而异。通常情况下,你首先可以使用fsck命令来检查和修复文件系统错误。如果启动加载程序有问题,你可以使用grub-install命令重新安装引导加载程序。如果你遇到密码问题,你可以使用passwd命令来重置用户密码。 在进行任何操作之前,强烈建议先备份重要数据,以防止意外损坏或丢失。 总之,CentOS 7救援模式是一个非常有用的工具,可以帮助修复各种系统问题。但请谨慎操作,并确保你了解每个命令和操作的影响,以避免进一步损坏系统。如果你对系统修复不确定,建议寻求专业人士的帮助。 ### 回答3: CentOS 7救援模式是一种用于修复系统的模式,当系统出现问题无法正常启动或运行时,可以使用救援模式来恢复系统。以下是使用救援模式修复系统的步骤: 1. 首先,启动你的CentOS 7系统。在GRUB启动菜单中选择你要修复的CentOS 7版本,并按下"e"键进入编辑模式。 2. 在编辑模式中,找到以"linux16"开头的行,将其替换为"linux16 rescue"。然后按下Ctrl + x键启动救援模式。 3. 系统将提示你输入root密码,输入正确的密码后按下Enter键。如果你没有设置root密码,则直接按下Enter键。 4. 进入救援模式后,系统会自动加载必要的驱动程序和文件系统。一旦加载完成,你将看到一个类似于命令行的提示符。 5. 在这个提示符下,你可以使用各种命令来修复系统。例如,你可以使用"fsck"命令来检查和修复文件系统上的错误,使用"chroot"命令来切换到已安装的系统环境,然后执行其他维护任务,如重新安装引导程序。 6. 修复完成后,你可以输入"exit"命令退出救援模式,并重新启动你的系统。 需要注意的是,在救援模式下进行任何操作都要小心谨慎,确保了解每个命令的作用和影响。如果你不确定某个命令的用法,请参考相关文档或向专业人士寻求帮助。此外,建议在进行任何重要操作之前备份你的数据,以防止意外数据丢失。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值