1 . CentOS6.9启动流程

  • POST 加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘、CD-ROM光驱等硬件情况的检测。
  • Boot Sequence(BIOS) 加载BIOS的硬件信息,获取第一个启动设备
  • Boot Loader MBR ,引导加载器,引导程序
  • Kernel(ramdisk) 加载核心操作系统的核心,加载硬件驱动
  • rootfs 只读
  • switchroot 主根(init | systemd)
  • /sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别
  • 系统初始化脚本 rc.sysinit,完成系统初始化 --> 关闭或启动对应级别的服务
  • 启动终端

2 . /boot/中ramdisk文件恢复

rm -rf initramfs-2.6.32-696.el6.x86_64.img

  • 意外删除ramdisk文件机器未重启时,恢复ramdisk文件方法:

  • mkinitrd /boot/initramfs- $(uname -r).img $(uname -r)

    为当前正在使用的内核重新制作ramdisk文件,基于内核的,所以参数要给定当前内核版本号。容纳后语句会自动生成文件 [initramfs-2.6.32-696.el6.x86_64.img]
  • dracut /boot/initramfs-$(uname -r).img $(uname -r)

    效果同 mkinitrd 一样
  • 意外丢失ramdisk文件后,重启机器,恢复方法:

  • 使用光盘引导,进入救援模式。

    最后使用 shell start shell 进入光盘系统。
  • df 查看 系统根目录为:/dev/sda2 /mnt/sysimage
  • chroot /mnt/sysimage/ 将根从光盘系统的根切换到主机系统的根,从而去修复主机系统。

    使用的方法是,没重启前的恢复方法。

    * -->#--> mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)*

    * -->#--> dracut /boot/initramfs-$(uname -r).img $(uname -r)*

    完成后重新启动即可【SElinux启用状态时,开机时,给主机全部文件打上标签,最好重启前关闭SElinux】

3 . 核心文件/boot/vmlinuz- VERSION -release,意外丢失后恢复方法。

重启后的状态:

  • 修复方法:

  • 进入救援模式,如果不需要网络功能可以先不配,一直跳过即可
  • 创建一个空文件 /mnt/cdrom,并且将光盘/dev/sr0挂载到空文件上
  • 使用rpm -ivh /mnt/cdrom/Packages/kernel-VERSION.rpm --force【强制重新安装】--root=/mnt/sysimage【指明主机根目录】
  • 安装完成后,等待内存写入磁盘,sync 同步数据,重启即可。

4 . 在启动第一阶段错误,MBR引导的第一个扇区中446字节,丢失或损坏时。

