Linux引导系统流程图:一目了然 (linux引导系统的流程图)

Linux 引导系统流程图:一目了然

Linux 操作系统虽然已经成为现代计算机中使用最广泛的操作系统,但是其启动过程却一直是困扰用户的难题。操作系统的启动过程比较复杂,包括硬件自检、引导加载器的启动、内核启动等多个环节。为方便大家更好地了解 Linux 引导系统的流程,本文将介绍 Linux 引导系统的流程图,帮助读者更好地了解 Linux 引导系统的启动过程。

一、硬件自检

当计算机上电之后,它首先会进行硬件自检(POST),这会让 CPU 对各个硬件部件进行检查并确定它们是否可用。该过程没有任何用户交互,自动化地执行自检程序,帮助确认硬件的正确工作。经过硬件自检,系统的 BIOS(Basic Input/Output System,基本输入输出系统) 检测启动设备,如果找到了可以引导系统的设备,则将控制权传递给引导加载器。

二、引导加载器

引导加载器是一段启动过程中关键的代码,它的主要作用是加载操作系统内核并传递控制权,进而启动操作系统。引导加载器的种类很多,其中最著名的是 Grub(GNU Grand Unified Bootloader),他是一种功能强大的多操作系统引导程序,是 Linux 系统中最常用的引导程序。在 Linux 引导系统流程中,引导加载器占据了很重要的地位。

三、内核启动

一旦引导加载器能够找到并加载操作系统内核,操作系统内核就开始启动。在内核启动的过程中,它首先初始化并配置内存管理单元(MMU),这是操作系统的核心部分,因为它能够让操作系统访问内存。之后,内核会进行系统初始化,它会检查硬件并安装必要的驱动程序,如磁盘驱动、网络驱动等,以便能够与硬件交互。

四、根文件系统挂载

内核成功初始化并加载所有必要的驱动程序后,它会尝试将根文件系统挂载到正确的位置。引导加载器预设根文件系统是哪个设备,内核就会将这个设备上的根文件系统挂载到文件系统根目录(“/”)。这是 Linux 系统中最重要的步骤之一,因为根文件系统中包含了所有的操作系统核心文件和用户数据。

五、启动 init 进程

当内核完成根文件系统的挂载时,它会启动 init 进程。这是 Linux 系统启动的最后一步,这是一个特殊的进程,它时刻关注系统状态,并维护着操作系统的整个生命周期。init 进程的主要任务是启动并管理其它系统进程,它通常会在 Linux 系统中作为一个 deamon 运行,在后台运行,以便能够定期执行一些任务、监视系统状态并维护系统稳定性。

六、系统启动完毕

当所有进程都已启动并配置完毕时,系统就启动完毕了。此时,用户可以登录系统,并开始使用 Linux 操作系统。

Linux 引导系统流程图深入剖析了 Linux 操作系统在启动过程中的每一个步骤,我们可以更好地了解内核启动顺序,并深入理解启动过程中的各个细节。同时,我们也可以从流程图中找到如何在启动过程中处理异常等问题,在操作系统出现问题时可以帮助解决问题。了解 Linux 引导系统流程图,可以帮助用户更好地理解 Linux 操作系统的启动过程,并且更加熟练地进行系统维护工作。

相关问题拓展阅读:

linux系统下 程序中运行操作系统命令,详细解释

调用系统中bin目录下的ls函数,并完全替代现在这个程序的代码,ls即遍历所有文件名函数

S中设置的启动设备(通常是硬盘)启动,

接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,

接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系

统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登

录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。

加载内核

LILO启动之后,如果你选择了Linux作为准备引导的操作系统,之一个被加载的东西就是内核。请记住此时的计算机内存中还不存在任何操作系统, PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存。因此,内核就必须完整地加载到可用RAM的之一个兆字节之内。为了实现这个目的,内核是被压缩了的。这个文件的头部包含着必要的代码,先设置CPU进入安全模式(以此解除内存限制),再对内核的剩余部分进行解压缩。

执行内核

内核在内存中解压缩之后,就可以开始运行了。此时的内核只知道它本身内建的各种功能,也就是说被编译为模块的内核部分还不能使用。最基本的是,内核必须有足够的代码设置自己的虚拟内存子系统指培和根文件系统(通常就是ext2文件系统)。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统之后,将启动并运行一个叫做 init的程序。

注意:在这里我们故意略去了Linux内核启动的许多细节,这些细节只有内核开发人员才感兴趣。如果你好奇的话,可以访问http://地址处的 “Kernel Hackers Guide”。

init进程

init进程是非内核进程中之一个被启动运行的,因此它的进程编号PID的值总是1。init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel)。从根本上说,运行级别规定了整个系统的行为,每个级别(分别由0到6的整数表示)满足特定的目的。如果定义了 initdefault级别,这个值就直接被选中,否则需要由用户输入一个代表运行级别的数值。

