Linux系统启动和内核管理

Linux组成

由 kernel 和 rootfs 组成

单内核:(进程管理,内存管理,网络管理, 驱动程序,文件系统, 安全功能)

/boot/vmlinuz-VERSION-release

辅助的伪根系统

/boot/initramfs-VERSION-release.img            这是一个cpio格式的归档文件,存放的是各种驱动模块

md5sum vmlinuz /boot/vmlinuz       查看两个文件中的内容是否完全一致,只要有一个字符不一样,两个文件的md5值就会不同

伪根系统的操作

解压查看包含文件

1 mv initramfs-3.10.0-693.el7.x86_64.img initramfs-3.10.0-693.el7.x86_64.img.gz
2
3 gunzip initramfs-3.10.0-693.el7.x86_64.img.gz
4
5 cpio -tv < initramfs-3.10.0-693.el7.x86_64.img

生成伪文件系统(ramdisk或者initramfs文件的制作):

(1) mkinitrd命令     为当前正在使用的内核重新制作ramdisk文件         mkinitrd   /boot/initramfs-$(uname -r).img $(uname -r)

(2) dracut命令        为当前正在使用的内核重新制作ramdisk文件         dracut     /boot/initramfs-$(uname -r).img $(uname -r)

系统启动流程

post 加电自检

BIOS +  MBR

MBR中前446个字节存放的是GRUB软件中的bootloader程序

UEFI +  GPT

MBR引导

寻找MBR扇区中前446个字节的数据

GRUB

GRUB是一个复杂的软件,它安装在磁盘的不同位置

一部分安装在MBR中的前446个字节 MBR不属于任何分区     是以二进制的方式进行读写

另外一部分安装在 /boot/grub 中

如果需要访问boot分区下的文件,就必须首先识别boot分区的文件系统,如果需要识别文件系统,就必须首先加载对应文件系统的驱动.

GRUB启动被分为3个stage

1 stage                   执行 bootloader中的446个字节的程序

1.5 stage                MBR存在第一个扇区,把boot分区的文件系统驱动存储在MBR后面的几个扇区

2 stage                   读取boot分区下的文件

加载内核文件

/boot/vmlinuz-VERSION-release 加载内核后开始访问硬盘上的根分区,找到根以后启动系统中的第一个进程

内核文件是随着操作系统的发行一起发布的,存储在光盘中

根分区是在grub的配置文件中作为内核启动参数传递给内核的

/boot/initramfs-VERSION-release.img 就是用来加载根分区所属的文件系统的驱动,进而读取根分区下面的文件

伪文件系统文件是在安装操作系统的时候临时生成的,因为只有在装操作系统的时候才知道根分区采用的是什么文件系统类型

bootloader引导加载器

Windows: ntloader  仅是启动os  不支持Linux

Linux:       GRUB     功能丰富,同时支持Linux和windows

安装Windows的时候就会默认安装windows的bootloader,安装Linux的时候就会安装Linux的bootloader

后安装的操作系统的bootloader会覆盖掉前面安装的bootloader

一个主机只能安装一个bootloader.如果要在一台主机上安装双系统,最好先安装Windows然后再安装Linux.

原文地址:https://www.cnblogs.com/yxh168/p/9004992.html

时间: 2024-10-04 17:25:39

Linux系统启动和内核管理的相关文章

Linux系统启动与内核管理(下)

从上一篇介绍了系统启动流程可以得知,在BIOS读取相关信息之后,接下来就是去找第一个可以启动的设备当中的MBR中读取Boot Loader信息,Boot Loader提供具有惨淡功能,直接加载内核信息,以及相关的控制权转交功能.启动系统必须有Boot Loader,然后才能去加载内核,Boot Loader存储于MBR当中,MBR只有512字节,其中前446字节存储Boot Loader,区区只有446自己不可能容纳较多的功能,Linux将Boot Loader的程序运行与配置项加载分成三个阶段

linux基础—课堂随笔010_系统启动和内核管理

系统启动和内核管理 Linux: kernel+rootfs kernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 rootfs:程序和glibc 库:函数集合, function, 调用接口(头文件负责描述) 程序:二进制执行文件 内核设计流派: 单内核(monolithic kernel):Linux 把所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂 微内核(micro kernel):Windows, Solaris 每种功能使一个单独子系统实现,将内核功能

