系统排错

1.系统启动流程

通电                                     ------> 启动init程序进入初始化阶段

 |                                          |                      |

bios初始化                           |           启动systemed初始化进程

 |                                          |                      |

grub2磁盘引导阶段              |             /etc/systemd/中的文件

 |                                          |                      |

grub2文件引导阶段              |             启动程序

 |                                          |                      |

制定boot所在分区                |             启动登陆环境

 |                                          |

启动内核,只读挂载设备       |

 |                                          |        

  --------------------------->

 

 2.各个阶段出错时的解决办法

通电

  ||

bios(主板上的只读存储中,basic input or output system)

作用,硬件检测,激活硬件

  ||

grub系统引导(grub引导分为两个阶段)

1)阶段1 mbr(主引导记录)主引导记录在硬盘上的0磁道,一扇区,446个字节

*)dd if=/dev/zero of=/dev/vda bs=446 count=1 可以清空mbr

清空mbr的解决方案

   virt-manager

   双击server,添加IDE cdrom 在本地iso/选择7.0的虚拟机镜像-finish

 关闭virt-manager再次进入,会看到cdrom被添加到硬盘,将BOOT OPINIONS添加cdrom,把cdrom默认顺序调整到第一个-apply


   进入光盘启动模式,选择troubleshooting-->rescue....一路回车

   


*)进入到挽救模式,执行chroot /mnt/sysimage切换到真实环境,

   并执行grub2-install /dev/vda

   两次exit






   BOOT OPINIONS中将cdrom的顺序调整为最后一个


   重新启动

  (温馨提示:重启之前设置selinux=disabled,否则重启将非常慢)

2)阶段2 grub文件引导阶段

   找到/boot分区

   读取/boot/grub2/grub.cfg

   文件丢失,grub2-mkconfig >/boot/grub2/grub.cfg

   手动引导:  set root='hd0,msdos1'

             linux16 /boot/vmlinuz-3.10.0-327.el7.x86_64 ro root=/dev/vda1

             initrd16 /boot/initramfs-3.10.0-327.el7.x86_64.img

             boot


   进入系统后需要grub2-mkconfig >/boot/grub2/grub.cfg,否则下次进入系统时还需手动引导

     ||

内核引导阶段

启动内核,只读挂载/设备

检测设备

对设备驱动进行初始化

进入系统初始化阶段

内核丢失,从新安装内核安装包就可以解决

rpm -ivh kernel-xxxxx.rpm --force

在镜像中找到kernel-3.10.0-123.el7.x86_64.rpm 安装包

复制到桌面

rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id #解压 i=input d=dir

解压后的rpm有boot lib etc三个文件夹 其中内核文件在boot文件夹中

cp boot/vmlinuz-3.10.0-123.el7.x86_64 /boot/ #将内核文件复制到/boot

 

若丢失内核文件后重启,则需进入挽救模式

cd /run/install/repo #进入光盘中

cp Packages/kernel-3.10.0-123.el7.x86_64.rpm /mnt/sysimage/mnt #复制安装包到真实根下的mnt中

chroot /mnt/sysimage/    #切换到真实系统环境

rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id #解压 i=input d=dir

cp /mnt/boot/vmlinuz-3.10.0-123.el7.x86_64 /boot/ #将内核文件复制到/boot

用硬盘重启

 

   ||

系统初始化阶段

系统初始化阶段加载initrd镜像

开启初始化进程systemd

开始selinux

加载内核参数

初始化系统时钟,键盘,主机名称

重新读写挂载/设备

激活raid,lvm

激活配额

启动multi-user.target.wants中的所有服务

开启虚拟控制台

启动图形

 

initramfs-`uname -r`.img丢失用:#uname查看内核版本号 ``表示优先运算 ``=$() $()兼容性更好

mkinitrd initramfs-`uname -r`.img `uname -r`

恢复

若丢失后关机则进入挽救模式切换到真实系统环境执行上述命令

 

若将shutdown设为了开机自启动,如下

systemctl set-default shutdown.target

在进入系统时按上下键编辑 linux16那一行行尾加入5 设定开机启动级别


systemctl set-default graphical.target  #恢复默认开机启动级别

启动级别

runlever0.target-->poweroff.target

runlever1.target-->rescue.target

runlever2.target-->multi-user.target

runlever3.target-->multi-user.target

runlever4.target-->multi-usertarget

runlever5.target-->grapical.target

runlever6.target-->reboot.target

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

系统排错

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