码迷,mamicode.com
首页 > 其他好文 > 详细

系统修复

时间:2019-11-18 21:57:04      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:登录   ls -l   第一步   emc   rpm   功能   systemctl   计算机   检查   

1. BIOS详解
BIOS(Basic Input/Output System),基本输入输出系统,该系统存储于主板的ROM芯片上,计算机在开机时,会最先读取该系统,然后会有一个加电自检过程,这个过程其实就是检查CPU和内存,计算机最基本的组成单元(控制器、运算器和存储器),还会检查其他硬件,若没有异常就开始加载BIOS程序到内存当中。详细的BIOS功能,这边就不说了,BIOS主要的一个功能就是存储了磁盘的启动顺序,BIOS会按照启动顺序去查找第一个磁盘头的MBR信息,并加载和执行MBR中的Bootloader程序,若第一个磁盘不存在MBR,则会继续查找第二个磁盘(PS:启动顺序可以在BIOS的界面中进行设置),一旦BootLoader程序被检测并加载内存中,BIOS就将控制权交接给了BootLoader程序。

1.系统启动流程
技术图片

第一步: 电脑通电

第二步: BIOS(主板上的只读存储ROM中,basic input or output system)
作用,硬件检测,激活硬件

第三步: grub系统引导(grub引导分为两个阶段)
1)阶段1 grub磁盘引导阶段
mbr(主引导记录)主引导记录在硬盘上的0磁道,一扇区,446个字节
(MBR(Master Boot Record),主引导记录,MBR存储于磁盘的头部,大小为512bytes,其中,446bytes用于存储BootLoader程序,64bytes用于存储分区表信息,最后2bytes用于MBR的有效性检查。
)
1./dev/zero of=/dev/vda bs=446 count=1 可以清空mbr
1)chroot /mnt/sysimage切换到真实/环境,
并执行grub2-install /dev/vda
2)阶段2 grub文件引导阶段
找到/boot分区
读取/boot/grub2/grub.cfg /etc/grub.cfg
文件丢失,grub2-mkconfig >/boot/grub2/grub.cfg
grub2-mkconfig > /etc/grub.cfg
技术图片技术图片技术图片技术图片

第四步: 内核引导阶段:

  1. 启动内核,只读挂载/设备
    2.检测硬件设备
    3.对设备驱动进行初始化
    4.进入系统初始化阶段, 挂载
    内核丢失,从新安装内核安装包就可以解决
    方法一: rpm -ivh kernel-xxxxx.rpm --force
    方法二:
    1.在virt-manager里面,将光驱 IDE CDROM1 放在开机启动项第一位,启动主机进入挽救模式
    2.chroot /mnt/sysiamge 将系统挂载更改到根目录下
    3.mount /dev/sr0 /westos 将光盘文件挂载
    4.cd /westos/ 切换到光盘挂载点
    5.ls 查看光盘中的文件
    6.cd Packages/ 切换到安装包目录中(记住,不要ls,有4000多个包)
    7.cp kernel-3.10.-123.e17.x86_64.rpm /mnt/
    将这个文件包拷贝到/mnt/下,因为在光盘目录中不能进行拆包
    8.cd /mnt/ 切换到/mnt/
    9.ls 查看/mnt/下拷贝过来的文件包
    10.rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id
    拆包
    11.ls 查看包中的文件
    12.pwd 查看当前路径
    13.cd boot/ 切换到包中的boot/目录下
    14.ls -l 包中存在内核文件
    15.cp vmlinuz-3.10.0-123.e17.x86_64 /boot/
    将内核文件拷贝到系统的/boot/目录下

    16.exit 退出chroot更改的根目录
    exit shell窗口
    技术图片

第五步: 系统初始化阶段
1.系统初始化阶段加载initrd镜像
initrd镜像丢失如何解决?
initramfs-uname -r.img丢失用:
mkinitrd initramfs-uname -r.img uname -r

**方法一:**
1.当系统没有重新启动时
uname -r ##系统当前版本
1)mkinitrd /boot/initramfs-`uname ?r`.img `uname -r`                            生成系统初始化镜像
initramfs是/boot/grub2/grub.cfg  文件已经写好的,不能更改
2)mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)  ##生成系  统初始化镜像

**方法二:**

1)进入到挽救模式
1..chroot /mnt/sysiamge 使用超级用户
2.mkinitrd /boot/initramfs-uname ?r.img uname -r 生成系统初始化镜像
重启速度会慢一点
原因:重新扫描selinux
解决:将/etc/sysconfig/selinux中enforcing改成disabled
技术图片
第六步: 开启初始化进程systemd
1.开始selinux
2.加载内核参数
3.初始化系统时钟,键盘,主机名称
4.重新读写挂载/设备
5.激活raid,lvm
6.激活配额
启动multi-user.target.wants中的所有服务(具体开启的服务取决于系统启动的级别)
7.开启虚拟控制台
8.启动图形
如何修改系统启动级别?
系统启动级别
(init 0)runlever0.target -> poweroff.target
runlever1.target -> rescue.target
runlever2.target -> multi-user.target
(init 3)runlever3.target -> multi-user.target
runlever4.target -> multi-user.target
(init 5)runlever5.target -> graphical.target
(init 6)runlever6.target -> reboot.target
技术图片技术图片技术图片
方法一: systemctl set-default + 启动级别
方法二: /etc/systemd/system/default.target

第七步: 用户名密码登录
忘记密码如何解决?
1.开机按上下健停止读秒
2.按E进入编辑模式
3.选择内核启动行
Linux16 /vmlinuz-xxxxx ro xxxx 改为:
Linux16 /vmlinuz-xxxxx rw rd.break ##在内核启动完成后终止系统初始化程序的执行
4.启动系统 ctrl+x
Chroot /sysroot
Echo westos |passwd --stdin root
Touch /.autorelabel ##重新初始化selinux,当selinux未开启时不需要操作
技术图片

系统修复

标签:登录   ls -l   第一步   emc   rpm   功能   systemctl   计算机   检查   

原文地址:https://blog.51cto.com/14569275/2451181

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!