精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux 系統(tǒng)開機(jī)加電后發(fā)生了什么?

系統(tǒng) Linux
關(guān)于linux系統(tǒng)的啟動(dòng)流程我們可以按步進(jìn)行劃分為如下,一起來看看吧。

[[440850]]

 linux系統(tǒng)的啟動(dòng)流程

關(guān)于linux系統(tǒng)的啟動(dòng)流程我們可以按步進(jìn)行劃分為如下:

BIOS

  •  POST自檢
  •  BIOS(Boot Sequence)

引導(dǎo)操作系統(tǒng)

  •  加載對(duì)應(yīng)引導(dǎo)上的MBR(bootloader)
  •  主引導(dǎo)設(shè)置加載其BootLoader

加載操作系統(tǒng)

啟動(dòng)BIOS,準(zhǔn)備實(shí)模式下的中斷向量表和中斷服務(wù)程序

電腦啟動(dòng)后,CPU邏輯電路被設(shè)計(jì)為只能運(yùn)行內(nèi)存中的程序,沒有能力直接運(yùn)行存在于軟盤或硬盤中的操作系統(tǒng),如果想要運(yùn)行,必須要加載到內(nèi)存(RAM)中。

BIOS是如何啟動(dòng)的,CPU硬件邏輯設(shè)計(jì)為在加電瞬間強(qiáng)行將CS值置為0XF000,IP為0XFFF0,這樣CS:IP就指向0XFFFF0這個(gè)位置,這個(gè)位置正是BIOS程序的入口地址。

BIOS程序被固化在計(jì)算機(jī)主機(jī)板上的一塊很小的ROM芯片里?,F(xiàn)在CS:IP已經(jīng)指向了0XFFFF0這個(gè)位置,意味著BIOS開始啟動(dòng)。

POST自檢

BIOS的第一步動(dòng)作就是進(jìn)行 上電自檢(POST)

POST的工作是檢查硬件設(shè)備。隨著BIOS程序的執(zhí)行,屏幕上會(huì)顯示顯卡的信息,內(nèi)存的信息等,

初始化設(shè)備

BIOS的第二步動(dòng)作就是 枚舉本地設(shè)備并初始化

有一項(xiàng)對(duì)啟動(dòng)操作系統(tǒng)至關(guān)重要的工作,那就是BIOS在內(nèi)存中建立中斷向量表和中斷服務(wù)程序

BIOS程序在內(nèi)存最開始的位置(0x00000)用1KB的內(nèi)存空間(0x00000~0x003FF)構(gòu)建中斷向量表,在緊挨著它的位置用256KB的內(nèi)存空間構(gòu)建BIOS數(shù)據(jù)區(qū)(0x00400~0x004FF),并在大約57KB以后的位置(0x0e05b)加載了8KB左右的與中斷向量表相應(yīng)的若干中斷服務(wù)程序。

中斷向量表有256個(gè)中斷向量,每個(gè)中斷向量占4個(gè)字節(jié),其中兩個(gè)字節(jié)是CS值,兩個(gè)字節(jié)是IP值。每個(gè)中斷向量都指向一個(gè)具體的中斷服務(wù)程序。

BIOS-runtime服務(wù)按照boot啟動(dòng)順序搜索設(shè)備,尋找BBR

由于BIOS功能使用上的不同,它由兩個(gè)部分組成:POST和runtime服務(wù)。POST完成后,它將從存儲(chǔ)器中被清除,但是BIOS runtime服務(wù)會(huì)被保留,用于目標(biāo)操作系統(tǒng)。

為了啟動(dòng)操作系統(tǒng),BIOS的runtime服務(wù)將搜索那些激活狀態(tài)的或是可引導(dǎo)啟動(dòng)的設(shè)備,搜索的順序則由CMOS設(shè)置決定(也就是我們平時(shí)所謂的在BIOS中設(shè)置的啟動(dòng)順序)。一個(gè)軟驅(qū),一臺(tái)光驅(qū),一個(gè)硬盤上的分區(qū),網(wǎng)絡(luò)上的設(shè)備甚至一個(gè)usb 閃存盤都可以作為一個(gè)啟動(dòng)設(shè)備。

當(dāng)然,linux通常是從硬盤啟動(dòng)的。硬盤上的MBR(主啟動(dòng)記錄)包含有基本的boot loader,它是一個(gè)512字節(jié)大小的扇區(qū),位于磁盤的第一個(gè)扇區(qū)(0磁頭0磁道1扇區(qū))。當(dāng)MBR被裝載到RAM中后,BIOS就會(huì)將控制權(quán)轉(zhuǎn)交給MBR。

引導(dǎo)操作系統(tǒng)內(nèi)核并為保護(hù)模式做準(zhǔn)備

位于MBR中的主 boot loader 是一個(gè)512字節(jié)的鏡像,其中不僅包含了 bootload 程序代碼,還包含了一個(gè)小的分區(qū)表。

最初的446字節(jié)是主 boot loader,它里面就包含有可執(zhí)行代碼以及錯(cuò)誤消息文本。接下來的64字節(jié)是分區(qū)表,其中包含有四個(gè)分區(qū)的各自的記錄(一個(gè)分區(qū)占16字節(jié))。MBR 通過特殊數(shù)字 0xAA55(譯者注:在電子界中 AA55 確實(shí)是具有傳奇色彩的數(shù)字,想知道為什么么?將它展開成二進(jìn)制形式,看看有什么規(guī)律)作為兩個(gè)字節(jié)的結(jié)束標(biāo)志。0x55AA 同時(shí)也是 MBR 有效的校驗(yàn)確認(rèn)。

首先對(duì)CPU發(fā)送 int 0x19 中斷,使CPU運(yùn)行 int 0x19 中斷對(duì)應(yīng)的中斷服務(wù)程序,這個(gè)中斷服務(wù)程序的作用就是把軟盤第一個(gè)扇區(qū)的程序加載到內(nèi)存的指定位置。

主 boot loader 的工作是尋找并加載次 boot loader(內(nèi)核加載程序)

它通過分析分區(qū)表,找出激活分區(qū)來完成這個(gè)任務(wù),當(dāng)它找到一個(gè)激活分區(qū)時(shí),它將繼續(xù)掃描剩下的分區(qū)表中的分區(qū),以便確認(rèn)他們都是未激活的。

確認(rèn)完畢后,激活分區(qū)的啟動(dòng)記錄(次 boot loader)從設(shè)備中被讀到 RAM,并被執(zhí)行。

其中加載過程需要借助 BIOS 提供的int 0x13中斷向量指向的中斷服務(wù)程序來完成。該程序?qū)④洷P第二個(gè)扇區(qū)開始的4個(gè)扇區(qū),即 setup.s 對(duì)應(yīng)的程序加載至內(nèi)存的 SETUPSEG(0x90200)處。