重启后状态直接进入光盘引导页面,因为主机硬盘没有MBR启动引导,机器BIOS会自动寻找有启动引导的东西来启动。

  • 修复方法1:

  • 进入bash shell后,切到主机的根`chroot /mnt/sysimage/`
  • 运行 grub-install /dev/sda 命令【给主机硬盘修复grub所有启动操作】
  • 修复方法2:

    • 使用交互式命令 grub
    • 交互输入 root(hd#,#)【描述boot所在的硬盘编号,和硬盘里第几个扇区】
    • setup(hd#) 安装即可

      【grub 交互式命令来修复,依赖/boot/grub/stage1文件】

5 . 破环grub启动中 1.5阶段 mbr之后的27个扇区,让1阶段中bootloader能识别2阶段所在的分区上的文件系统

重启后提示【没有了文件系统驱动,无法识别2阶段,所以凉了】

  • 修复方法:

  • 进入光盘引导,救援模式
  • 切到主机的根 chroot /mnt/sysimage/
  • 使用grub-install /dev/sda 命令修复即可
  • 命令执行完后,建议sync同步数据,将数据从内存写入硬盘后,重启即可

    【grub-install命令可以一键修复1阶段,1.5阶段,2阶段,非常强大。但是grub.conf文件无法修复,只能手写grub.conf配置文件】

6 . 启动第二阶段,grub.conf文件丢失或这损坏,第二阶段就无法启动。

  • grub.conf文件的格式

#boot=/dev/sda
default=0 #默认启动那一个系统
timeout=5 #倒计时5秒后,使用默认系统启动
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-696.el6.x86_64) #开启内核列表
root (hd0,0) #系统默认的根,就是/boot 目录,定义根的位置 在哪个磁盘,哪个扇区
kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=93131fa4-d1bc-4442-b42f-215a7bb7a273
【rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet】【这些内容不写,也可以正常启动,只是一些属性配置设置】
initrd /initramfs-2.6.32-696.el6.x86_64.img
  • 修复方法:

  • 进入光盘挂载救援模式
  • 切根 chroot /mnt/sysimage
  • 进入/boot/grub里创建 grub.conf文件
	default=0
timeout=5
title centos6
kernel /vmlinuz-VERSION.img ro【只读的意思,为了安全要加,加不加都可以】root=UUID=..【主机根目录】....
initrd /initramfs-VERSION.img

7 . 当/boot 整个文件夹被清空,恢复系统操作

重启后错误提示:

  • 修复方法:

  • 光盘引导,进入救援模式
  • 切根chroot /mnt/sysimage 切入主机根
  • 主机上挂载光盘 mount /dev/cdrom /mnt
  • 重新强制安装内核 rpm -ivh /mnt/Packages/kernel-VERSION.rpm --force 【sync命令,同步数据】
  • grub-install /dev/sda 修复 第1 第1.5 第2 阶段
  • /boot/grub/目录下缺少 grub.conf文件,手动写入
  • UUID地址可以用 vim指令读入 blkid /dev/sda2命令显示内容,或者直接写root=/dev/sda2 也可以

    ![](http://i2.51cto.com/images/blog/201801/02/69ff041e99811ff1242dfef556d64118.png
  • 第二种情况,/boot/下所有文件丢失、/etc/fstab文件也丢失,根都挂载不上去,首先需要修复 fstab 文件
  • blkid 命令 和 fdisk -l 命令 ,查看磁盘分区和UUID ,尝试找到 根 分区和 boot/ 分区,手动写 fstab 文件 。【看分区大小,或者 将分区挂载到文件目录,查看分区中的内容,判断分区是否为根】
  • 简单写一下 fstab文件

  • 重启启动,进入救援模式,可以挂载上根了。
  • 后续恢复方法,同/boot 被清空的 修复方式一样即可。

8 . 系统主进程丢失 ,/sbin/init 丢失,错误提示:

  • 恢复方法:

  • 在开机,进入系统内核选择菜单,按 e 键 ,在选中内核 按e键, 在最后,添加 init=/bin/bash ,用 bash替代init,然后保存 继续启动。
  • 这时候,进入的是根的 只读挂载模式 使用 mount -o remount,rw / 重新挂载根,读写权限。
  • 将光盘挂载,然后使用 rpm -ivh /mnt/Packages/upstart-xxxxxxx.rpm --force 强制安装 init 进程程序的包。即可[可tab 补全]

Linux-CentOS6.9启动流程排错的更多相关文章

  1. Linux操作系统-CentOS7启动流程和服务管理

    Linux操作系统-CentOS7启动流程和服务管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.systemd POST --> Boot Sequence --&g ...

  2. linux系统的启动流程梳理

    1. 不同版本的linux系统的启动流程 1.1 centos6.x系统的启动流程 其详细启动步骤如下: 1)开机,BIOS自检,检查各个硬件是否正常 2)读取硬盘MBR信息,引导系统启动 3)加载g ...

  3. Linux系统文件与启动流程

    Linux系统文件与启动流程 /etc初始化系统重要文件 /etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件 /etc/resolv.conf:Linux ...

  4. Linux系统的启动流程

    Linux系统的启动流程: 1.通电(通常按下电源键,开始通电) 2.加载BIOS (通常看到显示器提示按F2进入主板) 3.读取MBR (MBR硬盘的入口地址,用来装载引导) 4.进入引导 (通常有 ...

  5. Linux的开机启动流程

    Linux的开机启动流程 1.开机BIOS自检                                             --> 检查CPU,硬盘等硬件信息 2.MBR[Major ...

  6. 2021年3月-第01阶段-Linux基础-Linux系统的启动流程

    Linux系统的启动流程 理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进而解决问题. 上图为Linux操作系统启动流程 1.加载BIOS 计算机 ...

  7. Linux系统的启动流程以及做个小小的Linux

    内核的作用     进程管理:进程间切换     内存管理:内存空间分割为内核空间和用户空间     IO管理:对底层硬件的使用必须由内来实现,不能由用户空间进程来实现     文件系统管理     ...

  8. centos6/7启动故障排错

    centos6启动流程修复: 实验一:删除initramfs-2.6.32-754.el6.x86_64.img进行恢复 该文件很重要initramfs-2.6.32-754.el6.x86_64.i ...

  9. [转] 浅谈Linux系统的启动流程

    原文:http://blog.csdn.net/justdb/article/details/9621271 版权声明:本文为博主原创文章. Linux系统的启动时通过读取不同的配置文件,执行相应的S ...

随机推荐

  1. blur和focus的运用

    这两个事件不仅仅只能运用与input.span之类的元素.还可以运用于window. 可以切换title. 当切换当前页面时,改变title的文字为‘离开了’. <!DOCTYPE html&g ...

  2. centos虚拟机安装指定版本docker

    环境: centos 7.6+ docker-ce 17.03.2 安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 ...

  3. swift3.0 项目引导页

    项目引导页并不难,使用 UICollectionView就可以完成, 1.首先获取应用程序的版本号,并存入本地,每次有新版本号,和存入本地的版本号,相比较 fileprivate func setup ...

  4. 初学Android,创建,启动,停止Service(五十八)

    Service跟Windows系统里的服务概念差不多,都在后台执行,它跟Activity的最大区别就是,它是无界面的 开发Service与开发Activity的步骤类似 1.定义一个继承Service ...

  5. Linux命令-4类

    一.系统管理与维护   1. pwd:print working directory    打印工作目录   2. cd:  change directory    改变或进入路径       ● c ...

  6. 真正的S2b其实是S2b2c

    本文转自阿里参谋长曾鸣:真正的S2b其实是S2b2c! 在<在未来五年,S2b是最有可能领先的商业模式>这篇文章发表之后,曾鸣书院收到了非常多的反馈,看到很多实践和思考. 在这篇文章中,曾 ...

  7. 本号讯 | 微软和百度携手推进全球自动驾驶技术; 微软发布新一代可垂直可水平滚动的Arc鼠标

    7 月 13 日,微软宣布了与宝马的最新合作进展,继语音助手 Cortana .云服务 Azure.Office 365 和微软 Exchange 安装在部分宝马车型后——Skype for Busi ...

  8. UESTC 1307 WINDY数 (数位DP,基础)

    题意: windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数.windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 思路: 就是给连续的两 ...

  9. 洛谷 P2380 狗哥采矿

    题目背景 又是一节平静的语文课 狗哥闲来无事,出来了这么一道题 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少.最北边有blog ...

  10. 51nod 1276 岛屿的数量

    题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 有N个岛连在一起形成了一个大的岛屿,如果海平面上升超过某些岛的高度时,则这个岛会被淹没 ...