Share&Joy

Ginger' Blog


  • 首页
  • 归档
  • 标签
  •   

© 2018 1-riverfish

Theme Typography by Makito

Proudly published with Hexo

Linux入门基础19

发布于 2017-09-15 tech Linux 

Linux入门基础19

Linux系统启动详解

系统启动流程
BIOS
MBR:BOOT Code
执行引导程序-GRUB
加载内核
执行init(进程ID 1)
runlevel

BIOS

BIOS(Basic Input Output System) 一般保存在主板上的BIOS芯片上

  • 计算机启动的时候第一个运行的就是BIOS,BIOS负责检查硬件并且查找可启动设备(设备上具有引导信息)
  • 可启动设备在BIOS中进行定义,如USB,CDROM,HD

MBR

  • BIOS找到可启动设备后执行其引导代码
  • 引导代码为MBR的前446字节

GRUB

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

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

  • Grub相关文件保存在/boot/grub目录中

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

  • 配置格式

配置格式

KERNEL

  • MBR引导代码将负责找到并加载Linux内核
  • Linux内核保存在/boot/vmlinuz-4.4.0-93-generic
  • 一般还会加载内核模块打包文件:/boot/initrd.img-4.4.0-93-generic
  • Linux为保持kernel的精简将一些不常用的驱动,功能编译成模块,在需要的时候动态加载,而这些模块被打包保存为一个initrd文件
  • 早期版本Linux使用initrd文件,initramfs是initrd的替代优化版本,更加节省空间,更加灵活
  • dmesg 可以查看本次启动时内核的输出信息 /var/log/dmesg

INIT

  • init Linux系统的第一个进程 PID进程ID(所有进程的父进程)
  • 调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务
  • Linux运行级别
    • -0 关机
    • -1 单用户模式
    • -2 不带网络的多用户模式
    • -3 多用户模式
    • -4 未使用
    • -5 x11图形化模式
    • -6 重启
  • 可以通过/etc/inittab配置文件修改默认的运行级别
  • 每个级别对应的启动服务保存在/etc/rc.d/rc[0123456].d中
  • runlevel 可显示当前及上一个运行级别
  • 命令init 可用以改变当前的运行级别

单用户修改root密码

  • 为内核传递参数“1”或”single”系统可进入单用户模式
  • 单用户模式下不启动任何服务
  • 单用户模式直接以root用户登录,并且需要密码
  • 可以使用passwd修改root密码

GRUB加密

加密

Any question please contact 1-riverfish

分享到 

 上一篇: Linux入门基础20 下一篇: Linux入门基础18 

© 2018 1-riverfish

Theme Typography by Makito

Proudly published with Hexo