把第一階段和第二階段的 boot loaders 聯(lián)合起來,就是在x86個(gè)人電腦中,我們所說的 linux loader(LILO)或者 GRand Unified Bootloader(GRUB)。由于 GRUB 修正了一些 LILO 中存在的缺陷,因此下面就讓我們來看看 GRUB(如果你希望得到更多的關(guān)于 GRUB,LILO 和與之相關(guān)話題的討論資源,請(qǐng)見文后的參考資料)

 對(duì)于 GRUB 來說,一個(gè)比較好的方面就是它包含了 linux 文件系統(tǒng)的知識(shí)。與LILO使用裸扇區(qū)不同的是,GRUB 能夠從 ext2 或者 ext3 文件系統(tǒng)中加載 linux 內(nèi)核。它是通過將本來兩階段的 boot loader 轉(zhuǎn)換成三個(gè)階段的 boot loader。在第一階段(MBR)中會(huì)啟動(dòng) stage1.5 的 boot loader 來理解 linux 內(nèi)核鏡像中的特殊的文件系統(tǒng)格式,例如,reiserfs_stage1-5(用于從reiserf日志文件系統(tǒng)中進(jìn)行加載)或 e2fs + stage1_5 (用于從wxt2或ext3文件系統(tǒng)進(jìn)行加載)。當(dāng) stage1.5 的 boot loader 被加載并運(yùn)行時(shí),stage2 的 boot loader 才能被加載。當(dāng) stage2 被加載時(shí),GRUB能根據(jù)請(qǐng)求的情況顯示一個(gè)可選內(nèi)核的清單(在 /etc/grub.conf 中進(jìn)行定義,同時(shí)還有幾個(gè)軟符號(hào)鏈接 /etc/grub/menu.lst 和 /etc/grub.conf)。你可以選擇一個(gè)內(nèi)核,修改其附加的內(nèi)核參數(shù)。同時(shí),你可以選擇使用命令行的shell來對(duì)啟動(dòng)過程進(jìn)行更深層次的手工控制。

在次 boot loader 存在與內(nèi)存中后,就可以對(duì)文件系統(tǒng)進(jìn)行查詢了,同時(shí)將默認(rèn)的內(nèi)核鏡像以及初始化內(nèi)存盤鏡像也被加載到內(nèi)存中。

一切準(zhǔn)備完畢之后,次 boot loader 就會(huì)調(diào)用內(nèi)核鏡像,完成操作系統(tǒng)的加載。

加載內(nèi)核并從實(shí)模式轉(zhuǎn)換為保護(hù)模式

當(dāng)內(nèi)核映像被加載到內(nèi)存中(加載過程仍然用int 0x13中斷向量),并且次引導(dǎo)加載程序釋放控制權(quán)之后,內(nèi)核階段就開始了。

加載內(nèi)核鏡像

內(nèi)核映像并不是一個(gè)可執(zhí)行的內(nèi)核,而是一個(gè)壓縮過的內(nèi)核映像。通常它是一個(gè) zImage(壓縮映像,小于 512KB)或一個(gè) bzImage(較大的壓縮映像,大于 512KB),它是提前使用 zlib 進(jìn)行壓縮過的。在這個(gè)內(nèi)核映像前面是一個(gè)例程,它實(shí)現(xiàn)少量硬件設(shè)置,并對(duì)內(nèi)核映像中包含的內(nèi)核進(jìn)行解壓,然后將其放入高端內(nèi)存中,如果有初始 RAM 磁盤映像,就會(huì)將它移動(dòng)到內(nèi)存中,并標(biāo)明以后使用。然后該例程會(huì)調(diào)用內(nèi)核,并開始啟動(dòng)內(nèi)核引導(dǎo)的過程。

當(dāng) bzImage(用于 i386 映像)被調(diào)用時(shí),我們從 ./arch/i386/boot/head.S 的 start 匯編例程開始執(zhí)行。

這個(gè)例程會(huì)執(zhí)行一些基本的硬件設(shè)置,并調(diào)用 ./arch/i386/boot/compressed/head.S 中的 startup_32,設(shè)置一個(gè)基本的環(huán)境(堆棧等),并清除 Block Started by Symbol(BSS)。然后調(diào)用一個(gè)叫做 decompress_kernel 的 C 函數(shù)(在 ./arch/i386/boot/compressed/misc.c 中)來解壓內(nèi)核。當(dāng)內(nèi)核被解壓到內(nèi)存中之后,就可以調(diào)用它了。這是另外一個(gè) startup_32 函數(shù),但是這個(gè)函數(shù)在 ./arch/i386/kernel/head.S 中。

進(jìn)入保護(hù)模式并初始化

  •  進(jìn)入保護(hù)模式
  •  設(shè)置中斷描述附表和全局描述符表
  •  創(chuàng)建了內(nèi)存分頁機(jī)制

啟動(dòng)內(nèi)核

  •  start_kernel啟動(dòng)內(nèi)核
  •  創(chuàng)建init進(jìn)程

BIOS階段–準(zhǔn)備實(shí)模式下的中斷向量表和中斷服務(wù)程序

BIOS是什么

上個(gè)世紀(jì)70年代初,”只讀內(nèi)存”(read-only memory,縮寫為ROM)發(fā)明,開機(jī)程序被刷入ROM芯片,計(jì)算機(jī)通電后,第一件事就是讀取它。計(jì)算機(jī),啟動(dòng)這塊芯片里的程序叫做”基本輸出輸入系統(tǒng)”(Basic Input/Output System),簡稱為BIOS。

它是一組固化到計(jì)算機(jī)內(nèi)主板上一個(gè)ROM芯片上的程序,它保存著計(jì)算機(jī)最重要的基本輸入輸出的程序、開機(jī)后自檢程序和系統(tǒng)自啟動(dòng)程序,它可從CMOS中讀寫系統(tǒng)設(shè)置的具體信息。其主要功能是為計(jì)算機(jī)提供最底層的、最直接的硬件設(shè)置和控制。

BIOS存儲(chǔ)的信息

BIOS芯片中主要存放:

  •  自診斷程序:通過讀取CMOSRAM中的內(nèi)容識(shí)別硬件配置,并對(duì)其進(jìn)行自檢和初始化;
  •  CMOS設(shè)置程序:引導(dǎo)過程中,用特殊熱鍵啟動(dòng),進(jìn)行設(shè)置后,存入CMOS RAM中;
  •  系統(tǒng)自舉裝載程序:在自檢成功后將磁盤相對(duì)0道0扇區(qū)上的引導(dǎo)程序裝入內(nèi)存,讓其運(yùn)行以裝入DOS系統(tǒng);
  •  主要I/O設(shè)備的驅(qū)動(dòng)程序和中斷服務(wù):由于BIOS直接和系統(tǒng)硬件資源打交道,因此總是針對(duì)某一類型的硬件系統(tǒng),而各種硬件系統(tǒng)又各有不同,所以存在各種不同種類的BIOS,隨著硬件技術(shù)的發(fā)展,同一種BIOS也先后出現(xiàn)了不同的版本,新版本的BIOS比起老版本來說,功能更強(qiáng)。

