美文网首页Linux
33.Linux开机过程及启动故障修复

33.Linux开机过程及启动故障修复

作者: 扶桑啊啊 | 来源:发表于2018-06-04 13:49 被阅读0次

    一、Linux系统启动

    Linux系统启动过程如下:

    initramfs镜像用来启动系统,解压后是一个临时的根目录。

    用file查看initramfs-2.6.32-696.el6.i686.img的文件类型为gzip压缩文件,将它改为gz格式,解压缩。

    解压后得到一个initramfs-2.6.32-696.el6.i686.img,查看文件类型为ASCII,继续解压。

    开机由/etc/rc.d/rc.sysinit初始化,此文件主要功能设置有

    1.获得网络环境

    2.挂载设备

    3.开机启动画面Plymouth

    4.判断是否启动SELinux

    5.显示于开机过程中的欢迎画面

    6.初始化硬件

    7.用户自定义模块的加载

    8.配置内核的参数

    9.设置主机名

    10.同步存储器

    11.设备映射器及相关的初始化

    12.初始化软件磁盘阵列(RAID)

    13.初始化LVM的文件系统功能

    14.检验磁盘文件系统

    15.设置磁盘配额(quota)

    16.重新以可读写模式挂载系统磁盘

    17.更新quota(非必要)

    18.启动系统虚拟随机数生成器

    19.配置机器(非必要)

    20.清除开机过程当中的临时文件

    21.创建ICE目录

    22.启动交换分区(swap)

    23.将开机信息写入/var/log/dmesg文件中

    运行级别参数传入/etc/rc.d/rc这个脚本之后,由这个脚本文件按照不同的运行级别启动/etc/rc[0-6].d目录中的相应的程序

    /etc/rc3.d/k??开头的文件,会按照数字顺序依次关闭

    /etc/rc3.d/S??开头的文件,会按照数字顺序依次启动


    二、grub工具及配置文件

    grub允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。grub中分区含义如表所示

    grub配置文件/etc/grub/grub.conf

    参数含义

    default=0   //默认启动第一个系统

    timeout=5  //等待时间,默认是5秒

    splashimage=(hd0,0)/grub/splash.xpm.gz  //指定grub启动时的背景图像文件的保存位置

    hiddenmenu  //隐藏菜单

    title CentOS 6 (2.6.32-696.el6.i686)   //标题

    root (hd0,0)  //指启动程序的保存分区

    kernel /vmlinuz-2.6.32-696.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet   //定义加载时的选项

    initrd /initramfs-2.6.32-696.el6.i686.img  //指定initramfs内存文件系统镜像文件的所在位置


    三、grub进入单用户模式

    单用户模式主要功能

    1.忘记root密码

    2.修改系统默认运行级别

    按e进入命令编辑模式

    光标移到kernel行,按e进入grub界面

    在quiet后加1,进入单用户模式

    按b启动,进入单用户模式(可修改root密码)

    eg:假设启动文件/etc/inittab文件被修改,如何修复?

    我将inittab文件修改,将默认启动级别改为6,这样系统启动时会一直重启

    在单用户模式下修改/etc/inittab文件。

    重启后成功。

    ps:后来我用的debian虚拟机忘记了密码,尝试后发现它进入单用户的模式有点不一样,记录一下

    按e进入编辑模式

    在这一行quiet之后添加“init=/bin/bash”,可进入单用户模式

    进入后发现修改密码出错,将根目录重新挂载后成功修改密码


    四、grub加密

    为防止外人进入单用户模式修改root密码,可将grub进行加密

    加密过程如下

    grub-md5-crypt  //生成一个md5加密的密码,将其复制

    vi /boot/grub/grub.conf  //将密码粘贴置文件中,保存后,重启生效

    此时,需要按下grub的密码才可以进入编辑模式

    如果密码输错,将不能进行编辑

    正确输入密码,可以看到跟加密前一样的编辑页面。


    五、grub启动页面分辨率调整

    首先查询内核是否支持分辨率修改

    分辨率参数如下

    如果想将分辨率设为1024*768,则写入/boot/grub/grub.conf内,vga=791。

    重启后生效


    六、光盘救援模式修复启动故障

    1.如何进入光盘救援模式

    插入光盘,启动时快速按F2键(或者右键点击虚拟机-电源-启动时进入bios)。

    进入bios后,将光盘启动移到第一项(+)。

    进入光盘修复模式,将光标移动到第三行

    一路默认,网络可不设置

    2.光盘救援模式下可做什么

    a、忘记grub加密的密码,可在救援模式下清除grub密码

    b、重要系统文件丢失,可在救援模式下找回

    a、清除grub密码步骤

    chroot /mnt/sysimage   //改变主目录

    locate grub.conf  //查出grub配置文件的位置,这里看到在disk1下

    vi /disk1/grub/grub.conf  //删除密码行,重启系统

    b、重要文件找回步骤

    eg:将/etc/inittab文件删除,如何恢复?

    <1>.进入光盘救援模式,后,将刚刚拷贝在/tmp下的inittab文件复制粘贴到/etc下

    <2>.先查询出inittab文件的安装包版本,进入光盘救援模式后,将光盘挂载,从光盘的Packeges目录里安装inittab。

    相关文章

      网友评论

        本文标题:33.Linux开机过程及启动故障修复

        本文链接:https://www.haomeiwen.com/subject/fezzjftx.html