本章重点:

1.linux引导流程

2.linux运行级别

3.linux启动服务管理

4.GRUB配置与应用

5.启动故障分析解决

linux启动流程

1.固件(fireware):固话在硬件上的程序,主要有CMOS/BIOS

2.post加电自检,

1.检测硬件信息,如cpu,内存,等硬件信息是否工作正常。

2.安全设置

3.可引导介质列表

4.可引导介质的搜索程序

5.电源管理

6.启动细节信息

3.读取MBR(master boot record)主引导记录

MBR位于0柱头0磁头1扇区

读取主引导记录过程:

1.boot loader自举程序载入内核

载入内核后

驱动硬件:针对别的嵌入式内核可以做删减,只读取该平台所需要的驱动即可,驱动与固件检测不同,驱动所指在软件层面上认识硬件。

启动init:初始化进程是系统启动的第一个进程,启动后会读取inittab文件,并执行缺省的运行级别,从而继续引导,在UNIX中,init进程的pid也就是进程id恒为1,一般

别的进程是随机变化的,但是init进程不同,从pid看出该init进程向一个更高级的进程负责,便是kernel scheduler内核调度器,这个调度器是分配cpu时间的,是linux分

时特性的执行者,从而获取cpu时间。

ps:在linux中的两种进程

1.孤儿进程:父进程死亡,子进程未死亡,此时的子进程便会被指向init进程。

2.僵尸进程:子进程死亡,父进程未死亡。

从 ps –le |more 可以看到进程的信息

2.partition table

3.Magic Number

init进程会读取 /etc/inittab文件

linux运行级别:

0 halt关机,不要设置为默认运行级别

1 单用户模式

2 多用户模式,无图形界面,没有NFS(net file server)文件共享服务

3 多用户模式,有NFS

4 unused自定义运行级别,也可以说是预留运行级别

5 xll安装系统后默认的,即xwindow的版本号

6 reboot重启,也不要设置为默认。

可以通过runlevel 查看当前运行级别。或者telinit切换运行级别

也可以ctrl+alt FN n为运行级别号

针对GRUB配置文件

default定义了缺省启动的操作系统0表示第一个

timout缺省等待时间,就是GRUB默认是3秒键盘不反应就进入

splashimage定义了GRUB界面图片(如果需要自定义那就弄小点,这时候显卡还不能很好的运行)

hidden menu隐藏菜单

ps:(hd0,0)第一块硬盘的第一个分区  /boot若未单独划分,则属于根分区

title定义了菜单项的名称

root设置了GRUB(hd0,0)根设备所在分区

kernel定义内核所在位置

initrd载入镜像文件

在忘记root密码的时候可以进入单用户模式,在GRUB按e(edit)进入编辑行模式选中kernel行再按e 在新的界面最后一行输入1或者s(single) 再按B即可进入单用户模式。通过passwd更改root密码

GRUB命令,可以通过hiddenmenu进行设置。

e:编辑当前行

c:commod

b:boot

d:删除当前行

1.设置GRUB密码可以通过GRUB自带的GRUB-md5-crpyt

复制密文粘贴到grub conf title上

password –md5 密文

再进入到GRUB时候则需要P来输入密码了

GRUB修复

当开机后进入GRUB只有

grub>这样的提示符,则看看 /grub/grub.conf

则进入grub命令行进行手工引导

如果整个inittab文件被删除,则需要进入到BIOS使用镜像进行修复,进入F5修复模式,输入linux rescue 进入修复

会将数据挂载到 /mnt/sysimage

cp inittab 到指定目录即可完成修复

