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

剖析Linux系統(tǒng)啟動(dòng)過程

運(yùn)維 系統(tǒng)運(yùn)維
本文以RedHat9.0和i386平臺(tái)為例,剖析了從用戶打開電源直到屏幕出現(xiàn)命令行提示符的整個(gè)Linux啟動(dòng)過程。并且介紹了啟動(dòng)中涉及到的各種文件。

本文以RedHat9.0和i386平臺(tái)為例,剖析了從用戶打開電源直到屏幕出現(xiàn)命令行提示符的整個(gè)Linux啟動(dòng)過程。并且介紹了啟動(dòng)中涉及到的各種文件。

閱讀Linux源代碼,無疑是深入學(xué)習(xí)Linux的***方法。在本文對(duì)Linux啟動(dòng)過程的介紹中,我們也嘗試從源代碼的視角來更深入的剖析Linux 的啟動(dòng)過程,所以其中也簡(jiǎn)單涉及到部分相關(guān)的Linux源代碼,Linux啟動(dòng)這部分的源碼主要使用的是C語言,也涉及到了少量的匯編。而啟動(dòng)過程中也執(zhí)行了大量的shell(主要是bash shell)所寫腳本。為了方便讀者閱讀,筆者將整個(gè)Linux啟動(dòng)過程分成以下幾個(gè)部分逐一介紹,大家可以參考下圖:

當(dāng)用戶打開PC 的電源,BIOS開機(jī)自檢,按BIOS中設(shè)置的啟動(dòng)設(shè)備(通常是硬盤)啟動(dòng),接著啟動(dòng)設(shè)備上安裝的引導(dǎo)程序lilo或grub開始引導(dǎo) Linux,Linux首先進(jìn)行內(nèi)核的引導(dǎo),接下來執(zhí)行init程序,init程序調(diào)用了rc.sysinit和rc等程序,rc.sysinit和rc 當(dāng)完成系統(tǒng)初始化和運(yùn)行服務(wù)的任務(wù)后,返回init;init啟動(dòng)了mingetty后,打開了終端供用戶登錄系統(tǒng),用戶登錄成功后進(jìn)入了Shell,這樣就完成了從開機(jī)到登錄的整個(gè)啟動(dòng)過程。

下面就將逐一介紹其中幾個(gè)關(guān)鍵的部分:

***部分:內(nèi)核的引導(dǎo)(核內(nèi)引導(dǎo))

Red Hat9.0可以使用lilo或grub等引導(dǎo)程序開始引導(dǎo)Linux系統(tǒng),當(dāng)引導(dǎo)程序成功完成引導(dǎo)任務(wù)后,Linux從它們手中接管了CPU的控制權(quán),然后CPU就開始執(zhí)行Linux的核心映象代碼,開始了Linux啟動(dòng)過程。這里使用了幾個(gè)匯編程序來引導(dǎo)Linux,這一步泛及到Linux源代碼樹中的“arch/i386/boot”下的這幾個(gè)文件:bootsect.S、setup.S、video.S等。

其中 bootsect.S是生成引導(dǎo)扇區(qū)的匯編源碼,它完成加載動(dòng)作后直接跳轉(zhuǎn)到setup.S的程序入口。setup.S的主要功能就是將系統(tǒng)參數(shù)(包括內(nèi)存、磁盤等,由BIOS返回)拷貝到特別內(nèi)存中,以便以后這些參數(shù)被保護(hù)模式下的代碼來讀取。此外,setup.S還將video.S中的代碼包含進(jìn)來,檢測(cè)和設(shè)置顯示器和顯示模式。***,setup.S將系統(tǒng)轉(zhuǎn)換到保護(hù)模式,并跳轉(zhuǎn)到 0x100000。

那么0x100000這個(gè)內(nèi)存地址中存放的是什么代碼?而這些代碼又是從何而來的呢?

0x100000這個(gè)內(nèi)存地址存放的是解壓后的內(nèi)核,因?yàn)镽ed Hat提供的內(nèi)核包含了眾多驅(qū)動(dòng)和功能而顯得比較大,所以在內(nèi)核編譯中使用了“makebzImage”方式,從而生成壓縮過的內(nèi)核,在RedHat中內(nèi)核常常被命名為vmlinuz,在Linux的最初引導(dǎo)過程中,是通過"arch/i386/boot/compressed/"中的head.S利用 misc.c中定義的decompress_kernel()函數(shù),將內(nèi)核vmlinuz解壓到0x100000的。