Linux入门之内核管理番外篇(4)udev入门(1)

Linux入门之内核管理番外篇(4)udev入门(1) 前言 在上篇中的内核模块管理讲解中,最后或多或少会留下一些疑问,那么这些疑问就是内核模块的参数是怎么和对应的硬件所匹配上的,而硬件又是怎么被内核识别,并且一个个都映射成实际存在的文件,而这些文件之间的关系及作用.当然在最后了解到,这些硬件设备的探测信息是通过一个叫udev的工具来实现的,通过udev中配置的规则可以很有效的识别每一个硬件,并配合sysfs文件系统,将每个探测到的硬件信息导入到/sys目录中,那么与/proc目录对与内核系统信

Linux启动和内核管理

系统启动和内核管理 Linux组成 Linux:kerne+rootfs(应用程序) kernel:进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 roots:程序和glibc 函数:相当于命令的集合 库:函数集合,function,调用接口(头文件负责描述) 过程调用:procedure,无返回值 函数调用:function 程序:二进制执行文件 内核设计: 单内核(monolithic kernel):Linux 把所有功能集成于一个同一个程序 微内核(micro kernel)

Liunx 系统启动和内核管理总结

Liunx 系统启动和内核管理总结 Liunx系统启动 一.硬件启动流程 (1).打开电源 (2).BIOS: 1. POST 初始化硬件设备,检查系统外围主要设备(CPU,内存,硬盘,显卡i-o设备,键盘鼠标) 2.确定启动设备 -根据BIOS设置的启动顺序,检测驱动器(硬盘,光盘,U盘,网络) --如果硬盘是启动项,读取硬盘第一个扇区(MBR,512字节)到内存 ---控制区转给MBR中的Boot loader (3).MBR 1.执行MBR中Bootloader 2.MBR由主引导程序,硬

Linux 第20天: (09月12日) Linux启动和内核管理

本章内容 CentOS 5和6的启动流程服务管理Grub管理自制Linux启动排错编译安装内核 Linux组成Linux: kernel+rootfskernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能rootfs:程序和glibc库:函数集合, function, 调用接口(头文件负责描述)过程调用:procedure,无返回值函数调用:function程序:二进制执行文件内核设计流派:单内核(monolithic kernel):Linux把所有功能集成于同一个程序微内

Linux 0.12 内核管理存储器

其分段,用分段的机制把进程间的虚拟地址分隔开. 每一个进程都有一张段表LDT.整个系统有一张GDT表.且整个系统仅仅有一个总页表. 其地址翻译过程为: 程序中给出的32位地址(实际上被看做段内偏移地址),再依据代码段寄存器CS中的16位段选择子,可在GDT或LDT中查找对应的段描写叙述符.从段描写叙述符中提取段的基地址,与程序给出的32位地址相加.得到结果为线性地址. 依据此线性地址查找系统页文件夹表,再查二级或是多级页表,终于得到物理地址. 此方式系统仅仅有一个4G的线性地址空间由各进程共享(

Linux 自学笔记——内核管理初步及编译

Linux Kernel: 内核设计体系:单内核.微内核: 内核的组成部分: 1.Kernel:内核核心,一般为bzimage,通常位于/boot目录,名称为vmlinuz-VERSION-release: 2.Kernel object:内核对象,即内核模块,一般放置于/lib/modules/VERSION-release/,maninfo命令通过读取此文件的信息以显示相关信息: 内核模块与内核核心版本一定要严格匹配: []:N: [M]:Module,编译进模块中: [*]:Y,编译进内核

Linux系统管理(一)Linux设备和内核管理

设备和内核管理 一.  设备管理概述 1.Linux设备的分类 字符设备(c):以字符为单位,传输速率较低,无需缓冲区. 块设备(b):以数据块为单位组织和传输数据,需要建立缓冲区 网络设备(s):一种通过SOCKET接口进行主机通信的设备 2.设备文件 (1)功能 用于用户访问设备进行输入和输出操作 (2)常见的设备文件 /dev/hd*   IDE接口的硬盘(IDE接口的设备) /dev/sd*   SCSI/USB设备 /dev/cua*  串口设备 /dev/lp*  并口设备 /dev