BIOS:計(jì)算機(jī)加電自檢完成后第一個(gè)讀取的地方就是就是BIOS(Basic Input Output System,基礎(chǔ)輸入輸出系統(tǒng)),BIOS里面記錄了主機(jī)板的芯片集與相關(guān)設(shè)置,如CPU與接口設(shè)備的通信頻率、啟動(dòng)設(shè)備的搜索順序、硬盤的信息、系統(tǒng)時(shí)間、內(nèi)存信息、時(shí)鐘信息、PnP特性、外部總線、各種接口設(shè)備的I/O地址、已經(jīng)與CPU通信的IRQ中斷信息,所以,啟動(dòng)如果要順利啟動(dòng),首先要讀取BIOS設(shè)置。

計(jì)算機(jī)會(huì)首先加載BIOS信息,BIOS信息是如此的重要,以至于計(jì)算機(jī)必須在最開始就找到它。

電腦啟動(dòng)后,CPU邏輯電路被設(shè)計(jì)為只能運(yùn)行內(nèi)存中的程序,沒有能力直接運(yùn)行存在于軟盤或硬盤中的操作系統(tǒng),如果想要運(yùn)行,必須要加載到內(nèi)存(RAM)中。

BIOS是如何啟動(dòng)的

CPU硬件邏輯設(shè)計(jì)為在加電瞬間強(qiáng)行將CS值置為0XF000,IP為0XFFF0,這樣CS:IP就指向0XFFFF0這個(gè)位置,這個(gè)位置正是BIOS程序的入口地址。

BIOS需要在內(nèi)存中加載中斷向量表和中斷服務(wù)程序

BIOS程序被固化在計(jì)算機(jī)主機(jī)板上的一塊很小的ROM芯片里?,F(xiàn)在CS:IP已經(jīng)指向了0XFFFF0這個(gè)位置,意味著BIOS開始啟動(dòng)。隨著BIOS程序的執(zhí)行,屏幕上會(huì)顯示顯卡的信息,內(nèi)存的信息,說明BIOS程序在檢測(cè)顯卡,內(nèi)存,這個(gè)就是POST開機(jī)自檢期間,有一項(xiàng)對(duì)啟動(dòng)操作系統(tǒng)至關(guān)重要的工作,那就是BIOS在內(nèi)存中建立中斷向量表和中斷服務(wù)程序

BIOS程序在內(nèi)存最開始的位置(0x00000)用1KB的內(nèi)存空間(0x00000~0x003FF)構(gòu)建中斷向量表,在緊挨著它的位置用256KB的內(nèi)存空間構(gòu)建BIOS數(shù)據(jù)區(qū)(0x00400~0x004FF),并在大約57KB以后得位置(0x0e05b)加載了8KB左右的與中斷向量表相應(yīng)的若干中斷服務(wù)程序。

中斷向量表有256個(gè)中斷向量,每個(gè)中斷向量占4個(gè)字節(jié),其中兩個(gè)字節(jié)是CS值,兩個(gè)字節(jié)是IP值。每個(gè)中斷向量都指向一個(gè)具體的中斷服務(wù)程序。

BIOS階段的工作

POST開機(jī)自檢

BIOS程序首先檢查,計(jì)算機(jī)硬件能否滿足運(yùn)行的基本條件,這叫做”硬件自檢”(Power-On Self-Test),縮寫為POST。

如果硬件出現(xiàn)問題,主板會(huì)發(fā)出不同含義的蜂鳴,啟動(dòng)中止。如果沒有問題,屏幕就會(huì)顯示出CPU、內(nèi)存、硬盤等信息。

電腦主機(jī)打開電源的時(shí)候,隨后會(huì)聽到滴的一聲,系統(tǒng)啟動(dòng)開始了開機(jī)自檢(POST-power on self test)自檢開始)

這個(gè)過程中主要是檢測(cè)計(jì)算機(jī)硬件設(shè)備比如:CPU,內(nèi)存,主板,顯卡,CMOS等設(shè)備是否有故障存在

如果有硬件故障的話將按兩種情況理:

  •  對(duì)于嚴(yán)重故障(致命性故障)則停機(jī),此時(shí)由于各種初始化操作還沒完成,不能給出任何提示或信號(hào);
  •  對(duì)于非嚴(yán)重故障則給出提示或聲音報(bào)警信號(hào),等待用戶處理),如果沒有故障,POST完整自己的接力任務(wù),將尾部工作交接給BIOS處理

加載BIOS

BIOS把控制權(quán)轉(zhuǎn)交給下一階段的啟動(dòng)程序。

這時(shí),BIOS需要知道,”下一階段的啟動(dòng)程序”具體存放在哪一個(gè)設(shè)備。也就是說,BIOS需要有一個(gè)外部儲(chǔ)存設(shè)備的排序,排在前面的設(shè)備就是優(yōu)先轉(zhuǎn)交控制權(quán)的設(shè)備。這種排序叫做”啟動(dòng)順序”(Boot Sequence)。打開BIOS的操作界面,里面有一項(xiàng)就是”設(shè)定啟動(dòng)順序”。

在此之后,計(jì)算機(jī)心里就有譜了,知道應(yīng)該去讀取哪個(gè)硬件設(shè)備了。

引導(dǎo)操作系統(tǒng)

硬件自檢完成后,我們期望能否啟動(dòng)操作系統(tǒng),但是問題出來了

  •  操作系統(tǒng)存放在哪?
  •  BIOS如何找到操作系統(tǒng)?
  •  BIOS如何加載操作系統(tǒng)?

背景知識(shí)

多操作系統(tǒng)時(shí)的啟動(dòng)順序

為了尋找操作系統(tǒng),BIOS按照”啟動(dòng)順序”,把控制權(quán)轉(zhuǎn)交給排在第一位的儲(chǔ)存設(shè)備。

這時(shí),計(jì)算機(jī)讀取該設(shè)備的第一個(gè)扇區(qū),也就是讀取最前面的512個(gè)字節(jié)。

如果這512個(gè)字節(jié)的最后兩個(gè)字節(jié)是0x55和0xAA,表明這個(gè)設(shè)備可以用于啟動(dòng);

