/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

相关文章:

  • 2021-12-04
  • 2021-08-16
  • 2021-08-02
  • 2022-01-17
  • 2021-08-14
  • 2022-03-05
猜你喜欢
  • 2021-07-16
  • 2021-11-10
  • 2021-12-16
  • 2021-06-04
  • 2021-09-11
  • 2021-12-25
相关资源
相似解决方案