本章重点:

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. curl发送get和post请求

    function getAction($url='') { // curl 请求一共分四步,初始化,设置属性,执行并获取结果,释放句柄 // 一.初始化 $curl = curl_init(); // ...

  2. svn 更新命令(冲突时使用theirs)

    svn cleanup svn revert -R -q ./ svn up --force --accept tc

  3. [Linux]系统调用理解(3)

    本文介绍了Linux下的进程的一些概念,并着重讲解了与Linux进程管理相关的重要系统调用wait,waitpid和exec函数族,辅助一些例程说明了它们的特点和使用方法. 1.7 背景 在前面的文章 ...

  4. java冒泡排序

    public class BubbleSort { public static void main(String[] args) { int score[] = {1,4,5,7,2,3,9,0,6, ...

  5. _stdcall,_cdecl区别

    (1) _stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈. WIN32 Api都采用_stdcall调用方式,这样的宏定 ...

  6. 开发Visual Studio 插件

    新建项目,在其他项目类型中找到扩展性,然后新建Visual Studio外接程序,VS中没有这个要安装SDK,http://yunpan.cn/cd27eNczKREwd (提取码:ab29)去下载 ...

  7. Mybatis关联查询(嵌套查询)

    上一篇文章介绍了基于Mybatis对数据库的增.删.改.查.这一篇介绍下关联查询(join query). 三张表:user article blog 表的存储sql文件: /* Navicat My ...

  8. js原生

    1.数组  shift unshift pop push 头删增         尾删增 // 数组 shift unshift pop push var str="a,b,c,d,e,f& ...

  9. Winform实现用多线程、百度地图API解析某公司的物理地址

    前言 作为一个很挫的C#新手总喜欢自己写点儿不着边际的东西,本人是个新手加菜鸟,写B/S的,工作中,任务完成了,空闲下来,总想继续学点儿什么,由此触发了本篇文章了.个人一直认为,.NET中,C/S所要 ...

  10. android中设置控件获得焦点 (转)

    android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例:                 btn.setFocusable(true);      ...