當(dāng)CPU跳到 0x100000時(shí),將執(zhí)行"arch/i386/kernel/head.S"中的startup_32,它也是vmlinux的入口,然后就跳轉(zhuǎn)到 start_kernel()中去了。start_kernel()是"init/main.c"中的定義的函數(shù),start_kernel()中調(diào)用了一系列初始化函數(shù),以完成kernel本身的設(shè)置。start_kernel()函數(shù)中,做了大量的工作來建立基本的Linux核心環(huán)境。如果順利執(zhí)行完 start_kernel(),則基本的Linux核心環(huán)境已經(jīng)建立起來了。

在start_kernel()的***,通過調(diào)用 init()函數(shù),系統(tǒng)創(chuàng)建***個(gè)核心線程,啟動(dòng)了init過程。而核心線程init()主要是來進(jìn)行一些外設(shè)初始化的工作的,包括調(diào)用 do_basic_setup()完成外設(shè)及其驅(qū)動(dòng)程序的加載和初始化。并完成文件系統(tǒng)初始化和root文件系統(tǒng)的安裝。

當(dāng) do_basic_setup()函數(shù)返回init(),init()又打開了/dev/console設(shè)備,重定向三個(gè)標(biāo)準(zhǔn)的輸入輸出文件stdin、 stdout和stderr到控制臺(tái),***,搜索文件系統(tǒng)中的init程序(或者由init=命令行參數(shù)指定的程序),并使用 execve()系統(tǒng)調(diào)用加載執(zhí)行init程序。到此init()函數(shù)結(jié)束,內(nèi)核的引導(dǎo)部分也到此結(jié)束了,

第二部分:運(yùn)行init

init的進(jìn)程號(hào)是1,從這一點(diǎn)就能看出,init進(jìn)程是系統(tǒng)所有進(jìn)程的起點(diǎn),Linux在完成核內(nèi)引導(dǎo)以后,就開始運(yùn)行init程序,。init程序需要讀取配置文件/etc/inittab。inittab是一個(gè)不可執(zhí)行的文本文件,它有若干行指令所組成。在Redhat系統(tǒng)中,inittab的內(nèi)容如下所示(以“###"開始的中注釋為筆者增加的):

#

# inittab       This file describes how the INIT process should set up

#               the system in a certain run-level.

#

# Author:       Miquel van Smoorenburg,

#               Modified for RHS Linux by Marc Ewing and Donnie Barnes

#

# Default runlevel. The runlevels used by RHS are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

#

#p#

###表示當(dāng)前缺省運(yùn)行級(jí)別為5(initdefault);

id:5:initdefault:

###啟動(dòng)時(shí)自動(dòng)執(zhí)行/etc/rc.d/rc.sysinit腳本(sysinit)

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

###當(dāng)運(yùn)行級(jí)別為5時(shí),以5為參數(shù)運(yùn)行/etc/rc.d/rc腳本,init將等待其返回(wait)

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

###在啟動(dòng)過程中允許按CTRL-ALT-DELETE重啟系統(tǒng)

# Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes

# of power left.  Schedule a shutdown for 2 minutes from now.

# This does, of course, assume you have powerd installed and your

# UPS connected and working correctly.

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

###在2、3、4、5級(jí)別上以ttyX為參數(shù)執(zhí)行/sbin/mingetty程序,打開ttyX終端用于用戶登錄,

###如果進(jìn)程退出則再次運(yùn)行mingetty程序(respawn)

# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

###在5級(jí)別上運(yùn)行xdm程序,提供xdm圖形方式登錄界面,并在退出時(shí)重新執(zhí)行(respawn)

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

以上面的inittab文件為例,來說明一下inittab的格式。其中以#開始的行是注釋行,除了注釋行之外,每一行都有以下格式:

id:runlevel:action:process

對(duì)上面各項(xiàng)的詳細(xì)解釋如下:

1. id

id是指入口標(biāo)識(shí)符,它是一個(gè)字符串,對(duì)于getty或mingetty等其他login程序項(xiàng),要求id與tty的編號(hào)相同,否則getty程序?qū)⒉荒苷9ぷ鳌?/P>