如果不是,表明設(shè)備不能用于啟動(dòng),控制權(quán)于是被轉(zhuǎn)交給”啟動(dòng)順序”中的下一個(gè)設(shè)備。

這最前面的512個(gè)字節(jié),就叫做主引導(dǎo)記錄(Master boot record,縮寫為MBR)

主引導(dǎo)記錄 MBR

位于MBR中的主boot loader是一個(gè)512字節(jié)的鏡像,其中不僅包含了程序代碼,還包含了一個(gè)小的分區(qū)表。

最初的446字節(jié)是主boot loader,它里面就包含有可執(zhí)行代碼以及錯(cuò)誤消息文本。接下來的64字節(jié)是分區(qū)表,其中包含有四個(gè)分區(qū)的各自的記錄(一個(gè)分區(qū)占16字節(jié))。MBR通過特殊數(shù)字0xAA55(譯者注:在電子界中AA55確實(shí)是具有傳奇色彩的數(shù)字,想知道為什么么?將它展開成二進(jìn)制形式,看看有什么規(guī)律)作為兩個(gè)字節(jié)的結(jié)束標(biāo)志。0x55AA同時(shí)也是MBR有效的校驗(yàn)確認(rèn)。

主boot loader的工作是尋找并加載次boot loader。它通過分析分區(qū)表,找出激活分區(qū)來完成這個(gè)任務(wù),當(dāng)它找到一個(gè)激活分區(qū)時(shí),它將繼續(xù)掃描剩下的分區(qū)表中的分區(qū),以便確認(rèn)他們都是未激活的。確認(rèn)完畢后,激活分區(qū)的啟動(dòng)記錄從設(shè)備中被讀到RAM,并被執(zhí)行。

“主引導(dǎo)記錄”只有512個(gè)字節(jié),放不了太多東西。它的主要作用是,告訴計(jì)算機(jī)到硬盤的哪一個(gè)位置去找操作系統(tǒng)。主引導(dǎo)記錄由三個(gè)部分組成:

  •  第1-446字節(jié):調(diào)用操作系統(tǒng)的機(jī)器碼。
  •  第447-510字節(jié):分區(qū)表(Partition table)。
  •  第511-512字節(jié):主引導(dǎo)記錄簽名(0x55和0xAA)。

其中,第二部分”分區(qū)表”的作用,是將硬盤分成若干個(gè)區(qū)。

分區(qū)表

硬盤分區(qū)有很多好處??紤]到每個(gè)區(qū)可以安裝不同的操作系統(tǒng),”主引導(dǎo)記錄”因此必須知道將控制權(quán)轉(zhuǎn)交給哪個(gè)區(qū)。分區(qū)表的長度只有64個(gè)字節(jié),里面又分成四項(xiàng),每項(xiàng)16個(gè)字節(jié)。所以,一個(gè)硬盤最多只能分四個(gè)一級(jí)分區(qū),又叫做“主分區(qū)”。

每個(gè)主分區(qū)的16個(gè)字節(jié),由6個(gè)部分組成:

  •  第1個(gè)字節(jié):如果為0x80,就表示該主分區(qū)是激活分區(qū),控制權(quán)要轉(zhuǎn)交給這個(gè)分區(qū)。四個(gè)主分區(qū)里面只能有一個(gè)是激活的。
  •  第2-4個(gè)字節(jié):主分區(qū)第一個(gè)扇區(qū)的物理位置(柱面、磁頭、扇區(qū)號(hào)等等)。
  •  第5個(gè)字節(jié):主分區(qū)類型。
  •  第6-8個(gè)字節(jié):主分區(qū)最后一個(gè)扇區(qū)的物理位置。
  •  第9-12字節(jié):該主分區(qū)第一個(gè)扇區(qū)的邏輯地址。
  •  第13-16字節(jié):主分區(qū)的扇區(qū)總數(shù)。

最后的四個(gè)字節(jié)(”主分區(qū)的扇區(qū)總數(shù)”),決定了這個(gè)主分區(qū)的長度。也就是說,一個(gè)主分區(qū)的扇區(qū)總數(shù)最多不超過2的32次方。

如果每個(gè)扇區(qū)為512個(gè)字節(jié),就意味著單個(gè)分區(qū)最大不超過2TB。再考慮到扇區(qū)的邏輯地址也是32位,所以單個(gè)硬盤可利用的空間最大也不超過2TB。

如果想使用更大的硬盤,只有2個(gè)方法:

  •  一是提高每個(gè)扇區(qū)的字節(jié)數(shù),
  •  二是增加扇區(qū)總數(shù)。

MBR:第一個(gè)可開機(jī)設(shè)備的第一個(gè)扇區(qū)內(nèi)的主引導(dǎo)分區(qū)塊,內(nèi)包含引導(dǎo)加載程序

引導(dǎo)加載程序(Boot loader): 一支可讀取內(nèi)核文件來執(zhí)行的軟件

內(nèi)核文件:開始操作系統(tǒng)的功能

引導(dǎo)操作系統(tǒng)的過程

由硬盤啟動(dòng)時(shí),BIOS通常是轉(zhuǎn)向第一塊硬盤的第一個(gè)扇區(qū),即主引導(dǎo)記錄(MBR)。裝載GRUB和操作系統(tǒng)的過程,包括以下幾個(gè)操作步驟:

裝載記錄

基本引導(dǎo)裝載程序所做的唯一的事情就是裝載第二引導(dǎo)裝載程序。

裝載Grub

這第二引導(dǎo)裝載程序?qū)嶋H上是引出更高級(jí)的功能,以允許用戶裝載一個(gè)特定的操作系統(tǒng)。

裝載系統(tǒng)

如linux內(nèi)核。GRUB把機(jī)器的控制權(quán)移交給操作系統(tǒng)。

不同的是,微軟操作系統(tǒng)都是使用一種稱為鏈?zhǔn)窖b載的引導(dǎo)方法來啟動(dòng)的,主引導(dǎo)記錄僅僅是簡單地指向操作系統(tǒng)所在分區(qū)的第一個(gè)扇區(qū)。

加載主引導(dǎo)加載程序-基本裝載程序

眾所周知,硬盤上第0磁道第一個(gè)扇區(qū)被稱為MBR,也就是Master Boot Record,即主引導(dǎo)記錄,它的大小是512字節(jié),別看地方不大,可里面卻存放了預(yù)啟動(dòng)信息、分區(qū)表信息。

