(004)Linux的开机启动

十年运维系列之基础篇 - Linux

作者:曾林

联系:[email protected]

网站:www.jplatformx.com

版权:文章未经同意请勿转载


一、引言

  这里虽然介绍的是Linux的开机启动,但是有些操作或者流程是不局限于linux操作系统的,而是针对几乎所有的操作系统。

二、 BIOS

  当我们按下开机键的时候,电流会经过电源线流经整个主板。此时,一个加电的特殊电路会“敲打”一下CPU的被称作reset的引脚。此时cpu内的某些寄存器,比如cs、eip就会出现一些固定的内容。cs的值是0xFFFF、eip的值为0x0000。这就是告诉cpu从物理内存地址0xFFFF0处开始执行代码。哪里有什么代码呢?其实就一条,那就是让cpu跳转。跳到哪里去呢,就是这小节的主角——BIOS。

  BIOS本质上是一个程序,而且它是电脑最开始执行的程序。它会读取CMOS(在计算机领域,CMOS常指保存计算机的基本启动信息的芯片。有时,人们会把BIOS和CMOS混淆,其实CMOS是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件设置和用户对某些参数的设置)中的信息来了解硬件情况,比如CPU的总线时钟、启动设备的搜素顺序、硬盘大小与型号、系统时间、即插即用设备、各设备的I/O地址、中断请求等。之后BIOS开始做开机自检,比如确定可用的内存(有时还要自己测试一下)、确定时钟速度等。如果测试成功则开始对硬件进行初始化、设定即插即用设备、确定启动设备……最后从启动设备中读取MBR,并将控制权交给MBR中的程序;如果测试不成功则会发出声响来提示(最常见的就是内存错误发出声响)。

  无论什么操作系统,都要要从MBR做入口的。

时间: 2024-10-05 05:12:08

(004)Linux的开机启动的相关文章

Linux 添加开机启动项的三种方法

linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V sty

Linux系统开机启动时的工作原理

Linux系统开机启动时的工作原理也是深入了解Linux系统核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了.在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了. 启动第二步--读取MB

linux memcached开机启动

1.首先是写 service脚本 service脚本需要进入到目录/etc/init.d中,然后touch memcached,最后vim memcached后进行脚本编写,脚本如下: #!/bin/bash #chkconfig:345 60 60 #description:auto_run export PATH=/sbin:$PATH start() {         echo -n $"Starting memcached:"         /usr/local/memca

Linux系统开机启动原理

我理解的linux系统开机顺序如下,如有分歧,可一起探讨. Linux系统开机启动的顺序是: BIOS自检,检查硬件,选择引导介质如光盘or硬盘orU盘等等. 进入bootloader,它是写在硬盘最前面的部分,大小是512字节.由446字节的mbr和64字节的DPT和2字节的返回码组成. bootloader会去读取/boot/grub/grub.conf,然后根据配置文件寻找/boot分区下面的内核文件vmlinuz.....及内核辅助文件initrd......以及加载根分区 读取/etc

Linux设置开机启动项

第一种方式:ln -s 建立启动软连接 在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录 Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策 这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务 由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务 K开头的脚本文件代表运行级

linux系统开机启动过程

Linux系统开机过程 1:BIOS 通电自检 2:读取MBR 3:boot loader 4:加载内核 5:用户层init根据inittab文件来设定运行等级 6:init进程执行rc.sysinit 7:启动内核模块 8:执行不同运行级别的脚本程序 9:执行/etc/rc/d/rc.local 10:执行/bin/login 程序,进入登录状态.

linux 实现开机启动

Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等)皆为此套路. Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. 加载内核LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加

linux 设置开机启动项两种方式

原文链接:http://blog.csdn.net/karchar/article/details/52489572 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务. 在解问题之前先来看看Linux的启动流程 Linux的启动流程 主要顺序就是: 1. 加载内核 2. 启动初始化进程 3. 确定运行级别 4. 加载开机启动程序 5. 用户登录 启动流程的具体细节可以看看Linux 的启动流程 第4步加载启动程序其实是两步: init进程逐一加载开机启动程序,其实就是运行指定目

LINUX系统开机启动流程全解

1,linux系统6.0系列和7.0系列系统开机启动流程:简述:1,开机BIOS自检2,MBR引导(磁盘上的一个引导扇区512K)3,grub引导菜单(可进入单用户模式或者救援模式)4,加载Kernel内核5,启动init进程(6系列的第一个进程7系列的第一个进程是systemd6,读取initab启动文件执行rc.sysinit等开机启动脚本文件7,启动mingetty,启动系统登录界面 原文地址:https://blog.51cto.com/13858002/2429553