2. runlevel

runlevel是init所處于的運(yùn)行級(jí)別的標(biāo)識(shí),一般使用0-6以及S或s。0、1、6運(yùn)行級(jí)別被系統(tǒng)保留:其中0作為shutdown動(dòng)作,1作為重啟至單用戶模式,6為重啟;S和s意義相同,表示單用戶模式,且無需inittab文件,因此也不在inittab中出現(xiàn),實(shí)際上,進(jìn)入單用戶模式時(shí),init直接在控制臺(tái)(/dev/console)上運(yùn)行/sbin/sulogin。在一般的系統(tǒng)實(shí)現(xiàn)中,都使用了2、3、4、5幾個(gè)級(jí)別,在 Redhat系統(tǒng)中,2表示無NFS支持的多用戶模式,3表示完全多用戶模式(也是最常用的級(jí)別),4保留給用戶自定義,5表示XDM圖形登錄方式。 7-9級(jí)別也是可以使用的,傳統(tǒng)的Unix系統(tǒng)沒有定義這幾個(gè)級(jí)別。runlevel可以是并列的多個(gè)值,以匹配多個(gè)運(yùn)行級(jí)別,對(duì)大多數(shù)action來說,僅當(dāng)runlevel與當(dāng)前運(yùn)行級(jí)別匹配成功才會(huì)執(zhí)行。

3. action

action是描述其后的process的運(yùn)行方式的。action可取的值包括:initdefault、sysinit、boot、bootwait等:

initdefault是一個(gè)特殊的action值,用于標(biāo)識(shí)缺省的啟動(dòng)級(jí)別;當(dāng)init由核心激活以后,它將讀取inittab中的 initdefault項(xiàng),取得其中的runlevel,并作為當(dāng)前的運(yùn)行級(jí)別。如果沒有inittab文件,或者其中沒有initdefault 項(xiàng),init將在控制臺(tái)上請(qǐng)求輸入runlevel。

sysinit、boot、bootwait等action將在系統(tǒng)啟動(dòng)時(shí)無條件運(yùn)行,而忽略其中的runlevel。

其余的action(不含initdefault)都與某個(gè)runlevel相關(guān)。各個(gè)action的定義在inittab的man手冊(cè)中有詳細(xì)的描述。

4. process

process為具體的執(zhí)行程序。程序后面可以帶參數(shù)。

第三部分:系統(tǒng)初始化

在init的配置文件中有這么一行:

si::sysinit:/etc/rc.d/rc.sysinit

它調(diào)用執(zhí)行了/etc/rc.d/rc.sysinit,而rc.sysinit是一個(gè)bash shell的腳本,它主要是完成一些系統(tǒng)初始化的工作,rc.sysinit是每一個(gè)運(yùn)行級(jí)別都要首先運(yùn)行的重要腳本。它主要完成的工作有:激活交換分區(qū),檢查磁盤,加載硬件模塊以及其它一些需要優(yōu)先執(zhí)行任務(wù)。

rc.sysinit約有850多行,但是每個(gè)單一的功能還是比較簡(jiǎn)單,而且?guī)в凶⑨專ㄗh有興趣的用戶可以自行閱讀自己機(jī)器上的該文件,以了解系統(tǒng)初始化所詳細(xì)情況。由于此文件較長(zhǎng),所以不在本文中列出來,也不做具體的介紹。

當(dāng)rc.sysinit程序執(zhí)行完畢后,將返回init繼續(xù)下一步。

第四部分:?jiǎn)?dòng)對(duì)應(yīng)運(yùn)行級(jí)別的守護(hù)進(jìn)程

在rc.sysinit執(zhí)行后,將返回init繼續(xù)其它的動(dòng)作,通常接下來會(huì)執(zhí)行到/etc/rc.d/rc程序。以運(yùn)行級(jí)別3為例,init將執(zhí)行配置文件inittab中的以下這行:

l5:5:wait:/etc/rc.d/rc 5