按照BIOS所設(shè)定的系統(tǒng)啟動(dòng)流程,如果檢測(cè)通過,則根據(jù)引導(dǎo)次序(Boot Sequence)開始在第一臺(tái)設(shè)備上支持啟動(dòng)程序,我們的啟動(dòng)設(shè)備主要包括硬盤、USB、SD等,我們一般用的是硬盤,然后進(jìn)行讀取第一個(gè)設(shè)備就是硬盤,第一個(gè)要讀去的就是該硬盤的主引導(dǎo)記錄MBR(Master Boot Record),然后系統(tǒng)可以根據(jù)啟動(dòng)區(qū)安裝的引導(dǎo)加載程序(Boot Loader)開始執(zhí)行核心識(shí)別的工作。

MBR程序只是找到只是硬盤分區(qū)內(nèi)最前面的446個(gè)字節(jié)的Boot Loader,然后查找相關(guān)配置和定義。

然后將控制權(quán)交給主引導(dǎo)代碼。主引導(dǎo)代碼的任務(wù)包括

  •  掃描分區(qū)表,找到一個(gè)激活(可引導(dǎo))分區(qū);
  •  找到激活分區(qū)的起始扇區(qū);
  •  將激活分區(qū)的引導(dǎo)扇區(qū)裝載到內(nèi)存7C00處;
  •  將控制權(quán)交給引導(dǎo)扇區(qū)代碼;

加載次引導(dǎo)記載程序–高級(jí)裝載程序bootload如GRUB

系統(tǒng)讀取內(nèi)存中的grub配置信息(一般為menu.lst或grub.lst),并依照此配置信息來啟動(dòng)不同的操作系統(tǒng)。

這時(shí),計(jì)算機(jī)的控制權(quán)就要轉(zhuǎn)交給硬盤的某個(gè)分區(qū)了,這里又分成三種情況。

情況A:卷引導(dǎo)記錄

上一節(jié)提到,四個(gè)主分區(qū)里面,只有一個(gè)是激活的。計(jì)算機(jī)會(huì)讀取激活分區(qū)的第一個(gè)扇區(qū),叫做“卷引導(dǎo)記錄”(Volume boot record,縮寫為VBR)。“卷引導(dǎo)記錄”的主要作用是,告訴計(jì)算機(jī),操作系統(tǒng)在這個(gè)分區(qū)里的位置。然后,計(jì)算機(jī)就會(huì)加載操作系統(tǒng)了。

情況B:擴(kuò)展分區(qū)和邏輯分區(qū)

隨著硬盤越來越大,四個(gè)主分區(qū)已經(jīng)不夠了,需要更多的分區(qū)。但是,分區(qū)表只有四項(xiàng),因此規(guī)定有且僅有一個(gè)區(qū)可以被定義成“擴(kuò)展分區(qū)”(Extended partition)。所謂“擴(kuò)展分區(qū)”,就是指這個(gè)區(qū)里面又分成多個(gè)區(qū)。這種分區(qū)里面的分區(qū),就叫做”邏輯分區(qū)”(logical partition)。

計(jì)算機(jī)先讀取擴(kuò)展分區(qū)的第一個(gè)扇區(qū),叫做“擴(kuò)展引導(dǎo)記錄”(Extended boot record,縮寫為EBR)。它里面也包含一張64字節(jié)的分區(qū)表,但是最多只有兩項(xiàng)(也就是兩個(gè)邏輯分區(qū))。

計(jì)算機(jī)接著讀取第二個(gè)邏輯分區(qū)的第一個(gè)扇區(qū),再從里面的分區(qū)表中找到第三個(gè)邏輯分區(qū)的位置,以此類推,直到某個(gè)邏輯分區(qū)的分區(qū)表只包含它自身為止(即只有一個(gè)分區(qū)項(xiàng))。因此,擴(kuò)展分區(qū)可以包含無數(shù)個(gè)邏輯分區(qū)。

但是,似乎很少通過這種方式啟動(dòng)操作系統(tǒng)。如果操作系統(tǒng)確實(shí)安裝在擴(kuò)展分區(qū),一般采用下一種方式啟動(dòng)。

情況C:啟動(dòng)管理器

在這種情況下,計(jì)算機(jī)讀取”主引導(dǎo)記錄”前面446字節(jié)的機(jī)器碼之后,不再把控制權(quán)轉(zhuǎn)交給某一個(gè)分區(qū),而是運(yùn)行事先安裝的“啟動(dòng)管理器”(boot loader),由用戶選擇啟動(dòng)哪一個(gè)操作系統(tǒng)。

Linux環(huán)境中,目前最流行的啟動(dòng)管理器是Grub。

Boot Loader 就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核做好一切準(zhǔn)備。

Boot Loader有若干種,其中Grub、Lilo和spfdisk是常見的Loader。

我們以Grub為例來講解吧,畢竟用lilo和spfdisk的人并不多。

為什么這么復(fù)雜

早期的操作系統(tǒng)并沒有那么復(fù)雜,當(dāng)然bootload也沒有那么多功能,但是如今我們的操作系統(tǒng)越來越復(fù)雜,bootload也越來越龐大,而且如今在一臺(tái)電腦上安裝多系統(tǒng)變得那么平常,因此之前簡單的bootload已經(jīng)無法滿足這些功能。

BIOS和MBR都是硬件本身會(huì)支持的功能,至于Boot Loader則是操作系統(tǒng)安裝在MBR上面的一套軟件。由于MBR僅有446bytes而已,因此這個(gè)引導(dǎo)加載程序是非常小而完美的。這個(gè)BootLoader的主要任務(wù)如下

  •  提供菜單:用戶可以選擇不同的開機(jī)選項(xiàng),這也是多重引導(dǎo)的重要功能
  •  載入內(nèi)核文件:直接指向可開機(jī)的程序段來開始操作系統(tǒng)。
  •  轉(zhuǎn)交其他Loader:將引導(dǎo)加載功能轉(zhuǎn)交給其他loader負(fù)責(zé)

上面的前兩點(diǎn)還容易理解,但是第三點(diǎn)很有趣!那表示你的計(jì)算機(jī)系統(tǒng)里面可以具有兩個(gè)以上的引導(dǎo)加載程序呢。有可能嗎?我們的硬盤不是只有一個(gè)MBR而已?但是引導(dǎo)加載程序除了可以安裝在MBR之外,還可以安裝在每個(gè)分區(qū)的引導(dǎo)扇區(qū)。

舉一個(gè)例子來說,假設(shè)你的個(gè)人計(jì)算機(jī)只有一塊硬盤,里面分成4個(gè)分區(qū)。其中第一,二分區(qū)分別安裝了Windows及Linux,你要如何在開機(jī)的時(shí)候選擇用Windows還是Linux開機(jī)呢?假設(shè)MBR內(nèi)安裝的是可以同時(shí)識(shí)別Windows和Linux操作系統(tǒng)的引導(dǎo)加載程序,那么整個(gè)流程如下