linux引导流程的更多相关文章

  1. (五)Linux引导流程解析

    目录 Linux引导流程 Linux运行级别 Linux启动服务管理 GRUB配置与应用 启动故障分析与解决 Linux引导流程 Linux系统引导流程如下图: 固件(Firmware)就是写入ERO ...

  2. Linux引导流程(第二版)

    Linux引导流程 柱面,0磁头,1扇区 如图:] 进入这一步骤的目的是[通常,PID是随机分配的,但是init特殊,可以通过命令:ps -el | more 查看],Linux系统中init名义上可 ...

  3. 学习鸟哥的Linux私房菜笔记(17)——Linux引导流程

    一.系统引导流程 第一步:固件fireware(CMOS/BIOS)--POST加点自检(与操作系统无关) 这一步主要是检查硬盘等硬件是否能正常工作 CMOS:是固化在主板上,详细:http://sc ...

  4. linux 引导流程二

    grep -v  “^#” /etc/inittab | more 提取etc文件中的有效行. 用命令man 可以获得配置文件和命令的帮助信息.配置文件必须是系统的配置文件或系统默认安装的某个服务的配 ...

  5. 9.Linux系统引导流程

    一.Linux系统引导流程 当我们按下主机电源键的那时候开始,主板上的CMOS/BIOS模块将进行固件自检,以此检查各个硬件是否正确连接. 在Linux引导流程中,一般可以分为以下几个主要过程: 1. ...

  6. linux 启动引导流程

    课程大纲: Linux引导流程 Linux运行级别 Linux启动服务管理 GRUB配置与应用 启动故障分析与解决 系统引导流程 1.固件firmware(CMOS(固化在硬件上的程序与硬件统称)/B ...

  7. 5linux引导流程解析

    课程大纲  Linux引导流程  Linux运行级别  Linux启动服务管理  GRUB配置与应用  启动故障分析与解决     常用固件设置 安全设置 可引导介质列表 可引导介质搜索顺序 ...

  8. 从零开始学Linux系统(一)之引导流程解析

    Linux系统:分时多用户多任务的操作系统: Linux系统引导流程: inittab配置文件中: 定义了linux系统的运行的7个级别:从0~6 0.6:分别代表关机和重启,不建议设置为默认的运行级 ...

  9. Linux系统关机与重新引导流程简介

    引言 在<Linux启动之旅>中,我们了解了Linux的启动过程,下面我们一同来学习Linux关机与重新引导流程. 不同于桌面系统,作为服务器,我们较少对Linux系统进行系统重启,但在以 ...

随机推荐

  1. Linux服务器,PHP的10大安全配置实践

    PHP被广泛用于各种Web开发.而当服务器端脚本配置错误时会出现各种问题.现今,大部分Web服务器是基于Linux环境下运行(比如:Ubuntu,Debian等).本文例举了十大PHP最佳安全实践方式 ...

  2. Mac Pro 安装 Sublime Text 3,个性化设置,主题 和 插件 收藏

    1.到官网下载安装包 http://www.sublimetext.com/3 2.附注册码一枚 Sublime Text 3 3126 —– BEGIN LICENSE —– Alexey Plut ...

  3. C和指针 第十一章 习题

    1编写calloc,内部使用malloc函数获取内存 #include <stdio.h> #include <stdlib.h> void *myAlloc(unsigned ...

  4. js制作烟花效果

    <html> <head> <link type="text/css" rel="stylesheet" href="c ...

  5. c++笔记整理

    一:导读 假设编写了一个C++程序,如何让他允许起来呢,这取决于计算机环境和所使用的C++编译器. 1.使用文本编辑器编写程序,并将其保存在文档中,====此就是源代码 2.编译源代码,编译过程就意味 ...

  6. iOS如何跳到系统设置里的各种设置界面

    最近项目需要授权时候跳转到相关的设置页面,自己总结了一下,想写到简书上来,和大家分享一下. 在本人测试后,iOS8和9都没有问题,直接跳转到各个页面,这可能苹果对这方面开放了吧.第一步修改plist文 ...

  7. Eclipse安装Freemarker插件

    方法一:手动安装 手动安装没有成功 步骤: 1. 下载freemarker-ide : http://sourceforge.net/projects/freemarker-ide/files/ 2. ...

  8. ORA-27101 ORACLE not available

    问题描述:今天打开plsql,报错无法识别连接服务 1.然后去找,是不是oracle服务没有启动,但是发现oracle的其他服务都能启动.只有OracleDBConsolearies不能启动,这说明O ...

  9. C#静态常量和动态常量的区别

    C#拥有两种不同的常量:静态常量(compile-time constants)和动态常量(runtime  constants).它们有不同的特性,错误的使用不仅会损失效率,还可能造成错误.相比之下 ...

  10. Oracle 过程中检查数据表存在与否

    在过程中,尤其是每天执行的任务,通常要检查查询的数据表存在不存在,如果不存在则等待一段时间在进行执行,以下代码实现了这个功能,如果表不存在,抛出异常,交给异常处理代码,确保数据完整性 使用方法:p_C ...