linux中系统修复

1. 引导文件丢失
(1)引导文件所在路径
/boot/grub2/grub.cfg
需提前知道根目录所在分区和内核版本
linux中系统修复_第1张图片
uname -r 查询内核版本命令
在这里插入图片描述
模拟问题
rm -fr /boot/grub2/grub.cfg
一不小心把这玩意儿给删了,还reboot了
完了以后机子开不了了就这情况
linux中系统修复_第2张图片
抢救方法:
set root=‘hd0,msdos1’
linux16 /vmlinuz-3.10.0-514.el7.x86_64 ro root=/dev/vda3 内核版本指定本机的,位置指定根目录所在分区
initrd16 /initramfs-3.10.0-514.el7.x86_64.img 内核版本指定本机的
这就哦了,但可别reboot了,不然能这样玩一年,记着是boot
linux中系统修复_第3张图片
这就好了,可以进去了,
进去之后呢还要恢复引导文件,因为刚才只是临时的修复,下次开机还是会出现这样的报错。
grub2-mkconfig > /boot/grub2/grub.cfg 恢复引导文件
linux中系统修复_第4张图片
2. 内核文件丢失
/boot/vmlinuz-3.10.0-514.el7.x86_64 内核文件
直接删,完了reboot看一下啥情况
linux中系统修复_第5张图片
抢救:
首先关闭虚拟机
新添加一个光驱硬件
linux中系统修复_第6张图片
然后进入抢救模式
linux中系统修复_第7张图片
linux中系统修复_第8张图片
进去之后在看
linux中系统修复_第9张图片
选第一个继续
然后会有个shell

    chroot /mnt/sysimage/	       切换到真实根目录下
    mount  /dev/cdrom /media/
    cp /media/Packages/kernel-3.10.0-514.el7.x86_64.rpm /mnt/
    cd /mnt/
    rpm2cpio kernel-3.10.0-514.el7.x86_64.rpm | cpio -id   从rpm包中提取文件
    cd boot/
    cp vmlinuz-3.10.0-514.el7.x86_64 /boot/     复制缺失的内核文件到/boot下

linux中系统修复_第10张图片
完了之后关闭虚拟机,更改从磁盘启动,即可恢复正常

3. 系统初始化镜像文件丢失
/boot/initramfs-3.10.0-514.el7.x86_64.img 系统初始化镜像文件
直接删了看会怎样, reboot一下,直接完,进不去
如果没重启:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) linux中系统修复_第11张图片
没重启这样就好,如果重启了
需要进入挽救模式
linux中系统修复_第12张图片

chroot /mnt/sysimage/	       切换到真实根目录下
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)    $(uname -r)表示当前内核版本

linux中系统修复_第13张图片
4. /boot/分区丢失
rm -fr /boot/* 删除/boot分区下所有文件
解决方法
进入挽救模式
在命令行输入:

        chroot /mnt/sysimage/			##切换到真实根目录下
        grub2-install /dev/vda			##/boot所在分区
        mount /dev/cdrom /opt/	
        cp /opt/Packages/kernel-3.10.0-514.el7.x86_64.rpm /mnt/
        cd /mnt/
        rpm -ivh kernel-3.10.0-514.el7.x86_64.rpm --force		##安装
        grub2-mkconfig > /boot/grub2/grub.cfg			##导入引导文件

linux中系统修复_第14张图片
两次exit 关闭虚拟机,以便于对硬件进行操作,设置最先执行硬盘就哦了。

5. 开机启动级别被篡改
想不想让你的电脑进入无限月读模式
试一下操作,感觉自己鼬神附体

/etc/systemd/system/default.target		##删除原有的开机级别
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target   更改重启为新开机级别

解决方法
开机后在系统选择页面按e,在以linux16开头的那行的最后面加个5,ctrl+x即可正常进入系统
linux中系统修复_第15张图片
进入系统后
systemctl set-default graphical.target 恢复正常开机启动级别
在这里插入图片描述

6. 忘记root密码
在开机时进入系统选择界面,按“e”进入编辑模式
linux中系统修复_第16张图片
在linux16 /vmlinuxz-3.10.0-514.e17.x86_64 行修改,,删除ro后面的内容,将ro改为rw,并在后面添加 rd.break修改完后ctrl+x运行
linux中系统修复_第17张图片
在这里插入图片描述

在命令界面输入

   chroot   /sysroot/                                ##从内核模式切换到shell模式
   echo  westos | passwd  --stdin  root              ##设置密码为westos
   touch   /.autorelabel                             ##建立密码认证文件

linux中系统修复_第18张图片
这就改好了

你可能感兴趣的:(Linux中系统修复)