做個(gè)總結(jié)就是這樣:

  •  每個(gè)分區(qū)都有自己的啟動(dòng)扇區(qū)
  •  系統(tǒng)分區(qū)為第一及第二分區(qū)
  •  實(shí)際可開機(jī)的內(nèi)核文件是放置到各分區(qū)內(nèi)的
  •  loader只會(huì)認(rèn)識(shí)自己的系統(tǒng)分區(qū)內(nèi)的可開機(jī)內(nèi)核文件,以及其他的Loader而已
  •  loader可直接指向或者是間接將管理權(quán)交給另一個(gè)管理程序
  •  現(xiàn)在想一下,為什么人家常說:”如果要安裝多重引導(dǎo),最好先安裝Windows再安裝Linux呢“?
  •  這是因?yàn)長inux在安裝時(shí),你可以選擇將引導(dǎo)加載程序安裝在MBR或個(gè)別分區(qū)的啟動(dòng)扇區(qū),而且Linux的Loader可以手動(dòng)設(shè)置菜單,所以你可以在Linux的Boot Loader里面加入Windows開機(jī)選項(xiàng)

 Windows在安裝的時(shí)候,他的安裝程序會(huì)主動(dòng)覆蓋掉MBR以及自己所在分區(qū)的啟動(dòng)扇區(qū),你沒有選擇的機(jī)會(huì),而且他沒有讓我們自己選擇菜單功能

加載操作系統(tǒng)內(nèi)核

用戶選擇要加載的內(nèi)核之后,次引導(dǎo)加載程序(GRUB)就會(huì)根據(jù)/boot/grub.conf配置文件中所設(shè)置的信息,從/boot/所在的分區(qū)上讀取Linux內(nèi)核映像,然后把內(nèi)核映像加載到內(nèi)存中并把控制權(quán)交給Linux內(nèi)核。

linux內(nèi)核獲得控制權(quán)之后開始干自己的事

  •  檢測(cè)硬件
  •  解壓縮自己并安裝必要驅(qū)動(dòng)
  •  初始化與文件系統(tǒng)相關(guān)的虛擬設(shè)備,LVM或RAID
  •  裝載根文件系統(tǒng),掛在根目錄下面
  •  完成之后,linux在進(jìn)程空間里面加載init程序,下面輪到init干活

根據(jù)grub設(shè)定的內(nèi)核映像所在路徑,系統(tǒng)讀取內(nèi)存映像,并進(jìn)行解壓縮操作。此時(shí),屏幕一般會(huì)輸出“Uncompressing Linux”的提示。當(dāng)解壓縮內(nèi)核完成后,屏幕輸出“OK, booting the kernel”。

系統(tǒng)將解壓后的內(nèi)核放置在內(nèi)存之中,并調(diào)用start_kernel()函數(shù)來啟動(dòng)一系列的初始化函數(shù)并初始化各種設(shè)備,完成Linux核心環(huán)境的建立。至此,Linux內(nèi)核已經(jīng)建立起來了,基于Linux的程序應(yīng)該可以正常運(yùn)行了。

啟動(dòng)第五步 用戶層init依據(jù)inittab文件來設(shè)定運(yùn)行等級(jí)

內(nèi)核被加載后,第一個(gè)運(yùn)行的程序便是/sbin/init,該文件會(huì)讀取/etc/inittab文件,并依據(jù)此文件來進(jìn)行初始化工作。其實(shí)/etc/inittab文件最主要的作用就是設(shè)定Linux的運(yùn)行等級(jí),其設(shè)定形式是“:id:5:initdefault:”,這就表明Linux需要運(yùn)行在等級(jí)5上。Linux的運(yùn)行等級(jí)設(shè)定如下:

  •  0:關(guān)機(jī)
  •  1:單用戶模式
  •  2:無網(wǎng)絡(luò)支持的多用戶模式
  •  3:有網(wǎng)絡(luò)支持的多用戶模式
  •  4:保留,未使用
  •  5:有網(wǎng)絡(luò)支持有X-Window支持的多用戶模式
  •  6:重新引導(dǎo)系統(tǒng),即重啟

關(guān)于/etc/inittab文件的學(xué)問,其實(shí)還有很多

init進(jìn)程執(zhí)行rc.sysinit

在設(shè)定了運(yùn)行等級(jí)后,Linux系統(tǒng)執(zhí)行的第一個(gè)用戶層文件就是/etc/rc.d/rc.sysinit腳本程序,它做的工作非常多,包括設(shè)定PATH、設(shè)定網(wǎng)絡(luò)配置(/etc/sysconfig/network)、啟動(dòng)swap分區(qū)、設(shè)定/proc等等。如果你有興趣,可以到/etc/rc.d中查看一下rc.sysinit文件,里面的腳本夠你看幾天的

啟動(dòng)內(nèi)核模塊

具體是依據(jù)/etc/modules.conf文件或/etc/modules.d目錄下的文件來裝載內(nèi)核模塊。

執(zhí)行不同運(yùn)行級(jí)別的腳本程序

根據(jù)運(yùn)行級(jí)別的不同,系統(tǒng)會(huì)運(yùn)行rc0.d到rc6.d中的相應(yīng)的腳本程序,來完成相應(yīng)的初始化工作和啟動(dòng)相應(yīng)的服務(wù)。

執(zhí)行/etc/rc.d/rc.local

你如果打開了此文件,里面有一句話,讀過之后,你就會(huì)對(duì)此命令的作用一目了然: 

  1. # This script will be executed *after* all the other init scripts.  
  2. # You can put your own initialization stuff in here if you don’t  
  3. # want to do the full Sys V style init stuff. 

rc.local就是在一切初始化工作后,Linux留給用戶進(jìn)行個(gè)性化的地方。你可以把你想設(shè)置和啟動(dòng)的東西放到這里。

執(zhí)行/bin/login程序,進(jìn)入登錄狀態(tài)

此時(shí),系統(tǒng)已經(jīng)進(jìn)入到了等待用戶輸入username和password的時(shí)候了,你已經(jīng)可以用自己的帳號(hào)登入系統(tǒng)了。 

 

責(zé)任編輯:龐桂玉 來源: 馬哥Linux運(yùn)維
相關(guān)推薦

2021-02-25 10:02:32

開機(jī)鍵Linux內(nèi)存

2019-08-26 09:35:25

命令ping抓包

2010-02-07 09:00:29

AndroidLinux Kerne

2023-11-02 08:00:00

ClickHouse數(shù)據(jù)庫

2022-02-15 13:20:28

特斯拉電動(dòng)車

2023-08-29 16:26:20

Linux命令行

2023-03-31 08:12:30

操作系統(tǒng)nanosleep信號(hào)

2020-08-17 12:47:07

Mozilla裁員瀏覽器

2019-11-12 14:41:41