這一行表示以5為參數(shù)運(yùn)行/etc/rc.d/rc,/etc/rc.d/rc是一個(gè)Shell腳本,它接受5作為參數(shù),去執(zhí)行/etc/rc.d /rc5.d/目錄下的所有的rc啟動(dòng)腳本,/etc/rc.d/rc5.d/目錄中的這些啟動(dòng)腳本實(shí)際上都是一些鏈接文件,而不是真正的rc啟動(dòng)腳本,真正的rc啟動(dòng)腳本實(shí)際上都是放在/etc/rc.d/init.d/目錄下。而這些rc啟動(dòng)腳本有著類似的用法,它們一般能接受start、stop、 restart、status等參數(shù)。

/etc/rc.d/rc5.d/中的rc啟動(dòng)腳本通常是K或S開頭的鏈接文件,對(duì)于以以S開頭的啟動(dòng)腳本,將以start參數(shù)來運(yùn)行。而如果發(fā)現(xiàn)存在相應(yīng)的腳本也存在K打頭的鏈接,而且已經(jīng)處于運(yùn)行態(tài)了(以/var/lock/subsys/下的文件作為標(biāo)志),則將首先以stop為參數(shù)停止這些已經(jīng)啟動(dòng)了的守護(hù)進(jìn)程,然后再重新運(yùn)行。這樣做是為了保證是當(dāng)init改變運(yùn)行級(jí)別時(shí),所有相關(guān)的守護(hù)進(jìn)程都將重啟。

至于在每個(gè)運(yùn)行級(jí)中將運(yùn)行哪些守護(hù)進(jìn)程,用戶可以通過chkconfig或setup中的"System Services"來自行設(shè)定。常見的守護(hù)進(jìn)程有:

amd:自動(dòng)安裝NFS守護(hù)進(jìn)程

apmd:高級(jí)電源管理守護(hù)進(jìn)程

arpwatch:記錄日志并構(gòu)建一個(gè)在LAN接口上看到的以太網(wǎng)地址和IP地址對(duì)數(shù)據(jù)庫(kù)

autofs:自動(dòng)安裝管理進(jìn)程automount,與NFS相關(guān),依賴于NIS

crond:Linux下的計(jì)劃任務(wù)的守護(hù)進(jìn)程

named:DNS服務(wù)器

netfs:安裝NFS、Samba和NetWare網(wǎng)絡(luò)文件系統(tǒng)

network:激活已配置網(wǎng)絡(luò)接口的腳本程序

nfs:打開NFS服務(wù)

portmap:RPC portmap管理器,它管理基于RPC服務(wù)的連接

sendmail:郵件服務(wù)器sendmail

smb:Samba文件共享/打印服務(wù)

syslog:一個(gè)讓系統(tǒng)引導(dǎo)時(shí)起動(dòng)syslog和klogd系統(tǒng)日志守候進(jìn)程的腳本

xfs:X Window字型服務(wù)器,為本地和遠(yuǎn)程X服務(wù)器提供字型集

Xinetd:支持多種網(wǎng)絡(luò)服務(wù)的核心守護(hù)進(jìn)程,可以管理wuftp、sshd、telnet等服務(wù)

這些守護(hù)進(jìn)程也啟動(dòng)完成了,rc程序也就執(zhí)行完了,然后又將返回init繼續(xù)下一步。

第五部分:建立終端

rc執(zhí)行完畢后,返回init。這時(shí)基本系統(tǒng)環(huán)境已經(jīng)設(shè)置好了,各種守護(hù)進(jìn)程也已經(jīng)啟動(dòng)了。init接下來會(huì)打開6個(gè)終端,以便用戶登錄系統(tǒng)。通過按Alt+Fn(n對(duì)應(yīng)1-6)可以在這6個(gè)終端中切換。在inittab中的以下6行就是定義了6個(gè)終端:

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

從上面可以看出在2、3、4、5的運(yùn)行級(jí)別中都將以respawn方式運(yùn)行mingetty程序,mingetty程序能打開終端、設(shè)置模式。同時(shí)它會(huì)顯示一個(gè)文本登錄界面,這個(gè)界面就是我們經(jīng)常看到的登錄界面,在這個(gè)登錄界面中會(huì)提示用戶輸入用戶名,而用戶輸入的用戶將作為參數(shù)傳給login程序來驗(yàn)證用戶的身份。

第六部分:登錄系統(tǒng),啟動(dòng)完成

