日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

MBR的Linux分区机制启动过程,linux系统启动流程(MBR)

發布時間:2023/12/4 linux 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MBR的Linux分区机制启动过程,linux系统启动流程(MBR) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總:POST---> Boot Squence ---> Bootloader ---> kernel ---> init

---> 完成啟動

系統:CentOS6

1、按下電源,cpu找到CMOS中的BIOS并運行起來,這個小程序會完成硬件自檢。

BIOS:Basic Input and Output System

2、bios會根據設置的boot squence來找設備上的MBR,找到以后控制權移交給MBR中的bootloader(1 stage).

MBR存在磁盤上的0號扇區。

有3部分組成:

446:bootloader

64: 分區表 16個字節表示一個分區

2: 55AA

3、bootloader加載MBR之后的一部分扇區中的基本文件系統驅動(1.5 stage),如之后的27個扇區。然后再加載引導分區中的第2階段。linux上面的bootloader程序是GRUB.

GRUB有3個階段組成。

bootloader:1st stage

Partition:filesystem driver, 1.5 stage

Partition:/boot/grub, 2nd

stage

因為1.5階段的文件系統驅動只能驅動基本文件系統,所以第2階段所在的分區不能使用lvm或軟raid之類的上層文件系統。

4、加載第2階段以后,會提供一個選擇啟動系統的窗口。內容就是/boot/grub/grub.conf文件中的各條目。

如果所選條目就是本機的linux系統的話:

在點擊進入系統之后。GRUB會加載grub.conf文件中指定的內核和要傳遞給內核的參數。參數中有真實根的地址。有時候還要加載與內核同版本的initrd。 initrd是一個模擬根的文件,由GRUB把它與內核一起加載到內存。此文件展開以后就是一個虛擬的根。內核工作于此根中并開始以只讀方掛載真實的根。所需驅動和程序在此根中加載。掛載完成以后開始把一些必要文件,如設備文件復制到真實的根。然后執行根切換。如果沒有initrd文件,內核會直接掛載真實的根,如果內核里面沒有根分區的驅動,則系統啟動失敗。

而如果所選條目是指向其它分區的另一個系統,則GRUB的控制權移交給那個分區首部的引導程序來管理(各個分區首部保留有引導空間(linux上面好像是1024Byte),也正是這樣才有了雙系統或多系統)。

kernel:自身初始化:

探測可識別到的所有硬件設備;

加載硬件驅動程序;(有可能會借助于ramdisk加載驅動)

以只讀方式掛載根文件系統;

運行用戶空間的第一個應用程序:/sbin/init

initrd文件有兩種:ramdisk

ramfs

Linux內核的特性之一:使用緩沖和緩存來加速對磁盤上的文件訪問;

在使用ramdisk的時候,在內存中模擬成磁盤,但因為磁盤都要有緩沖(buffer)和緩存(cache),這樣的結果就是還要在內存中使用緩沖和緩存。多此一舉,所以就有了ramfs。

在使用ramfs的時候,直接在內存中模擬成文件系統,不需要在內存中使用緩沖和緩存。

可以生成initrd的工具。可以手動用以下工具生成。

CentOS 5: initrd(ramdisk)

工具程序:mkinitrd

CentOS 6,7:

initramfs(ramfs)

工具程序:dracut, mkinitrd(腳本)

5、根切換完成以后,內核開始執行第一個用戶空間應用程序(如果之前的切換根不算的話)/sbin/init。之后內核退居幕后,前面由init程序來負責。init負責啟動初始化已定義的各種服務程序和環境。

init就是用戶空間的所有程序的祖先。

init是完成系統用戶空間初始化的項目總稱,它在不同的系統版本上有不同的實現:

init程序的類型:

CentOS 5-:SysV init

配置文件:/etc/inittab

CentOS 6:Upstart

配置文件:/etc/inittab

/etc/init/*.conf

CentOS 7:Systemd

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

/etc/systemd/system/

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的MBR的Linux分区机制启动过程,linux系统启动流程(MBR)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。