Redis程序員Linux

2011-03-31 09:20:45

URLDNSWeb應(yīng)用程序

2024-05-06 10:53:22

瀏覽器TCPHTTPS

2023-01-14 16:11:27

瀏覽器URL回車

2021-01-18 08:23:23

內(nèi)存時(shí)底層CPU

2021-04-11 10:40:16

Git軟件開發(fā)

2015-07-03 09:27:43

網(wǎng)絡(luò)閏秒

2022-06-03 08:12:52

InnoDB插入MySQL

2019-09-16 17:16:29

Hadoop數(shù)據(jù)湖數(shù)據(jù)結(jié)構(gòu)

2020-09-01 11:40:01

HTTPJavaTCP

2020-08-20 11:50:31

語言類型轉(zhuǎn)換代碼

2021-11-23 23:31:43

C語言數(shù)據(jù)類型系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久久久久久久久99| 污污免费在线观看| 成人影院在线观看| 福利一区二区在线| 91成人性视频| 91麻豆精品久久毛片一级| 国产精品美女久久久久人| 一区二区成人在线| 欧美精品v日韩精品v国产精品| 中文在线最新版天堂| 国产精品www994| 夜夜嗨av色一区二区不卡| 婷婷中文字幕在线观看| 欧美一级大黄| 亚洲一二三区不卡| 亚洲一区高清| 毛片在线免费| 成人午夜免费视频| 国产精品一区二区三区久久久| 久久免费在线观看视频| 日韩综合精品| 国产视频久久久久久久| 少妇丰满尤物大尺度写真| 国产私拍福利精品视频二区| 亚洲福利视频一区| 看一级黄色录像| 久久久pmvav| 成人三级伦理片| 91视频最新| 国产精品自产拍| 日本美女一区二区| 欧美在线免费观看| wwwxxx亚洲| 激情综合电影网| 欧美xxxx18国产| 男人的午夜天堂| 久久一区二区中文字幕| 亚洲一区二区福利| 亚洲综合网在线观看| 好吊妞国产欧美日韩免费观看网站| 7777精品伊人久久久大香线蕉经典版下载 | 久久99国产精品久久99果冻传媒| 欧美尤物巨大精品爽| 日韩男人的天堂| 禁久久精品乱码| 欧美极品少妇xxxxⅹ喷水| 极品盗摄国产盗摄合集| 亚洲乱码免费伦视频| 色老头一区二区三区| 亚洲图片另类小说| 精品av一区二区| 亚洲女人被黑人巨大进入al| 泷泽萝拉在线播放| 久久不卡国产精品一区二区| 亚洲欧美日韩另类| 欧美 日韩 国产 成人 在线观看 | 久久色在线视频| 久久天天狠狠| 久久伊伊香蕉| 欧美国产日韩一二三区| 午夜午夜精品一区二区三区文| 黄色片在线看| 中文字幕一区二区三区在线不卡| 亚洲精品久久久久久一区二区| 久久日韩视频| 一片黄亚洲嫩模| 草草久久久无码国产专区| 一个人www视频在线免费观看| 狠狠色狠狠色综合日日小说| 狠狠热免费视频| 96视频在线观看欧美| 欧美一区二视频| 免费观看污网站| 爽爽窝窝午夜精品一区二区| 国产亚洲精品久久久| 国产精品一区二区亚洲| 亚洲精品一区二区在线看| 欧美激情伊人电影| 伦av综合一区| 精品一二线国产| 国产日韩二区| 国产区在线视频| 亚洲摸摸操操av| 高清无码视频直接看| 人狥杂交一区欧美二区| 欧洲色大大久久| 国产在线a视频| 亚洲精品白浆高清| 久久精品夜夜夜夜夜久久| 精品在线视频观看| 欧美aⅴ一区二区三区视频| 亚洲精品女av网站| 日本人妖在线| 亚洲免费观看高清完整| 日本成年人网址| 国产日韩一区二区三免费高清| 337p日本欧洲亚洲大胆精品| 欧美激情亚洲色图| 精品999网站| 国产欧美日韩最新| 深夜福利视频在线免费观看| 最新日韩在线视频| 波多野结衣家庭教师视频| 国产精品久一| 中文字幕亚洲欧美日韩在线不卡| 国产一国产二国产三| 日本中文在线一区| 国产精品99久久久久久久| 成在在线免费视频| 精品magnet| 女教师高潮黄又色视频| 成人网18免费网站| 97在线观看免费| 国产成人精品白浆久久69| 久久精品视频免费观看| 国产一线二线三线女| 伊人久久大香| 中文在线资源观看视频网站免费不卡| 久久精品视频国产| 国产麻豆精品视频| 一区二区三区在线视频看| 欧美magnet| 亚洲精品99999| 国语对白一区二区| 国产乱码精品一区二区三区五月婷| 日本一区二区三区在线视频| 国产精品论坛| 亚洲第一精品夜夜躁人人躁| 国产高潮流白浆| 蜜臀av性久久久久蜜臀av麻豆 | 一区二区三区人妻| 99国产精品一区二区| 国产精品福利在线观看网址| 午夜影院免费视频| 亚洲高清在线视频| 亚洲一区和二区| 激情久久久久久| 高清日韩一区| 第一中文字幕在线| 亚洲白拍色综合图区| 国产这里有精品| 国产成人综合自拍| 国产1区2区3区中文字幕| 高清不卡一区| 欧美成人午夜视频| www.色播.com| 亚洲一区二区三区视频在线| 伊人av在线播放| 亚洲精品美女91| 精品无人乱码一区二区三区的优势| 菠萝蜜视频在线观看www入口| 精品国产亚洲在线| 日本一本高清视频| 91碰在线视频| 黄色三级视频片| 97精品在线| 91沈先生在线观看| 欧美黑人猛交的在线视频| 精品欧美乱码久久久久久1区2区| 久草视频在线免费看| 豆国产96在线|亚洲| 九九热只有这里有精品| 果冻天美麻豆一区二区国产| 51久久精品夜色国产麻豆| 青青色在线视频| 欧美无砖砖区免费| 日韩国产第一页| 国产精品538一区二区在线| www.avtt| 国产成人短视频在线观看| 国产精品日本精品| 性欧美高清come| 日韩成人中文电影| 在线视频 中文字幕| 亚洲欧美国产77777| 在线观看亚洲免费视频| 亚洲永久免费| 正在播放一区二区三区| 国产精品调教| 国产精品久久久久久久电影 | 欧美xxx.com| 欧美日本一道本| 国产五月天婷婷| 中文字幕乱码久久午夜不卡| 在线观看一区二区三区视频| 久久aⅴ乱码一区二区三区| 欧美日韩在线免费观看视频| 福利片在线一区二区| 日本三级久久久| 26uuu亚洲电影在线观看| 日韩精品日韩在线观看| 91午夜交换视频| 香蕉久久一区二区不卡无毒影院| 国产精品国产三级国产专业不| 国产风韵犹存在线视精品| wwwxxx黄色片| 亚洲欧美综合国产精品一区| 欧美精品亚洲精品| 视频精品二区| 国产精品日韩专区| 激情aⅴ欧美一区二区欲海潮| xvideos亚洲| 黄色av网址在线免费观看| 欧美www视频| 一区二区日韩视频| 欧美性xxxx在线播放| 久久久久久久久久一区二区三区| 国产亚洲一二三区| 成人性生活免费看| 国产精品99久久久久久久vr| 国产熟人av一二三区| 日韩午夜一区| 国产女教师bbwbbwbbw| 日韩伦理一区| 欧洲久久久久久| 欧美天堂影院| 风间由美一区二区三区| 精品午夜视频| 国产在线播放不卡| 成人黄色图片网站| 国产精品第一视频| videos性欧美另类高清| 久久久亚洲精选| 视频在线观看入口黄最新永久免费国产| 一区二区三区国产在线观看| 青草久久伊人| 日韩av在线免费播放| 神马午夜电影一区二区三区在线观看| 日韩一区二区三区观看| 国产精品久久777777换脸| 在线观看一区日韩| 69视频免费看| 在线观看视频91| 国产suv精品一区二区33| 欧美视频精品一区| 天天操天天干视频| 精品久久久久久国产| 精品无码人妻一区二区三| 亚洲国产综合在线| 久久亚洲成人av| 亚洲一区二区三区四区在线免费观看 | 欧美成人午夜电影| 亚洲爱情岛论坛永久| 日本大胆欧美人术艺术动态| 欧美视频在线观看视频| 国产精品av久久久久久麻豆网| 最近免费观看高清韩国日本大全| 香蕉视频国产精品| 久久视频免费在线| 欧美精品自拍| 亚洲一区二区三区av无码| 精品电影一区| 亚洲 自拍 另类小说综合图区| 一本久道综合久久精品| 成年人观看网站| 麻豆精品网站| 婷婷免费在线观看| 国产乱人伦精品一区二区在线观看| 男生和女生一起差差差视频| 国产不卡高清在线观看视频| 曰本三级日本三级日本三级| 99在线热播精品免费| 精品人妻一区二区三区视频| 国产日韩v精品一区二区| 日韩av网站在线播放| 亚洲欧美偷拍卡通变态| 久久精品视频国产| 色综合天天综合网天天狠天天 | 91精选在线观看| 亚洲男人第一天堂| 亚洲精品自拍偷拍| 最新真实国产在线视频| 欧美日韩成人在线观看| 国产污视频在线播放| 国产精品99一区| 国产精品视频一区二区三区综合| 高清av免费一区中文字幕| 九九精品在线| dy888午夜| 夜夜精品视频| www.国产视频.com| 成人久久视频在线观看| 欧洲美一区二区三区亚洲 | 日韩成人高清视频| 欧美色欧美亚洲另类二区| av免费观看在线| 亚洲欧美综合另类中字| 成人av免费| 日本高清视频精品| 欧美另类中文字幕| 欧美专区一二三| 黑人一区二区| 天天综合网日韩| 成人ar影院免费观看视频| 成人做爰69片免网站| 亚洲午夜激情网页| 一级黄色片在线观看| 亚洲精品一区中文| 色婷婷av在线| 国产精品免费一区| 婷婷精品视频| 国产曰肥老太婆无遮挡| 久久99久久精品欧美| av无码一区二区三区| 亚洲女同女同女同女同女同69| 销魂美女一区二区| 亚洲а∨天堂久久精品9966| 黄色片免费在线观看| 国产精品69av| 一道在线中文一区二区三区| 国产精品无码免费专区午夜| 蜜桃91丨九色丨蝌蚪91桃色| 中文字幕精品久久久| 亚洲精品日韩专区silk| 中文字幕在线观看精品| 亚洲精品一区二区久| 咪咪网在线视频| 国产chinese精品一区二区| 国产精品精品国产一区二区| 无码少妇一区二区三区芒果| 99精品久久99久久久久| 久久久久亚洲AV| 欧美一区二区三区免费大片 | 久久男人的天堂| 精品国产乱码久久久久久樱花| 日韩一区免费观看| 六月丁香综合| 成人免费看aa片| 狠狠躁18三区二区一区| 天天操天天射天天| 欧美激情一区二区三区久久久| 日韩精品久久久久久久软件91| 中文字幕日韩精品久久| 久久成人免费电影| 中文字幕91视频| 欧美日韩黄视频| 日本中文字幕在线播放| 国产精品欧美一区二区三区奶水| 精品一区欧美| 午夜视频你懂的| 中文字幕乱码一区二区免费| 波多野结衣家庭主妇| 在线观看亚洲视频| 日本一区二区三区中文字幕| 在线观看成人av| 国产一区激情在线| 久草国产在线观看| 亚洲成人中文字幕| 大胆人体一区| 日韩欧美一区二区三区四区 | 亚洲国产日本| 中文字幕免费在线播放| 午夜精品在线看| 亚洲av成人精品日韩在线播放| 136fldh精品导航福利| 嫩草影视亚洲| 艹b视频在线观看| 亚洲欧美日韩国产成人精品影院| 国产夫妻自拍av| 韩国19禁主播vip福利视频| 免费观看成人www动漫视频| 六月丁香婷婷在线| 中文久久乱码一区二区| 99在线观看精品视频| 久久久久久久久久久人体| 色综合久久中文| 久久这里只精品| 一区二区三区四区五区视频在线观看| 黄色成人一级片| 国产成人精品综合久久久| 久久一级电影| 男人网站在线观看| 在线视频综合导航| 成人在线观看亚洲| 久久精品magnetxturnbtih| 日韩av一区二| 青青青在线视频| 亚洲国产古装精品网站| 向日葵视频成人app网址| 久久免费看毛片| 成人av综合一区| 中文字幕欧美人妻精品一区蜜臀| 久久久国产精品免费| 精品国产乱子伦一区二区| 日本美女高潮视频| 亚洲综合在线免费观看| 男人的天堂在线视频| 91免费版网站入口| 视频一区欧美日韩| 欧美日韩成人免费观看| 亚洲人成在线电影| 日韩精品视频一区二区三区| 国产裸体舞一区二区三区| 亚洲日本成人在线观看| 欧美777四色影视在线 | 黄色www视频| 成人黄色在线免费| 天使萌一区二区三区免费观看| 亚洲欧美小视频| 伊人久久久久久久久久|