Linux启动过程

1、启动流程(BIOS->MBR:Boot Code->引导GRUB->载入内核->运行init->runlevel)

2、/boot/grub/下有多个文件   当中stage1为MBR镜像(512字节) stage2为引导程序

3、/boot/grub/grub.conf为引导的配置文件

default=0#默认载入下边哪个系统
timeout=3#引导等待时间
splashimage=(hd0,1)/boot/grub/splash.xpm.gz#引导界面的背景图
hiddenmenu#隐藏菜单
title CentOS(2.6.32.279.el6.i686)#系统名称
root(hd0,1)#系统位置
kernel /boot/vmlimuz-2.6.32.279.el6.i686 ro root=UUID=** LANG=en_US.UTF-8 #内核及參数
initrd /boot/initramfs-2.6.32.279.el6.i686.img#镜像文件

4、Linux为保持kernel精简将一些不经常使用的驱动、功能编译为模块,在须要的时候动态载入。而这些



模块被打包保存为一个initramfs文件

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

5、dmesg查看内核的输出信息(查看内核级故障、设备驱动不起来时须要看内核信息)、信息终于保

存在/var/log/dmesg文件里

6、init为linux系统中的第一个进程(top中PID为1的)。为全部进程的父进程

系统启动时调用/etc/rc.d/rc.sysinit负责对系统进行初始化。挂载文件系统。而且依据执行基本启动对应服务

执行级别:

0:关机

1:单用户模式

2:不带网络的多用户模式

3:纯文本多用户模式

4:未使用

5:XLL图形化多用户模式

6:又一次启动

通过/etc/inittab 改动默认级别

每一个级别保存在/etc/rc.d下(rc0.d、rc1.d、rc2.d。。

。)

/etc/init 里边的文件为系统初始化配置文件(如启动ctrl alt del组合按键)



runlevel显示当前及上一个执行级别

N 5 (N表示没有上一个,5表示图形)



init 3表示切换到3级别下

单用户改动ROOTpassword

引导时为内核传递參数"1"(数字1)或"single"可系统进入单用户模式(在引导模式下按e,选择内核后再按e,追加"1"启动)

单用户模式下不启用不论什么服务

单用户模式直接以root用户登录,而且不须要password

能够使用passwd改动rootpassword

GRUB加密

通过在grub.conf中的启动配置中增加例如以下參数就可以对grub进行加密:

password --md5 $1$ao---这里是密码

加密后的password能够通过grub-md5-crypt命令生成,将生成后的password替换上边的password

rc.local文件解说

非常多人不知道rc.local和rc?.d的差别,rc.local是在系统初始化级别脚本运行之后再运行的,因此能够安全地在里面加入你想在系统启动之后运行的脚本。常见的情况是你能够再里面加入nfs挂载/mount脚本。

此外,你也能够在里面加入一些调试用的脚本命令。比如。我就碰到过这样的情况:samba服务总是无法正常运行。而检查发现,samba是在系统启动过程中就该启动运行的。也就是说,samba守护程序配置保证了这样的功能本应该正确运行。

碰到这样的类似情况。一般我也懒得花大量时间去查为什么,我仅仅须要简单的在/etc/rc.local脚本里加上这么一行:

          /etc/init.d/samba start

这样就成功的攻克了samba服务异常的问题。

Linux启动过程笔记的更多相关文章

  1. Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...

  2. Linux启动过程详解

    Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...

  3. 嵌入式Linux启动过程中的问题积累

    嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Num ...

  4. [linux 整理] linux启动过程3

    本文介绍linux启动过程的第三步 busybox--------------------> rc init busybox位置即内容 busybox/init/init.c 1.各种设置信号 ...

  5. 从Linux启动过程到android启动过程

    Linux启动过程: 1.首先开机给系统供电,此时硬件电路会产生一个确定的复位时序,保证cpu是最后一个被复位的器件.为什么cpu要最后被复位呢?因为 如果cpu第一个被复位,则当cpu复位后开始运行 ...

  6. Linux启动过程简述

    Linux启动过程: 图片来自:https://www.cnblogs.com/codecc/p/boot.html 简单来讲: 加载BIOS–>读取MBR–>Boot Loader–&g ...

  7. Linux 启动过程详解

    目录 1. Linux启动过程 2. 启动过程概述 3. 引导加载阶段 4. 内核阶段 4.1 内核加载阶段 4.2 内核启动阶段 5. 早期的用户空间 6. 初始化过程 6.1 SysV init ...

  8. 转-Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    http://blog.chinaunix.net/space.php?uid=10167808&do=blog&id=26042   1)BIOS自检2)启动Grub/Lilo3)加 ...

  9. 深入理解Linux启动过程

    深入理解Linux启动过程       本文详细分析了Linux桌面操作系统的启动过程,涉及到BIOS系统.LILO 和GRUB引导装载程序,以及bootsect.setup.vmlinux等映像文件 ...

随机推荐

  1. 纯干货!live2d动画制作简述以及踩坑

    本文来自网易云社区,转载务必请注明出处. 1. 概述 live2d是由日本Cybernoids公司开发,通过扭曲像素位置营造伪3d空间感的二维动画软件.官网下载安装包直接安装可以得到两种软件,分别是C ...

  2. (总结)CentOS Linux使用crontab运行定时任务详解

    安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sb ...

  3. 九度oj 题目1179:阶乘

    题目描述: 输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数)y2=2!+4!+...p!(p是小于等于n的最大偶数). 输入: 每组输入包括1个整数:n 输出: 可能有多组测试数据 ...

  4. EasyUI 打印当前页

    function CommonPrint(printDatagrid, type) { var tableString = '<table cellspacing="0" c ...

  5. 玩转css样式选择器----当父元素有多个子元素时选中最后一个

  6. 标准C程序设计七---04

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  7. msp430项目编程46

    msp430综合项目---监控系统46 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结

  8. py3.6 + xadmin的自学网站搭建

    xadmin安装 由于安装时需要依赖包并且暂时不支持py3等原因,直接pip install的方法很容易就狗带了. 说一下我在网上找到的安装方式,在GitHub上有这个项目的开源代码,并且还有很多个版 ...

  9. SQL自动生成A到Z二十六个英文字母

    if object_id('#tempdriveinfo') is not null drop table #tempdriveinfo create table #tempdriveinfo ( [ ...

  10. mysql主从读写分离,分库分表

    1.分表 当项目上线后,数据将会几何级的增长,当数据很多的时候,读取性能将会下降,更新表数据的时候也需要更新索引,所以我们需要分表,当数据量再大的时候就需要分库了. a.水平拆分:数据分成多个表 b. ...