zoukankan      html  css  js  c++  java
  • Linux学习笔记17--Linux系统启动详解

    多数操作系统的启动流程:

    BIOS启动自检 ->MBR引导->执行引导程序GRUB->加载内核->执行init->runlevel

     

    1. BIOS(Basic Input Output System)

      负责检查硬件并且查找可启动设备,如USB、CDROM、HD。

       

    2. MBR

      BIOS找到可启动设备后执行其引导代码,引导代码为MBR(共512字节)的前446字节。

      引导代码为操作系统的引导程序。

       

    3. GRUB

      Grub是现在Linux使用的引导程序。(诸如window下的ntldr)

      可以引导大多数的操作系统。

      grub相关文件保存在/boot/grub。

      grub配置文件为/boot/grub/grub.conf。

       

      目录内含文件:

      /boot/grub/stage1 #MBR引导代码的镜像文件,如果MBR损坏,可拷贝过去。

      诸如/boot/grub/e2fs_stage1_5等以stage1_5后缀的文件是支持文件系统的加载文件。

      /boot/grub/stage2 #stage1引导完后的第二个引导文件

       

    4. Kernel

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

      内核保存在:/boot/vmlinuz-2.6.32-279.el6.i686

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

      为保持Kernel的精简,一些不常用的驱动、功能编译成为模块,在需要的时候动态加载,这些模块被打包保存为一个initramfs文件。

      在需要的时候动态加载,而这些模块被打包保存为一个initramfs文件。

      initramfs是initrd的替代优化版本(早期Linux使用initrd文件)。

       

      通过dmesg命令或查看/var/log/dmesg文件,可查询此次启动的内核输出信息。(查询内核的某些故障有用)

     

    1. INIT

      init是LINIX系统运行的第一个进程,也是所有进程的父进程。

      init会一直存在,直到关机。

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

       

      Linux运行级别:

      1. 关机,
      2. 单用户模式,
      3. 不带网络的多用户模式,
      4. 多用户模式,
      5. 未使用
      6. XII图形化模式
      7. 重启

       

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

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

      命令:

      runlevel:显示上一个和当前运行的级别。

      init:可改变当前的运行级别。

       

       

      单用户修改密码:

      为内核传递参数"1"或"single"可系统进入单用户模式;

      单用户模式下不启动任何服务,并直接以root用户登陆,不需要密码。

      此时可以使用passwd修改root密码。

       

      GRUB加密:

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

      password –md5 …………………………………………… #点为密码

       

      加密后的密码可以通过grub-md5-crypt生成。

       

       

       

       

       

       

       

       

       

       

       

       

       

       

  • 相关阅读:
    objectivec 中 category 和 extension 的区别
    提高audioqueue启动时间的一个技巧
    iOS中url中文编码问题
    XP重装后grub引导修复( Ubuntu10.10 与XP双系统 )
    Ubuntu10.10 与XP双系统安装
    BSF脚本引擎
    随机访问类RandomAccessFile多线程下载
    Spring AOP解决系统日志备忘
    OA和KM知识管理的区别
    JavaMail接收指定账号邮件
  • 原文地址:https://www.cnblogs.com/xiwang6428/p/3422391.html
Copyright © 2011-2022 走看看