课程大纲:

Linux引导流程

Linux运行级别

Linux启动服务管理

GRUB配置与应用

启动故障分析与解决

系统引导流程

1.固件firmware(CMOS(固化在硬件上的程序与硬件统称)/BIOS(界面)) ->  POST加电自检(检测基本的硬件是否正常,显示器,键盘等,与操作系统无关,裸机也可进行此步骤)如果加入一块硬盘,一个网卡,进入系统则看不到,需要在加电自检时进行处理。

常用固件设置

安全设置

可引导介质列表

可引导介质搜索顺序

电源管理

启动细节显示

。。。。。。

硬件时钟,固化在硬件上。Hardware clock。

安装好操作系统后还有软件时钟。通过date命令可以查到。

问题是如何同步硬件时钟和软件时钟是个关键问题。因为有些软件程序在运行时发现硬件时钟与软件时钟不同步,在进行时间值调取时会出错,导致无法运行。

查看软件时钟用date命令,显示出系统当前时间值。

查看硬件时钟用hwclock命令,显示出硬件当前的时间值。

一般来讲这两个时间值应该一值。

hwclock --help查看此命令的选项

--hctosys 将系统时间设置为硬件时间

--systohc 将硬件时间设置为系统时间

如果硬件时钟与软件时钟都不对,则都不可互为参考。此时用--set修改硬件时钟

date 121511302010.38  2010年12月15日11点30分38秒

hwclock --set --date=”9/22/96 16:45:08”

2.自举程序BootLoader(GRUB)   ->   载入内核

MBR(主引导记录) 位于磁盘0柱面0磁头1扇区

自检完毕后读取MBR

Master boot  record

Bootloader(自举程序)  446byte

Partition table(磁盘分区表) 64 byte     1,2,3,4

Magic number(结束标志字)

所有的操作系统都有一个bootloader Windows成为ntldr

Linux称为grub

自举程序无论在什么系统中其作用都是载入内核。

用vi  /etc/grub.conf 查看配置文件,这是一个连接文件,真正的文件在boot目录下。里边有一条语句kernel来指定内核位置。

Ls /boot  出现vmlinuz-2.6.18-194.el5

这是一个单独的可执行文件。

源文件在/usr/src/linux中,是源代码文件,即未编译的文件。

内核大部分是驱动程序,有驱动程序,则不要另外安装。

内核版本号2.6.18  第二位十分重要,为奇数是测试版,为偶数是正式版。

3. 载入内核(Kernel)     ->    驱动硬件

内核中大部分是驱动,比如将内核移植到mp4等设备中去,其中只需保留需要的驱动,也就是内核裁剪。

内核启动加载的过程中需要驱动硬件。通电自检是在硬件层面上,驱动硬件是在操作系统软件的层面上识别硬件是否会被调用。

4.启动进程init

读取执行配置文件/etc/inittab

Init的工作

Init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在UNIX系统中,init时第一个可以存在的进程,他的PID恒为1,但他也必须向一个更高级的功能负责:PID为0的内核调度器(Kernel scheduler),从而获得CPU时间。内核调度器也负责进程的切换。是init的父进程。

在linux中父进程终止,子进程则被称之为孤儿进程。理论上这种进程在linux中是不存在的,指向其父进程为init进程。故理论上init进程是所有进程的父进程。

子进程死亡,父进程应该切断与子进程的联系。单父进程并不知道子进程死亡。则这样的子进程被称之为僵尸进程。

用命令vi /etc/inittab  查看配置文件

在其中可以看到运行级别。即 Runlevels

运行级别:主要有7种

0:关机

1:单用户模式(安全模式只有root可以登陆,无登录界面,也成为修复模式)

2:   无NFS(网络文件系统,很少使用,安全性差,最好不用)

3:   2,3都是字符界面的多用户运行模式(用到最多的服务器模式)

4:无使用,用户自定义

5:系统缺省运行级别X11(x表示图形界面,图形化的多用户运行模式,也就是正在用的)

6:重启

Windows切换运行级别必须重启

Linux使用命令即可

1.查看当前的运行级

Runlevel

N 3 (未切换)     S 3(切换)

2.运行级的切换