输入代表运行级别的数字之后,init根据/etc/inittab文件中的定义执行一个命令脚本程序。缺省的运行级别取决于安装阶段对登录程序的选择:是使用基于文本的,还是使用基于X-Window的登录程序。

rc命令脚本程序

我们已经知道,当运行级别发生改变时,将由/etc/inittab文件定义需要运行哪一个命令脚本程序。这些命令脚本程序负责启动或者停止该运行级别特定的各种服务。由于需要管理的服务数量很多,因此需要使用rc命令脚本程序。其中,最主要的一个是/etc/rc.d/rc,它负责为每一个运行级别按照正确的顺序调用相应的命令脚本程序。我们可以想象,这样一个命令脚本程序很容易变得难以控制!为了防止这类事件的发生,需要使用精心设计的方案。

对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。这些运老磨行级别的下级子目录的命名方法是rcX.d,其中的X就是代表运行级别的数字。比如说,运行级别3的全部命令脚本程序都保存在/etc/rc.d/rc3.d子目录中。

在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接,但是,这些符号链接并不使用命令脚本程序在 /etc/rc.d/init.d子目录中原来的名字。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以侍逗斗字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。

许多情况下,这些命令脚本程序的执行顺序都很重要。如果没有先配置网络接口,就没有办法使用DNS服务解析主机名!为了安排它们的执行顺序,在字母S 或者K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。比如:/etc/rc.d/rc3.d/S50inet就会在 /etc/rc.d/rc3.d/S55named之前执行(S50inet配置网络设置,S55named启动DNS服务器)。

存放在/etc/rc.d/init.d子目录中的、被符号链接上的命令脚本程序是真正的实干家,是它们完成了启动或者停止各种服务的操作过程。当 /etc/rc.d/rc运行通过每个特定的运行级别子目录的时候,它会根据数字的顺序依次调用各个命令脚本程序执行。它先运行以字母K打头的命令脚本程序,然后再运行以字母S打头的命令脚本程序。对以字母K打头的命令脚本程序来说,会传递Stop参数;类似地对以字母S打头的命令脚本程序来说,会传递 Start参数。

编写自己的rc命令脚本

在维护Linux系统运转的日子里,肯定会遇到需要系统管理员对开机或者关机命令脚本进行修改的情况。有两种方法可以用来实现修改的目的:

● 如果所做的修改只在引导开机的时候起作用,并且改动不大的话,可以考虑简单地编辑一下/etc/rc.d/rc.local脚本。这个命令脚本程序是在引导过程的最后一步被执行的。

● 如果所做的修改比较细致,或者还要求关闭进程使之明确地停止运行,则需要在/etc/rc.d/init.d子目录中添加一个命令脚本程序。这个命令脚本程序必须可以接受Start和Stop参数并完成相应的操作。

之一种方法,编辑/etc/rc.d/rc.local脚本,当然是两种方法中比较简单的。如果想在这个命令脚本程序中添加内容,只需要使用喜欢的编辑器程序打开它,再把打算执行的命令附加到文件的末尾就可以了。这对一两行的修改来说的确很便利。

如果确实需要使用一个命令脚本程序,这时必须选择第二个方法。编写一个rc命令脚本程序的过程并不像想象中那么困难。我们下面就给出一个例子,看看它是怎样实现的(顺便说一句,你可以把我们的例子当作范本,按照自己的需要进行修改和添加)。

假设你打算每隔60分钟调用一个特殊的程序来弹出一条消息,提醒自己需要从键盘前面离开休息一会儿,命令脚本程序将包括下面几个部分:

● 关于这个命令脚本程序功能的说明(这样就不会在一年之后忘记它);

● 在试图运行它之前验证这个命令脚本程序确实存在;

● 接受start和stop参数并执行要求的动作。

参数给定后,我们就可以编写命令的脚本程序。这个程序很简单,大家可以自己编写一下,我在这里就不给出了。

编写好新的命令脚本程序之后,再从相关的运行级别子目录中加上必要的符号链接,来控制这个命令脚本程序的启动或者停止。在我的印象中,只想让它在运行级别3或者运行级别5中启动,原因是我认为只有这两个运行级别才是日常工作的地方。最后,希望这个命令脚本程序在进入运行级别6(重启动)的时候被关闭。

激活或者禁止服务项目

有的时候会发现,在引导的时候并不需要某个特定的服务被启动。如果你正在考虑使用Linux替换Windows NT的文件和打印服务器,就更是如此。

我们已经知道,在特定的运行级别子目录中给符号链接改个名称,就可以让该服务不被启动,如把其名称的之一个字母由S改为K。一旦熟练掌握了命令行和符号链接,就会发现这是激活或者禁止服务的最快办法。