對(duì)于運(yùn)行級(jí)別為5的圖形方式用戶來說,他們的登錄是通過一個(gè)圖形化的登錄界面。登錄成功后可以直接進(jìn)入KDE、Gnome等窗口管理器。而本文主要講的還是文本方式登錄的情況:

當(dāng)我們看到mingetty的登錄界面時(shí),我們就可以輸入用戶名和密碼來登錄系統(tǒng)了。

Linux的賬號(hào)驗(yàn)證程序是login,login會(huì)接收mingetty傳來的用戶名作為用戶名參數(shù)。然后login會(huì)對(duì)用戶名進(jìn)行分析:如果用戶名不是root,且存在/etc/nologin文件,login將輸出nologin文件的內(nèi)容,然后退出。這通常用來系統(tǒng)維護(hù)時(shí)防止非root用戶登錄。只有/etc/securetty中登記了的終端才允許root用戶登錄,如果不存在這個(gè)文件,則root可以在任何終端上登錄。/etc /usertty文件用于對(duì)用戶作出附加訪問限制,如果不存在這個(gè)文件,則沒有其他限制。

在分析完用戶名后,login將搜索/etc/passwd以及/etc/shadow來驗(yàn)證密碼以及設(shè)置賬戶的其它信息,比如:主目錄是什么、使用何種shell。如果沒有指定主目錄,將默認(rèn)為根目錄;如果沒有指定shell,將默認(rèn)為/bin/bash。

login程序成功后,會(huì)向?qū)?yīng)的終端在輸出最近一次登錄的信息(在/var/log/lastlog中有記錄),并檢查用戶是否有新郵件(在/usr /spool/mail/的對(duì)應(yīng)用戶名目錄下)。然后開始設(shè)置各種環(huán)境變量:對(duì)于bash來說,系統(tǒng)首先尋找/etc/profile腳本文件,并執(zhí)行它;然后如果用戶的主目錄中存在.bash_profile文件,就執(zhí)行它,在這些文件中又可能調(diào)用了其它配置文件,所有的配置文件執(zhí)行后后,各種環(huán)境變量也設(shè)好了,這時(shí)會(huì)出現(xiàn)大家熟悉的命令行提示符,到此整個(gè)啟動(dòng)過程就結(jié)束了。

希望通過上面對(duì)Linux啟動(dòng)過程的剖析能幫助那些想深入學(xué)習(xí)Linux用戶建立一個(gè)相關(guān)Linux啟動(dòng)過程的清晰概念,進(jìn)而可以進(jìn)一步研究Linux接下來是如何工作的。

【編輯推薦】

  1. 百寶箱解答Linux MAC地址等多重系統(tǒng)啟動(dòng)
  2. 告別Windows與Linux雙系統(tǒng)啟動(dòng)的常見錯(cuò)誤
  3. Linux系統(tǒng)啟動(dòng)更快速的十大秘訣
責(zé)任編輯:趙寧寧 來源: chinaitlab
相關(guān)推薦

2018-03-13 13:00:03

Linux運(yùn)維啟動(dòng)分析

2018-10-18 14:06:15

Linux系統(tǒng)過程

2025-06-18 09:01:27

Linux系統(tǒng)啟動(dòng)系統(tǒng)

2010-05-06 14:05:15

Unix系統(tǒng)

2010-03-02 16:13:50

Linux系統(tǒng)啟動(dòng)過程

2010-03-02 15:45:57

Linux系統(tǒng)啟動(dòng)過程

2009-08-11 09:03:45

Windows 7系統(tǒng)啟動(dòng)

2011-08-22 08:53:17

Android啟動(dòng)過程李洋

2009-12-25 09:17:50

2023-09-02 21:39:47

2011-06-28 13:27:13

ARM Linux

2021-02-09 08:23:02

Linux操作系統(tǒng)

2021-08-03 07:59:37

Linux系統(tǒng)地址

2014-06-23 10:31:09

Android啟動(dòng)過程

2011-07-28 10:34:38

Cocoa 程序 啟動(dòng)

2011-09-05 17:35:18

MTK啟動(dòng)過程RTOS

2018-12-06 09:00:06

LinuxWindows雙系統(tǒng)

2010-01-12 13:47:18

