首页 > 编程知识 正文

uefi启动方式硬盘分区,设置mbr启动模式

时间:2023-05-05 11:26:36 阅读:10838 作者:4018

完成总--- boots quence---- boot loader---- kernel---- init---- Linux的启动

系统: CentOS6ios

另一方面,按下电源后,cpu找到并运行CMOS BIOS,该小程序完成硬件自检。 小程序

BIOS :基本输入和输出系统缓存

二、bios根据设置的boot squence查找设备上的MBR,找到后将控制权移交给MBR中的bootloader(1stage ).ide

MBR中存在磁盘上的0号扇区。 工具

有三个组成部分:

446 :引导加载器

64:分区表16字节表示分区

2: 55AAspa

三、引导加载器加载MBR以后的一些扇区中的基本文件系统驱动(1.5 stage ),例如以后的27个扇区。 加载引导分区的第2阶段。 博客

linux上的引导加载程序是GRUB .内存

GRUB有三个阶段。

引导加载器: 1st stage

分区:文件系统驱动程序,1.5 stage

分区:/boot/grub,2nd stageci

第1.5阶段的文件系统驱动程序只能驱动基本文件系统,因此第2阶段的分区不能使用较高级别的文件系统,如lvm和软raid。

四.加载第二阶段后,将提供一个窗口,您可以在其中选择引导系统。 内容是/boot/grub/grub.conf文件中的每个条目。

如果选定的条目是本地linux系统:

点击进入系统后。 GRUB加载传递给grub.conf文件中指定的内核和内核的参数。 参数中有真正路由的地址。 有时也会加载与内核相同版本的initrd。 initrd是模拟根的文件,GRUB与内核一起加载到内存中。 此文件解压缩后,将成为虚拟根。 内核工作是通过此路由进行的,并开始在只读端挂载真正的路由。 所需的驱动程序和程序将加载到此路由中。 装载完成后,开始将所需文件(如设备文件)复制到实际根。 然后执行路线切换。 如果没有initrd文件,内核将直接装载实际的路由,如果内核中没有根分区的驱动程序,系统将无法启动。

如果选定条目是指向其他分区的另一个系统,则GRUB的控制权将传递给该分区开头的引导程序进行管理。 每个分区的开头都有引导空间(在linux上似乎是1024字节)。 这样就可以有双系统或多系统。

内核3:

自我初始化:

检测所有可识别的硬件设备;

加载硬件驱动程序; (可能使用ramdisk加载驱动器)

以只读方式装载根文件系统;

执行使用者空间中的第一个APP应用程式:/sbin/init

initrd文件有两种类型。

ramdisk

随机存取存储器

Linux内核的一个特性是使用缓冲区和缓存加快对磁盘上文件的访问。

如果使用ramdisk,则在内存中模拟磁盘,但由于磁盘需要“缓冲区”(buffer )和“缓存”(cache ),因此内存将使用缓冲区和缓存。 因为画蛇添足,所以有了射频。

如果使用ramfs,则无需在内存中使用缓冲区和缓存,因为它直接在内存中模拟文件系统。

可以生成initrd的工具。 可以手动通过以下工具生成:

centos 5:初始化(ramdisk ) )。

工具: mkinitrd

centos 6,7: init ramfs (ramfs ) )。

工具: dracut、mkinitrd (脚本) ) ) ) ) ) ) ) )。

五、路由切换完成后,内核开始运行第一个用户空间APP应用(如果以前的切换路由没有计算)/sbin/init。 今后内核将退出幕后,前面由init计划负责。 init负责初始化定义的各种服务流程和环境。

init是用户空间中所有程序的祖先。

init是完成系统用户空间初始化的项目的总称,实现因系统版本而异。

init计划类型:

CentOS 5-:SysV init

配置文件:/etc/inittab

CentOS 6:Upstart

配置文件:/etc/inittab

/etc/init/*.conf

centos7:系统

配置文件:/usr/lib/systemd/system/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。