在学习这个改名方法的时候,可能会觉得图形化的操作界面ksysv比较容易掌握。虽然它原来是设计使用在KDE环境里的,但在 Red Hat Linux 7.2下缺省安装的GNOME环境里也运行得很好。如果想启动它,只需简单地打开一个xterm窗口,并输入ksysv命令就可以了。屏幕上会出现一个窗口,其中列出了能够修改的全部参数,需要时还包括在线帮助。

警告:如果是在一个现实中的系统上学习本文的知识,要多多运用常识。当试着对启动脚本程序进行修改的时候,要记住所做的修改可能会造成你的系统不能正常工作,而且无法采用重启动的方法恢复。不要在正常运转的系统上实验新的设置,对你准备修改的文件要全部进行备份。最重要的是,在手边要准备一张引导盘以防不测

另外,虚机团上产品团购,超级便宜

刚才我看了一下资料execl是linux里C的一虚枝个函数悄饥。

应该不是单独的linux系统命令,下面是execl这个函数的相关启誉返说明。

PE下如何安装linux

步骤如下:

1:下载安装完UltraISO之后双击打开,选择”继续使用“这样不需要注册码也能够使用。

2、选择rhel-server-6.4-x86_64-boot.iso ”写入硬盘镜像“到U盘之前我已经将U盘中的所有数据已经删除,所以可以直接选择”写入“,U盘会自动格式化掉。刻录完成之后,点击”返回“即可

3、将rhel-server-6.4-x86_64-dvd.iso 镜像中isolinux目录下的initrd.img、vmlinuz”提取”到U盘的根目录下鼠标右击会看到”提取到“,将上面两个孝枯猜文件提取到U盘的根目录下

4、将rhel-server-6.4-x86_64-dvd.iso 镜像中images目录下的efidisk.img、install.img”提取”到U盘的images目录下。

扩展资料

Linux是一套免费使用和败首自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、

应用程序和网络协议。巧型它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

参考资料来源:

百度百科:linux

1、下载Linux系统镜像;

2、在镜像之中我衡衡凯们可咐唤以看见wubi.exe,所谓wubi其实就是windows ubuntu install。一般意义之上其都是提供给希望做

双系统

的用户使用,而其也是提供了完全ubuntu安装的选项。

3、在PE操作系统之中运行wubi程序,会弹出如下界面,点击完全安装。

4、安装运拦燃行成功,在windows pe之中有愈加丰富的API支持,所以说wubi才是可以运行成功。

这个是可以的,下面具体介绍一下:

1、启动服务器进入BIOS中,选择U盘启动;

2、之一个进入安装界面 (注意了,这里才开始是关键之处),然后选择安装语言(默认)(进入这里的时候不要慌张,不要以为进入了无界面安装);

3、选择键盘语言语言(默认),接着选择通过何种方式安装,然后选择镜像所在的位置;

4、自定义分携迟逗区时一定不要选择U盘,然后rhel6.4安装包时需要自定义安装,接着安装完成之后会显示”reboot“,这时不能拔U盘,需要grub设置服务器硬盘启动。

扩展资料:

Linux是一套免费使用和自由传播的类Unix操作辩卖系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是之一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑旦基、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

参考资料

Linux-百度百科

WinPE工具可以借助U盘来安装Linux系统,下面以U盘WinPE安装Centos6.4系统为例,方法如滚袜下:

1.在U盘上安装好WinPE(可肆冲以选择老毛桃U盘工具、大白菜PE等)

2.在U盘根目录建立一个名为LMT的目录,大雹激将CentOS-6.4-x86_64-minimal.iso镜像拷入U盘下的LMT目录。

3.将U盘插入电脑。重启电脑,进入BIOS选择U盘启动,F10保存退出。

4.系统从U盘启动以后显示出老毛桃的启动菜单。

5.菜单中有一项“启动自定义ISO/IMG文件(LMT目录)”,选择该项。

6.系统会列出LMT目录中的ISO文件,直接输入对应的ISO镜像序号就可以安装了(如下图所示01为要安装的CentOS镜像,直接输入01回车安装即可)。

Linux为什么要用这种方式安装,网上一堆族枝的除DVD和CD以外的其它安装方式,就是用PE的方式去安装Linux有点怪,有点像把四个轮子的汽车放到只会修摩托车的店里。RHEL的引导一般都是那两个主要文件,一个是initrd,一个是vmlinuz,兄首只加载ISO应该是不行的吧,我看过许多的ISOLinux制作的多启动引导,只要是Linux,引导都兆尘敏不会和WinPE那些一样。

关于linux引导系统的流程图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux引导系统流程图:一目了然 (linux引导系统的流程图)