本文主要是介绍RH134-第十九节-系统恢复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
系统修复
下面所有的操作都网卡启动或者光驱cdrom,从cdrom启动系统引导进入到拯救环境
mbr 分区前446个字节坏了
比如:dd if=/dev/zero of=/dev/vda bs=446 count=1
进入挽救模式后,执行 grub2-install /dev/vda
/boot/grub2/grub.cfg丢失
真实环境中我们可以用一条命令生成grub2-mkconfig生成这个文件并且重定向到丢失的文件中:grub2-mkconfig > /boot/grub2/grub.cfg
以这个思路,我们在拯救环境中直接切换到真实的系统环境中用上面的命令就可以生成,完成修复系统,但是在进入真实系统之前启动会停留在grub的shell里面,需要执行以下命令在重启,执行grub2-mkconfig。
set root=’hd0,msdos1’ ##hd0 代表第一块硬盘,msdos1 代表第一个分区(视具体而定)
linux16 /vmlinuz-3……..ro root=/dev/vda1 (boot分区)
initrd16 /initramfs-3….. .img
boot
grub2-mkconfig > /boot/grub2/grub.cfg ##真实系统环境生成丢失文件
/boot/grub2/目录丢失
思路跟上面一样,真实环境中用grub2-install 可以生成
故拯救环境中还是切换到系统真实环境,在用命令生成
chroot /mnt/sysimages ##切换到真实系统环境
grub2-install ##生成目录
推出拯救环境,重启动,一切ok
/boot/vmlinuz-3.10.0-327.el7.x86_64文件丢失
分析:这个文件源于内核,故找到内核的安装包拆包拷贝到真实环境的/boot目录里面就可以解决了。
光驱环境:
进入到拯救环境,df查看到光驱cdrom挂载在/run/install/repo上,找到repo找到Packages里面的kerner-………….. .rpm
rpm2cpio /run/install/repo/Packages/kerner……… .rpm | cpio -id
cd boot
cp vmlinuz-3.10.0-327.el7.x86_64 /mnt/sysimage
reboot ,搞定。
网卡环境:
下载镜像里的 Packages/kernel-3……..rpm
rpm2cpio kernel-3…. | cpio -id
解压后会有一个boot目录
在boot目录里面拷贝丢失的文件到 /boot 下就ok了
初始化镜像initramfs-3.10.0-327.el7.x86_64.img丢失
分析:这个也是可以通过命令生成的,故进如拯救环境中再切换到真实环境命令生成即可
chroot /mnt/sysimages ##切换到真实系统环境
mkinitrd /mnt/sysimage/boot/initramfs- (uname−r).img (uname -r)
这里说一下,$(uname -r)表示当前系统内核版本号,uname -r可以查看当前系统内核版本号,生成的时候注意,最后还有一个内核版本号,不可写丢了
等带生成完成,退出拯救环境,重启ok
/boot误删
分析:系统启动第一步读取grub2里面的相关文件,其次安装内核(安装的时候报错,–force安装)
进入挽救环境,切换到真实系统环境
chroot /mnt/sysimages ##切换到真实系统环境
grub2-install ##生成目录
rpm -ivh /run/install/repo/Packages/kerner-……….. .rpm –force ##安装内核(包含initramfs-3….文件和vmlinuz……文件)
grub2-mkconfig >/boot/grub2/grub.cfg ##生成启动界面的配置文件
重启动,一切ok
systemctl set-default + 启动级别
• /etc/systemd/system/default.target
这篇关于RH134-第十九节-系统恢复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!