init[0123456Ss]  或  telinit[0123456Ss]

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

  1. 9.Linux系统引导流程

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

  2. Linux启动的流程

    2017年1月10日, 星期二 Linux启动的流程   null

  3. linux 启动引导器 grub,单用户模式:

    Linux启动引导器 安装linux操作系统的时候就已经将启动引导器安装到硬盘上去了,才能通过硬盘的读取方式启动操作系统. 引导器分为2种: Lilo:功能比较简单,使用比较麻烦,后续发行版中使用gr ...

  4. Linux学习笔记之Linux启动引导过程

    早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...

  5. linux系统引导流程

    1.固件:硬件和软件结合.加电自检是我们按下电源会检测硬件像cpu.内存.网卡等信息.(从硬件层次检测硬件是否可用) 固件设置实例:设置时间 软件时间和硬件时间: [root@VM_0_12_cent ...

  6. linux启动基本流程

    linux启动序列 1.CPU初始化    CPU自身初始化.从某个固定位置(0xfffffff0)取指令并运行,该指令为跳转指令.跳转到BIOS代码的首部. 2.装载BIOS    BIOS被固化在 ...

  7. 『学了就忘』Linux启动引导与修复 — 71、grub启动引导程序的加密

    目录 1.什么是grub加密 2.grub加密步骤 3.grub加密的lock属性 1.什么是grub加密 上篇文章说了,系统在开机的时候,有一个5秒的读秒时间,方便你进入到grub界面中. 如下图所 ...

  8. Linux 开机引导流程

    Linux 开机启动流程 BIOS(Basic Input Output System)是 PC 机启动时加载的第一个软件.其实,它是一组固化到计算机主板上一个芯片上的程序,它保存着计算机最重要的输入 ...

  9. windows添加linux 启动引导项

    需要软件: EasyBCD 下载地址: http://pan.baidu.com/s/1c20v1GO 在windows 下安装上述软件. 然后打开,语言的话现在中文即可. 可以看到如下画面: 1.选 ...

随机推荐

  1. HashRouter与BrowserRouter的异同

    项目中控制路由跳转使用的是BrowserRouter 在开发过程中使用是没有问题的,但是将页面上传至服务器之后,问题就来了:用户访问的资源不存在,页面是空白的. 原因: 在browserHistory ...

  2. [原]git的使用(二)---工作区和暂存区

    接着上篇 git的使用(一) http://www.cnblogs.com/horizonli/p/5323363.html 6.工作区和暂存区(中转站) 工作区(Working Directory) ...

  3. js json转字符串

    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ &quo ...

  4. kafka 的quick start(windows平台)

    h1, h2, h3, h4, h5, h6, p, blockquote { margin: 5px; padding: 5; } body { font-family: "Helveti ...

  5. 使用 intellijIDEA + gradle构建的项目如何debug

    在intellij IDEA里建立gradle项目(使用jett插件的web项目) 使用intellijIDEA提供的debug无效(无法进入断点) 摸索了一下,通过远程调试的方法来进行调试是可行的 ...

  6. 调用office COM出现不会退出的问题

    症状 在使用.net调用 Microsoft Office 应用程序时,Office 应用程序在调用Quit方法时不会退出. 原因 Visual Studio.NET 从托管代码调用 COM 对象时, ...

  7. xcode vs visual studio

    不得不说,VS做的还是不错的,尤其是对C++的debug功能傲视群IDE. 一个VS与XCODE的对比. http://development-software.findthebest.com/com ...

  8. css---媒体查询

    简单示例: <style type="text/css"> /* 小于 300的时候 */ @media screen and (max-width: 400px){ ...

  9. thinkphp与php共享session

    在其他php页面添加如下代码即可 if (!session_id()) session_start(); 使用时 thinphp 使用 session('test','123'); $user_inf ...

  10. 【技术开放日】msup携手HPE揭秘全球测试中心背后的12条技术实践

    保证软件产品质量是软件测试永恒的目标. 以控制为出发点的传统IT时代正在快速的向以激活生产力为目的的移动互联时代转变.这不仅是技术的升级,更是思想意识的巨大变革,也对软件技术的发展带来的更高的要求和更 ...