Linux 系统启动详解

来源:互联网 发布:网络什么赌博平台热门 编辑:程序博客网 时间:2024/05/01 21:08

 一.系统启动流程

     BIOS----->MBR(Boot Code)----->执行引导程序-GRUB----->加载内核----->执行init----->runlevel(级别运行)

 二.BIOS

     1.BIOS,我们称之为基本输入输出系统,一般保存在主板的BIOS芯片中

     2.计算机启动的时候第一个运行的就是BIOS,BIOS负责检查硬件,并且查找可启动设备

     3.可启动设备在BIOS设置中进行定义,如USB,CDROM,HD

  三.MBR

     1.BIOS找到可启动设备后执行其引导代码

     2.引导代码为MBR的前446字节(总共512字节)

  四.GRUB

     1.Grub是现在Linux使用的主流引导程序

     2.可以用来引导现在几乎所有的操作系统

     3.Grub的相关文件保存在/boot/grub目录中

     4.Grub配置文件为/boot/grub/grub.conf

     5.配置格式:

        title  CentOS

            root (hd0,1)

            kernel /boot/vmlinuz-2.6.32-279.ei5.i686 ro root=UUID=77272833-B6BB-4D53-B043-9541-D1102EBD

            initrd /boot/initramfs-2.6.32-279.e16.i686.img


                                  (grub.conf找不到了)

 五.KERNEL

     1.MBR的引导代码将负责找到并加载Linux内核

     2.Linux内核保存在/boot/vmlinuz-2.6.32-279.e16.i686

     3.一般还会加载内核模块打包文件:/boot/initramfs-2.6.32-279.e16.i686.img

     4.Linux为何保持kernel的精简将一些不常用的驱动,功能编译成模块,在需要的时候动态加载,而这些模块被打包保存为initramfs文件

     5.早期版本Linux使用initrd文件,initramfs是initrd的替代优化版本,比initrd更加节省空间,更加灵活

     6.命令dmesg可以查看本次启动时内核的输出信息



  六.INIT

     1.init是Linux系统中运行的第一个进程

     2.调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据文件级别启动相应服务

     3.Linux 运行级别

       # -0    关机

       # -1    单用户模式

       # -2    不带网络的多用户模式

       # -3    多用户模式

       # -4    未使用

       # -5    xll 图形化模式

       # -6    重新启动

     例:top命令查看Linux系统进程

 


  4.可以通过修改/etc/inittab配置文件修改默认的运行级别

  5.每个级别对应的启动服务保存在/etc/rc.d/rc[0123456]d中

  6.命令runlevel可显示当前及上一个运行级别

  7.命令init 可用于改变当前运行级别(使用init 3 命令可以切换到纯文本界面,init 5切换回来)

 




 七.单用户修改root密码

    1.为内核传递参数"1"或"single",系统可进入单用户模式(重启计算机,在引导项处修改参数为1)

    2.单用户模式下不启动任何服务

    3.单用户模式直接以root用户登录,并且需要密码

    4.可以使用passwd修改root密码


 八.GRUB加密(为了防止陌生人接近物理机,单用户模式修改root密码)

     1.通过在grub.conf中的启动配置中加入如下参数即可对grub进行加密:

       password  --md5  $1$aosnndandah$sdasd(个人设置,经过md5算法加密后的密钥)

       (在启动项要单机模式登录时需要输入密码)

      2.加密后的密码可以通过grub-md5-crypt生成(通过在终端输入:grub-md5-crypt)

0 0
原创粉丝点击