Linux系统启动详解

系统启动流程:

BIOS->MBR:Boot Code->执行引导程序 - GRUB->加载内核->执行init->runlevel

BIOS

  • BIOS(Bssic 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-2.6.32-279.el6.x86_64.img

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

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

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

  • dmesg可查看本次启动时内核的输出信息

INIT

  • init是linux系统中运行的第一个进程

  • 调用/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加密

  • 为防止物理手段接近主机使用单用户模式修改root密码,可对GRUB进行加密

  • 通过在/boot/grub/grub.conf中的启动配置(默认第一行)加入如下参数即可对grub进行加密:

password –md5 ****加密密码****

  • 加密密码可通过grub-md5-crypt生成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值