系统启动过程的排错

/dev/vda虚拟机下第一块硬盘,他挂在哪,哪就是这个虚拟机的家目录
/dev/sr0就是CDROM

fdisk -l
/dev/vdal后的*在哪里,启动分区就在哪里
把446字节用空盖住

先搞坏虚拟机(在虚拟机管理器中)
vim /etc/sysconfig/selinux先把火墙关掉(这样做,一会重启的时候火墙不用重置,速度会快一点)

这里写图片描述

dd if=/dev/zero of=/dev/vda bs=446 count=1把引导开机的446字节用‘空’盖住
reboot重启
起不来(因为系统读完446字节后找不到被引导到哪)

这里写图片描述

修复虚拟机
先Force off虚拟机
然后点那个灯泡(Show vitual hardware details)
里面没有光盘图标
Add Hardware-Storage添加光盘(选择镜像所在位置建立IDE CDROM)

这里写图片描述

Boot Options 使系统先启动光盘

这里写图片描述

应用后启动虚拟机(进来之后使黑的文本界面:进入挽救模式(重装Windows的话Linux会遇到问题,需要进入挽救模式))
Troubleshooting

这里写图片描述

Rescue a Red Hat Enterprise Linux system

这里写图片描述

在这个蓝色背景的界面会反复提醒你设备被挂在/mnt/sysimage

这里写图片描述

这里写图片描述

这里写图片描述
chroot /mnt/sysimage指定根分区(因为配置文件在/etc,不然配置不了),df查看

这里写图片描述

这里写图片描述

grub2-install /dev/vda (启动分区所在硬盘)
两次退出自动重启

这里写图片描述

这里写图片描述

开机后
先读mbr
之后读/boot

vim /boot/grub2/grub.cfg

grub的自动引导文件:
1)hd0第一块硬盘 dos分区方式的第一个硬盘
2)内核
3)启动初始化镜像(把所有的配置文件,有镜像提供)

这里写图片描述

1)引导文件丢失
rm -rf /boot/grub2/grub.cfg删除引导文件(模拟引导文件丢失)
grub2-mkconfig > /boot/grub2/grub.cfg(如果每重启的话这样就可以恢复了)

这里写图片描述

rm -rf /boot/grub2/grub.cfg删除引导文件
reboot
grub > set root=’hd0,msdos1’此位置不
固定,位置指定在/boot所在分区
grub > linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1 /分区的设备名称
grub > initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img
grub > boot
grub2-mkconfig > /boot/grub2/grub.cfg

这里写图片描述

例如真机中
/boot在/dev/sda6 挂载,则第一行’hd0,msdos6’
/ 在/dev/sda8 挂载,则第二行grub > linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda8

这里写图片描述

以上操作可以使系统正常启动。但是使临时的,所以进入系统后还需要执行
grub2-mkconfig > /boot/grub2/grub.cfg
就变成永久的了

这里写图片描述

2)系统选择界面(/boot)
时间
vim /boot/grub2/grub.cfg
63.67行时间一定要一致
reboot
更改后,停留在选择系统界面的时间就改为所设定时间

这里写图片描述

这里写图片描述

标题
vim /boot/grub2/grub.cfg
70行之后的###BEGIN /etc/grub.d/10_Linux###中改(假设电脑是双系统)
名称随便起
set root=’hd0,msdos1’ c盘位置
chainloader +1 引导程序
之后选择系统界面就会有刚才设定的系统

这里写图片描述

这里写图片描述

顺序
grub2-set-defaule 1(先启动第二个)
PS:0是第一个,1是第二个

这里写图片描述

这里写图片描述

3)内核文件丢失
rm -rf /boot/vmlinuz-3.10.0-123.e17.x86_64(删掉内核文件)

这里写图片描述

这里写图片描述

进入挽救模式
chroot /mnt/sysimage
mkdir /rhel7
mount /dev/sr0 /rhel7
cd /rhel7/Packages
cp kernal-3.10.0-123.e17.x86_64.rpm /mnt
cd /mnt
rpm2cpio kernal-3.10.0-123.e17.x86_64.rpm | cpio -id(以cpio的压缩格式解压,分解成几个,找到我们需要的那个 -id以目录的形式输出)
cd boot
cp vmlinuz-3.10.0-123.e17.x86_64 /boot
两次退出后自动重启,恢复成功
grub2-mkconfig > /boot/grub2/grub.cfg

3)镜像文件丢失
rm -rf initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img

这里写图片描述

没重启:
mkinitrd /boot/initramfs- (unamer).img (uname -r)
就好了

重启了:
进到挽救模式中
chroot /mnt/sysimage
mkinitrd /boot/initramfs- (unamer).img (uname -r)
会有个报错,不影响
退出两次自动重启

这里写图片描述

4)/boot丢失
rm -rf /boot

这里写图片描述

进入挽救模式
chroot /mnt/sysimage
mkdir /boot
grub2-install /dev/vda(修复446文件指向)
mkdir /rhel7
mount /dev/sr0 /rhel7
cd /rhel7/Packages
rpm -ivh kernal-3.10.0-123.e17.x86_64.rpm –force
grub2-mkconfig > /boot/grub2/grub.cfg
退出两次自动重启

4)当开机启动级别被篡改
systemctl set-default reboot.target
开机按上下键停止读秒
按‘E’进入编辑模式
选择内核启动行
linux16 /vmlinuz-xxxxxxx ro xxxxxx改编为:
linux16 /vmlinuz-xxxxxxx rw rd.break
ctrl +x

进入挽救模式
chroot /sysroot
rm -rf /etc/systemd/system/default.target
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target

5)超级用户忘记密码
开机按上下键停止读秒
按‘E’进入编辑模式
选择内核启动行
linux16 /vmlinuz-xxxxxxx ro xxxxxx改编为:
linux16 /vmlinuz-xxxxxxx rw rd.break
ctrl +x

进入挽救模式
chroot /sysroot
passwd
给新密码
再输一边
touch /.atuorelabel创建初始化SELinux文件
退出两次自动重启

PS:格式化U盘 mkfs/vfat /dev/vdb

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值