美文网首页
13、系统启动流程

13、系统启动流程

作者: 崔千易 | 来源:发表于2018-04-13 07:07 被阅读0次

    一.系统启动流程

    (一)启动流程

    1、BIOS加电自检、检测硬件、决定启动介质、找到引导扇区1、BIOS加电自检、检测硬件、决定启动介质、找到引导扇区

    2、读取并且执行第一个开机设备中的MBR的bootloader(grub程序)

    3、依据bootloader设置去加载内核和驱动

    4、内核启动init进程

    5、系统初始化

    6、init找到/etc/inittab文件,决定系统的运行级别(X)

    7、触发相应的运行级别的事件,运行/etc/rcX.d下的脚本

    8、执行/etc/rc.local文件,来到登录界面

    9、输入用户名密码,进入到系统中

    dd命令:dd 的主要选项:

    指定数字的地方若以下列字符结尾乘以相应的数字:

    b=512, c=1, k=1024, w=2, xm=number m

    if=file #输入文件名,缺省为标准输入。

    of=file #输出文件名,缺省为标准输出。

    ibs=bytes #一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。

    obs=bytes #一次写 bytes 个字节(即一个块大小为 bytes 个字节)。

    bs=bytes #同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。

    cbs=bytes #一次转换 bytes 个字节,即转换缓冲区大小。

    skip=blocks #从输入文件开头跳过 blocks 个块后再开始复制。

    seek=blocks #从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。

    count=blocks #仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。

    conv=conversion[,conversion...] #用指定的参数转换文件。

    (二).修复MBR:

    1.备份文件的方式:dd if=/dev/sda of=/loring/sda.mbr.bak bs=512 count=1

    2.模拟扇区故障:

    dd if=/dev/zero of=/dev/sda bs=512 count=1

    3.恢复

    dd if=tempdir/sda.mbr.bak of=/dev/sda bs=512 count=1

    实验:

    mkdir loring

    mount /dev/sdb1 /loring

    dd if=/dev/sda of=/loring/mbr.bak bs=512 count=1

    dd if=/dev/zero of=/dev/sda bs=512 count=1

    打开电源进入到bios里面,boot里面设定光盘启动

    进入到修复模式

    /mnt/sysimage(挂载点)

    mkdir /backup

    mount /dev/sdb1 /backup

    dd if=/backup/mbr.bak of=/dev/sda bs=512 count=1

    (三).grup故障修复

    MBR中的grub坏掉了

    grub.conf文件损坏或者丢失

    (系统引导不了,停住,显示grup>提示符)

    1.手动引导

    2.进入救援模式,修复grup

    配置文件:/boot/grub/grub.conf

    cd /boot/grub mv grub.conf文件

    1.root (hd0,0)

    kernel (/vmlinuz-2.6.32... ro root=UUID#)

    initrd /initra...

    boot

    进入到救援模式,默认会找到根分区,并挂载到/mnt/sysimage

    chroot /mnt/sysimage

    修复grub

    BIOS(boot sequence)>MBR(bootloader,446)

    kernel 在内存中解压,探测硬件

    init 

    1、root密码

    安装系统时候给root设置密码

    破解root密码:

    前提:能重启系统

    进入单用户模式

    2、grub密码

    为了防止用户进入单用户模式修改root密码,怎么办呢?

    给grub加上密码

    1)明文密码  ——  修改grub配置文件

    # vim /boot/grub/grub.conf

    在timeout下面添加一行

    ---------------------------

      password 123456

    ---------------------------

    # reboot

      重启之后,想要编辑grub进入单用户的话,需要提供grub的密码

      按p:输入密码

    必须正确输入grub的密码,然后才能编辑grub

    2)密文密码

    (1)生成加密后的字符串

    # grub-md5-crypt

    Password:

    Retype password:

    $1$r5htQ$IRUJY./85zdZT3a6JDmfv0    //加密后的字符串

    (2)修改grub配置文件

    # vim /boot/grub/grub.conf

    password --md5 $1$r5htQ$IRUJY./85zdZT3a6JDmfv0    //修改password那行

    3、破解grub密码

    前提条件:手头要有光盘

    需要进入救援模式   

    想要进入到救援模式,需要进入bios修改引导介质的优先级,让cdrom优先

    虚拟机进入BIOS:按F2      真机进入BIOS:一般按(.  del键)

    将光盘移动到硬盘上面,按F10保存

    选择救援已安装系统  Rescue

    目前我们选的是本地光盘,以后可能选择URL,网络修复系统。

    如果你救援的时候想和别人交流,那么就选择yes;否则我就选择No

    你可以执行chroot /mnt/sysimage可以切换到真正的系统的根目录

    修改grub配置文件,将password那行删除掉

    bash-4.1# reboot

    重启之后又可以进到单用户模式了。   

    4、BIOS密码

    为了防止用户进入救援模式,给BIOS加密码

    重启系统,按F2想要进入BIOS时候,

    小总结:

    1、如果破解root密码,需要进入单用户模式

    2、防止进入单用户模式,给grub加密码

    3、破解grub密码,需要进入救援模式

    4、防止进入救援模式,给BIOS加密码

      要想进入单用户模式的前提,需要能够重启系统

      要想进入救援模式,要有光盘,而且能够进入BIOS修改引导介质的顺序

    相关文章

      网友评论

          本文标题:13、系统启动流程

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