Linux grub

2021-09-28 15:03:06

Linux內(nèi)核arm

2017-03-03 09:10:41

點(diǎn)贊
收藏

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

成人一区二区电影| 亚洲性日韩精品一区二区| 国产一级片91| 欧美一区二区三区黄片| 亚洲欧美久久| 在线观看免费高清视频97| 亚洲一区二区偷拍| 91av久久| 国产精品午夜免费| 成人免费视频观看视频| 国产www在线| 久久综合国产| 日韩av网站导航| 中国黄色片一级| 国产传媒在线观看| 综合中文字幕亚洲| 精品一区二区三区国产| 一区二区三区精彩视频| 亚洲午夜一区| 中文字幕日韩在线播放| 91精产国品一二三| 成人做爰免费视频免费看| 亚洲一区中文日韩| 午夜精品一区二区三区四区| 免费的黄色av| 九九国产精品视频| 欧洲精品毛片网站| 国产suv一区二区三区| 精品成av人一区二区三区| 日韩精品在线一区二区| 久热精品在线播放| 校园春色亚洲| 亚洲一区二区免费视频| 最新精品视频| 99re在线视频| 国产亚洲精品久| 国产综合精品一区二区三区| 国产高清不卡视频| 激情综合网av| 国产精品青青在线观看爽香蕉| 国产一级做a爱片久久毛片a| 欧美精品观看| 超碰日本道色综合久久综合| 国产激情av在线| 偷窥自拍亚洲色图精选| 亚洲国产精彩中文乱码av在线播放 | 97人妻精品一区二区三区软件| 亚洲永久字幕| 45www国产精品网站| 久久9999久久免费精品国产| 好看的av在线不卡观看| 久久99国产综合精品女同| 国产男女猛烈无遮挡在线喷水| 欧美亚洲国产精品久久| 亚洲一级片在线看| 少妇久久久久久久久久| 米奇777超碰欧美日韩亚洲| 日韩av在线资源| 最新在线黄色网址| 美女扒开腿让男人桶爽久久动漫| 亚洲高清一二三区| 你懂的在线观看网站| 国产精品调教| 日韩av在线电影网| 亚洲狠狠婷婷综合久久久久图片| 少妇高潮一区二区三区| 日韩电影免费在线观看中文字幕| 国产精品探花一区二区在线观看| 全球av集中精品导航福利| 亚洲二区在线播放视频| 亚洲 欧美 日韩在线| 大陆精大陆国产国语精品| 精品国产一区二区三区四区四| 99久久久无码国产精品性波多| 欧美一性一交| 亚洲午夜未删减在线观看 | 最新中文字幕一区二区三区| 中文网丁香综合网| 羞羞网站在线看| 亚洲成a人v欧美综合天堂| 老太脱裤让老头玩ⅹxxxx| 自拍偷拍欧美视频| 精品视频1区2区3区| 中文字幕 欧美日韩| 麻豆国产一区| 精品香蕉在线观看视频一| 无码人妻aⅴ一区二区三区69岛| 日韩毛片视频| 久久久久久久一区二区| 青青操免费在线视频| 日韩成人免费看| 亚洲影院色无极综合| 深夜福利在线观看直播| 欧美激情一区二区三区蜜桃视频| 男人草女人视频| 小早川怜子影音先锋在线观看| 欧美人狂配大交3d怪物一区| 亚洲啪av永久无码精品放毛片 | 国产曰批免费观看久久久| 成人女人免费毛片| 国产乱视频在线观看| 亚洲欧美偷拍三级| 99爱视频在线| 国产精品免费精品自在线观看| 日韩精品黄色网| 日本中文在线视频| 国产一区二区三区的电影 | 久久久免费精品| 综合久久中文字幕| www.成人在线| 中国黄色录像片| 日本在线视频一区二区| 亚洲精品91美女久久久久久久| www.黄色com| 在线综合视频| 成人在线观看av| 午夜激情视频在线| 欧美性猛交xxxx黑人| 九九九久久久久久久| 国产麻豆精品久久| 国产+成+人+亚洲欧洲| 91国内精品视频| 久久香蕉国产线看观看99| 日韩视频 中文字幕| 日韩欧美精品电影| 亚洲精品国产欧美| 青青草在线观看视频| 青青草国产精品亚洲专区无| 久久99精品久久久久久三级| 欧洲黄色一区| 欧美一区二区大片| 久久视频一区二区三区| 午夜在线一区二区| 国产精品一区二区三区免费 | 亚洲色大成网站www久久九九| 99福利在线观看| heyzo欧美激情| 精品自在线视频| 亚洲专区第一页| 国产女主播一区| 黄色国产小视频| 少妇精品久久久一区二区| 国产69精品久久久久9| 成人av无码一区二区三区| 亚洲色图欧洲色图| 久久久精品高清| 日韩专区精品| 国产精品中文久久久久久久| yourporn在线观看视频| 在线欧美日韩精品| 少妇光屁股影院| 亚洲一区免费| 欧美aaaaa喷水| 欧美成人免费电影| 亚洲欧美一区二区三区情侣bbw| 天天操天天摸天天干| 99精品视频免费在线观看| 尤物av无码色av无码| 亚洲第一二三区| 日韩免费在线视频| 国产视频第一页在线观看| 色欧美乱欧美15图片| 性の欲びの女javhd| 蜜桃视频在线一区| 致1999电视剧免费观看策驰影院| 精品国产亚洲一区二区三区| 欧美高清无遮挡| 天天爽夜夜爽夜夜爽| 色婷婷综合在线| 人妻互换一区二区激情偷拍| 国产一区二区三区香蕉| 中文字幕在线中文| 欧美电影在线观看免费| 日本伊人精品一区二区三区介绍| 国产黄色片在线观看| 欧美日韩国产综合草草| 九九九免费视频| jizz一区二区| 亚洲激情在线观看视频| 亚洲电影影音先锋| 国产精品日韩二区| 吞精囗交69激情欧美| www.日韩不卡电影av| 亚洲黄色小说网址| 欧美视频在线观看免费网址| 中文字幕欧美激情极品| 国产精品456露脸| www.com毛片| 婷婷综合五月| 国产专区一区二区三区| 激情久久99| 欧美激情xxxxx| 精品无吗乱吗av国产爱色| 91精品国产免费| 日本午夜视频在线观看| 亚洲欧美日韩国产综合| 国产精品第七页| 久久99国产精品免费| 国产h视频在线播放| 日韩在线观看一区 | 国产乱女淫av麻豆国产| 亚洲黄页一区| 伊人久久大香线蕉综合75| 国产精品色呦| 91久久久国产精品| 日本在线高清| 欧美黑人国产人伦爽爽爽| 成人影院免费观看| 亚洲国产精品久久精品怡红院| 中文字幕无线码一区| 亚洲成国产人片在线观看| 丁香六月激情综合| 91在线观看一区二区| 午夜免费福利网站| 久久久xxx| 国产自产在线视频| 91精品国产自产拍在线观看蜜| 久久综合入口| 超碰97久久| 亚洲xxxxx性| 亚洲爱爱视频| 日本三级久久久| free性护士videos欧美| 久久久999精品视频| 九色在线播放| 亚洲激情在线观看| а√中文在线资源库| 欧美日韩视频在线第一区| 国产精品21p| 亚洲成人av电影在线| caoporn91| 中文字幕一区二区三区四区| 久久久久久久久久久久久久久| 成人av电影免费观看| 日本亚洲一区二区三区| 蜜臀av性久久久久蜜臀aⅴ | 国精产品一区一区三区四川| 国内精品美女av在线播放| 成人片在线看| 久久亚洲国产精品成人av秋霞| 91女主播在线观看| 永久免费毛片在线播放不卡| 久久久久久久久亚洲精品| 精品国产1区二区| 国产 日韩 欧美 精品| 日韩片之四级片| 亚洲AV无码国产精品午夜字幕 | 欧美日韩一区二区区别是什么| 国产一区二区女| 北条麻妃亚洲一区| 国产乱对白刺激视频不卡| 天天综合天天添夜夜添狠狠添| 精品亚洲porn| 欧美日韩理论片| 高清日韩电视剧大全免费| 国产人妻精品午夜福利免费| 高清在线成人网| 亚洲制服丝袜在线播放| 91丨porny丨在线| 大又大又粗又硬又爽少妇毛片 | 茄子视频成人在线观看| av亚洲在线观看| 先锋影音网一区| 天天久久综合| www.欧美黄色| 国产精品视区| 男女无套免费视频网站动漫| 久久精品国产在热久久| 久久艹这里只有精品| 成人网页在线观看| 在哪里可以看毛片| 国产精品久久久久影院亚瑟 | 欧美成人亚洲| 日韩精品视频在线观看视频| 日韩一级大片| 一区二区三区国产免费| 精品亚洲国内自在自线福利| 国产在线观看免费播放| 97久久精品人人爽人人爽蜜臀| 国产精品成人一区二区三区电影毛片| 中文字幕第一区| 免费看一级一片| 在线观看三级视频欧美| 国产视频第一页| 亚洲精品黄网在线观看| 成人精品一区二区三区免费| 久热精品在线视频| 蜜桃视频在线网站| 国产精品情侣自拍| 一区二区三区四区高清视频| 欧美伦理一区二区| 欧美aaaa视频| 91好吊色国产欧美日韩在线| 免费成人在线观看| 无码国产精品一区二区高潮| 91麻豆免费看| 国产高潮流白浆| 色偷偷成人一区二区三区91| 成人h动漫精品一区二区无码| 亚洲精品一区久久久久久| 亚洲xxxxxx| 亚洲 日韩 国产第一| 日韩三级成人| 免费在线国产精品| 欧美另类亚洲| 91欧美视频在线| 91视频com| 婷婷色中文字幕| 欧美在线观看你懂的| 免费观看a视频| www亚洲精品| 亚洲高清黄色| 国产综合动作在线观看| 中国成人一区| 亚洲国产日韩欧美在线观看| 99久久99久久综合| 少妇久久久久久被弄高潮| 欧美日韩精品一区二区三区四区 | 在线成人中文字幕| 多野结衣av一区| 成人在线看片| 女主播福利一区| www.夜夜爽| 国产午夜精品一区二区三区四区| 成年人午夜视频| 日韩一级片网站| 欧美成人高清在线| 国产精品第三页| 精品一区毛片| 欧美v在线观看| www.性欧美| 精品午夜福利视频| 日韩欧美在线综合网| 免费观看久久久久| 国产精品你懂得| 欧美最新另类人妖| 噼里啪啦国语在线观看免费版高清版| 99久久99久久久精品齐齐| 国产无精乱码一区二区三区| 日韩精品一区二区三区视频播放 | 欧美视频久久久| 久久91亚洲精品中文字幕奶水| 日韩大陆av| 三年中文高清在线观看第6集| 秋霞国产午夜精品免费视频| 91成年人网站| 在线欧美一区二区| 成年在线电影| 国产精选久久久久久| 久久在线播放| 在线观看日本www| 一区二区三区日韩欧美精品| 亚洲av少妇一区二区在线观看 | 韩国av一区二区| 久久精品亚洲a| 91精品国产91久久久久久一区二区| 黄色一级大片在线免费看产| 亚洲精品欧美日韩| 欧美精品aa| 朝桐光av一区二区三区| 精品久久久久久久久久久久久久| 污视频网站免费观看| 欧美在线视频免费播放| 免费精品国产| 黄色手机在线视频| ㊣最新国产の精品bt伙计久久| 精品久久久久中文慕人妻| 欧美精品videossex88| 国产精品极品国产中出| 欧美网站免费观看| 久久精品一区二区| 中文av免费观看| 欧美精品一区二区三区国产精品| 国产成人精品福利| 免费黄色福利视频| 国产精品久久久久久久久晋中| 99久久久久久久| 91精品国产91久久久久久吃药 | 中文另类视频| 丰满女人性猛交| 不卡的av网站| 一级一级黄色片| 欧美裸体男粗大视频在线观看 | 亚洲高清在线播放| 国产呦萝稀缺另类资源| 日本视频www| 一区二区三区 在线观看视| 久久av网站| aa在线免费观看| 亚洲欧洲av另类| 西西人体44www大胆无码| 国产精品日本精品| 在线成人欧美| 黑人と日本人の交わりビデオ| 精品国产123| 日本电影久久久| 18岁网站在线观看| 亚洲欧美日韩国产一区二区三区| 天堂91在线| 91久久中文字幕|