日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux 内核引导选项简介 *********很多常用的受益匪浅

發布時間:2025/3/21 linux 82 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 内核引导选项简介 *********很多常用的受益匪浅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內核引導選項大體上可以分為兩類:一類與設備無關、另一類與設備有關。與設備有關的引導選項多如牛毛,需要你自己閱讀內核中的相應驅動程序源碼以獲取其能夠接受的引導選項。比如,如果你想知道可以向 AHA1542 SCSI 驅動程序傳遞哪些引導選項,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注釋里就可以找到所接受的引導選項說明。大多數選項是通過"__setup()"函數設置的,少部分是通過"early_param()"或"module_param()"或"module_param_named()"之類的函數設置的,逗號前的部分就是引導選項的名稱,后面的部分就是處理這些選項的函數名。

[提示]你可以在源碼樹的根目錄下試一試下面幾個命令:

grep -r '\b__setup *(' * grep -r '\bearly_param *(' * grep -r '\bmodule_param *(' * grep -r '\bmodule_param_named *(' *

格式上,多個選項之間用空格分割,選項值是一個逗號分割的列表,并且選項值中不能包含空白。

正確:ether=9,0x300,0xd0000,0xd4000,eth0 root=/dev/sda2 錯誤:ether = 9, 0x300, 0xd0000, 0xd4000, eth0 root = /dev/sda2

注意,所有引導選項都是大小寫敏感的!

在內核運行起來之后,可以通過 cat /proc/cmdline 命令查看當初使用的引導選項以及相應的值。

內核模塊

對于模塊而言,引導選項只能用于直接編譯到核心中的模塊,格式是"模塊名.選項=值",比如"usbcore.blinkenlights=1"。動態加載的模塊則可以在 modprobe 命令行上指定相應的選項值,比如"modprobe usbcore blinkenlights=1"。

可以使用"modinfo -p ${modulename}"命令顯示可加載模塊的所有可用選項。已經加載到內核中的模塊會在 /sys/module/${modulename}/parameters/ 中顯示出其選項,并且某些選項的值還可以在運行時通過"echo -n ${value} > /sys/module/${modulename}/parameters/${parm}"進行修改。

內核如何處理引導選項

絕大部分的內核引導選項的格式如下(每個選項的值列表中最多只能有十項):

name[=value_1][,value_2]...[,value_10]

如果"name"不能被識別并且滿足"name=value"的格式,那么將被解譯為一個環境變量(比如"TERM=linux"或"BOOT_IMAGE=vmlinuz.bak"),否則將被原封不動的傳遞給 init 程序(比如"single")。

內核可以接受的選項個數沒有限制,但是整個命令行的總長度(選項/值/空格全部包含在內)卻是有限制的,定義在 include/asm/setup.h 中的 COMMAND_LINE_SIZE 宏中(對于X86_64而言是2048)。

內核引導選項精選

由于引導選項多如牛毛,本文不可能涉及全部,因此本文只基于 X86_64 平臺以及 Linux-3.13.2 精選了一些與設備無關的引導選項以及少部分與設備有關的引導選項,過時的選項、非x86平臺選項、與設備有關的選項,基本上都被忽略了。

[提示]內核源碼樹下的?Documentation/kernel-parameters.txt?和?Documentation/x86/x86_64/boot-options.txt?文件列出了所有可用的引導選項,并作了簡要說明。

標記說明

并不是所有的選項都是永遠可用的,只有在特定的模塊存在并且相應的硬件也存在的情況下才可用。引導選項上面的方括號說明了其依賴關系,其中使用的標記解釋如下:

ACPI 開啟了高級配置與電源接口(CONFIG_ACPI)支持 AGP 開啟了AGP(CONFIG_AGP)支持 APIC 開啟了高級可編程中斷控制器支持(2000年以后的CPU都支持) APPARMOR 開啟了AppArmor(CONFIG_SECURITY_APPARMOR)支持 DRM 開啟了Direct Rendering Manager(CONFIG_DRM)支持 EFI 開啟了EFI分區(CONFIG_EFI_PARTITION)支持 EVM 開啟了Extended Verification Module(CONFIG_EVM)支持 FB 開啟了幀緩沖設備(CONFIG_FB)支持 HIBERNATION 開啟了"休眠到硬盤"(CONFIG_HIBERNATION)支持 HPET_MMAP 允許對HPET寄存器進行映射(CONFIG_HPET_MMAP) HW 存在相應的硬件設備 IOMMU 開啟了IOMMU(CONFIG_IOMMU_SUPPORT)支持 IOSCHED 開啟了多個不同的I/O調度程序(CONFIG_IOSCHED_*) IPV6 開啟了IPv6(CONFIG_IPV6)支持 IP_PNP 開啟了自動獲取IP的協議(DHCP,BOOTP,RARP)支持 IP_VS_FTP 開啟了IPVS FTP協議連接追蹤(CONFIG_IP_VS_FTP)支持 KVM 開啟了KVM(CONFIG_KVM_*)支持 LIBATA 開啟了libata(CONFIG_ATA)驅動支持 LOOP 開啟了回環設備(CONFIG_BLK_DEV_LOOP)支持 MCE 開啟了Machine Check Exception(CONFIG_X86_MCE)支持 MOUSE 開啟了鼠標(CONFIG_INPUT_MOUSEDEV)支持 MSI 開啟了PCI MSI(CONFIG_PCI_MSI)支持 NET 開啟了網絡支持 NETFILTER 開啟了Netfilter(CONFIG_NETFILTER)支持 NFS 開啟了NFS(網絡文件系統)支持 NUMA 開啟了NUMA(CONFIG_NUMA)支持 PCI 開啟了PCI總線(CONFIG_PCI)支持 PCIE 開啟了PCI-Express(CONFIG_PCIEPORTBUS)支持 PNP 開啟了即插即用(CONFIG_PNP)支持 PV_OPS 內核本身是半虛擬化的(paravirtualized) RAID 開啟了軟RAID(CONFIG_BLK_DEV_MD)支持 SECURITY 開啟了多個不同的安全模型(CONFIG_SECURITY) SELINUX 開啟了SELinux(CONFIG_SECURITY_SELINUX)支持 SLUB 開啟了SLUB內存分配管理器(CONFIG_SLUB) SMP 開啟了對稱多處理器(CONFIG_SMP)支持 TPM 開啟了可信賴平臺模塊(CONFIG_TCG_TPM)支持 UMS 開啟了USB大容量存儲設備(CONFIG_USB_STORAGE)支持 USB 開啟了USB(CONFIG_USB_SUPPORT)支持 USBHID 開啟了USB HID(CONFIG_USB_HID)支持 VMMIO 開啟了使用內存映射機制的virtio設備驅動(CONFIG_VIRTIO_MMIO) VT 開啟了虛擬終端(CONFIG_VT)支持

此外,下面的標記在含義上與上面的有所不同:

BUGS 用于解決某些特定硬件的缺陷 KNL 是一個內核啟動選項 BOOT 是一個引導程序選項

標記為"BOOT"的選項實際上由引導程序(例如GRUB)使用,對內核本身沒有直接的意義。如果沒有特別的需求,請不要修改此類選項的語法,更多信息請閱讀?Documentation/x86/boot.txt?文檔。

說明:下文中的 [KMG] 后綴表示 210, 220, 230?的含義。

控制臺與終端

[KNL]
console=設備及選項
設置輸出控制臺使用的設備及選項。例如:ttyN 表示使用第N個虛擬控制臺。其它用法主要針對嵌入式環境(Documentation/serial-console.txt)。
[KNL]
consoleblank=秒數
控制臺多長時間無操作后黑屏,默認值是600秒,設為0表示禁止黑屏。
[HW]
no_console_suspend
永遠也不要將控制臺進入休眠狀態。因為當控制臺進入休眠之后,所有內核的消息就都看不見了(包括串口與VGA)。開啟此選項有助于調試系統在休眠/喚醒中發生的故障。
[VT]
vt.default_utf8={0|1}
是否將所有TTY都默認設置為UTF-8模式。默認值"1"表示將所有新打開的終端都設置為UTF-8模式。

日志與調試

earlyprintk=設備[,keep]
使用哪個設備顯示早期的引導信息,主要用于調試硬件故障。此選項默認并未開啟,因為在某些情況下并不能正常工作。
在傳統的控制臺初始化之前,在哪個設備上顯示內核日志信息。不使用此選項,那么你將永遠沒機會看見這些信息。
在尾部加上",keep"選項表示在真正的內核控制臺初始化并接管系統后,不會抹掉本選項消息的顯示。
earlyprintk=vga 表示在VGA上顯示內核日志信息,這是最常用的選項,但不能用于EFI環境。
earlyprintk=efi v3.13新增,表示將錯誤日志寫入EFI framebuffer,專用于EFI環境。
earlyprintk=xen 僅可用于XEN的半虛擬化客戶機。
loglevel={0|1|2|3|4|5|6|7}
設置內核日志的級別,所有小于該數字的內核信息(具有更高優先級的信息)都將在控制臺上顯示出來。這個級別可以使用 klogd 程序或者修改 /proc/sys/kernel/printk 文件進行調整。取值范圍是"0"(不顯示任何信息)到"7"(顯示所有級別的信息)。建議至少設為"4"(WARNING)。[提示]級別"7"要求編譯時加入了調試支持。
[KNL]
ignore_loglevel
忽略內核日志等級的設置,向控制臺輸出所有內核消息。僅用于調試目的。
[KNL]
debug
將引導過程中的所有調試信息都顯示在控制臺上。相當于設置"loglevel=7"(DEBUG)。
[KNL]
quiet
靜默模式。相當于設置"loglevel=4"(WARNING)。
log_buf_len=n[KMG]
內核日志緩沖區的大小。"n"必須是2的整數倍(否則會被自動上調到最接近的2的整數倍)。該值也可以通過內核配置選項CONFIG_LOG_BUF_SHIFT來設置。
[KNL]
initcall_debug
跟蹤所有內核初始化過程中調用的函數。有助于診斷內核在啟動過程中死在了那個函數上面。
kstack=N
在內核異常(oops)時,應該打印出內核棧中多少個字(word)到異常轉儲中。僅供調試使用。
[KNL]
kmemleak={on|off}
是否開啟檢測內核內存泄漏的功能(CONFIG_DEBUG_KMEMLEAK),默認為"on",僅供調試使用。
檢測方法類似于跟蹤內存收集器,一個內核線程每10分鐘(默認值)掃描內存,并打印發現新的未引用的對象的數量。
[KNL]
memtest=整數
設置內存測試(CONFIG_MEMTEST)的輪數。"0"表示禁止測試。僅在你確實知道這是什么東西并且確實需要的時候再開啟。
norandmaps
默認情況下,內核會隨機化程序的啟動地址,也就是每一次分配給程序的虛擬地址空間都不一樣,主要目的是為了防止緩沖區溢出攻擊。但是這也給程序調試增加了麻煩,此選項(相當于"echo 0 > /proc/sys/kernel/randomize_va_space")的目的就是禁用該功能以方便調試。
[PNP]
pnp.debug=1
開啟PNP調試信息(需要內核已開啟CONFIG_PNP_DEBUG_MESSAGES選項),僅用于調試目的。也可在運行時通過 /sys/module/pnp/parameters/debug 來控制。
show_msr=CPU數
顯示啟動時由BIOS初始化的MSR(Model-Specific Register)寄存器設置。CPU數設為"1"表示僅顯示"boot CPU"的設置。
printk.time={0|1}
是否在每一行printk輸出前都加上時間戳,僅供調試使用。默認值是"0"(不添加)
boot_delay=毫秒數
在啟動過程中,為每一個printk動作延遲指定的毫秒數,取值范圍是[0-10000](最大10秒),超出這個范圍將等價于"0"(無延遲)。僅用于調試目的。
pause_on_oops=秒數
當內核發生異常時,掛起所有CPU的時間。當異常信息太多,屏幕持續滾動時,這個選項就很有用處了。主要用于調試目的。

異常檢測與處理

[MCE]
mce=off
徹底禁用MCE(CONFIG_X86_MCE)
[MCE]
mce=dont_log_ce
不為已糾正錯誤(corrected error)記錄日志。
[MCE]
mce=容錯級別[,超時]
容錯級別(還可通過sysfs設置):
0 在出現未能糾正的錯誤時panic,記錄所有已糾正的錯誤
1(默認值) 在出現未能糾正的錯誤時panic或SIGBUS,記錄所有已糾正的錯誤
2 在出現未能糾正的錯誤時SIGBUS或記錄日志,記錄所有已糾正的錯誤
3 從不panic或SIGBUS,記錄所有日志。僅用于調試目的。
超時(單位是微秒[百萬分之一秒]):在machine check時等待其它CPU的時長,"0"表示不等待。
[ACPI]
erst_disable
禁用ERST(Error Record Serialization Table)支持。主要用于解決某些有缺陷的BIOS導致的ERST故障。
[ACPI]
hest_disable
禁用HEST(Hardware Error Source Table)支持。主要用于解決某些有缺陷的BIOS導致的HEST故障。
[KNL]
nosoftlockup
禁止內核進行軟死鎖檢測
[KNL]
softlockup_panic={0|1}
是否在檢測到軟死鎖(soft-lockup)的時候讓內核panic,其默認值由 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE 確定
[KNL]
nowatchdog
禁止硬死鎖檢測(NMI watchdog)
[KNL,BUGS]
nmi_watchdog={0|panic|nopanic}
配置nmi_watchdog(不可屏蔽中斷看門狗)。更多信息可查看"lockup-watchdogs.txt"文檔。
0 表示關閉看門狗;
panic 表示出現看門狗超時(長時間沒喂狗)的時候觸發內核錯誤,通常和"panic="配合使用,以實現在系統出現鎖死的時候自動重啟。
nopanic 正好相反,表示即使出現看門狗超時(長時間沒喂狗),也不觸發內核錯誤。
unknown_nmi_panic
在收到未知的NMI(不可屏蔽中斷)時直接panic
oops=panic
在內核oops時直接panic(而默認是僅僅殺死oops進程[這樣做會有很小的概率導致死鎖]),而且這同樣也會導致在發生MCE(CONFIG_X86_MCE)時直接panic。主要目的是和"panic="選項連用以實現自動重啟。
[KNL]
panic=秒數
內核在遇到panic時等待重啟的行為:
秒數>0 等待指定的秒數后重啟
秒數=0(默認值) 只是簡單的掛起,而永不重啟
秒數<0 立即重啟

時鐘(Timer)

時鐘(Timer)的功能有兩個:(1)定時觸發中斷;(2)維護和讀取當前時間。x86_64平臺常見的時鐘硬件有以下這些:
RTC(Real Time Clock) 實時時鐘的獨特之處在于,RTC是主板上一塊電池供電的CMOS芯片(精度一般只到秒級),RTC(Clock)吐出來的是"時刻"(例如"2014-2-22 23:38:44"),而其他硬件時鐘(Timer)吐出來的是"時長"(我走過了XX個周期,按照我的頻率,應該是10秒鐘)。
PIT(Programmable Interval Timer) PIT是最古老的時鐘源,產生周期性的時鐘中斷(IRQ0),精度在100-1000Hz,現在基本已經被HPET取代。
APIC Timer 這是PIT針對多CPU環境的升級,每個CPU上都有一個APIC Timer(而PIT則是所有CPU共享的),但是它經常有BUG且精度也不高(3MHz左右),所實際很少使用。
ACPI Timer(Power Management Timer) 它唯一的功能就是為每個時鐘周期提供一個時間戳,用于提供與處理器速度無關的可靠時間戳。但其精度并不高(3.579545MHz)。
HPET(High Precision Event Timer) HPET提供了更高的精度(14.31818MHz)以及更寬的計數器(64位)。HPET可以替代前述除RTC之外的所有時鐘硬件(Timer),因為它既能定時觸發中斷,又能維護和讀取當前時間。一個HPET包含了一個固定頻率的數值遞增的計數器以及3-32個獨立計數器,每個計數器又包含了一個比較器和一個寄存器,當兩者數值相等時就會觸發中斷。HPET的出現將允許刪除芯片組中的一些冗余的舊式硬件。2006年之后的主板基本都已支持HPET。
TSC(Time Stamp Counter) TSC是位于CPU里面的一個64位寄存器,與傳統的周期性時鐘不同,TSC并不觸發中斷,它是以計數器形式存在的單步遞增性時鐘。也就是說,周期性時鐘是通過周期性觸發中斷達到計時目的,如心跳一般。而單步遞增時鐘則不發送中斷,取而代之的是由軟件自己在需要的時候去主動讀取TSC寄存器的值來獲得時間。TSC的精度(納秒級)遠超HPET并且速度更快,但僅能在較新的CPU(Sandy Bridge之后)上使用。

[HW,ACPI]
acpi_skip_timer_override
用于解決某些有缺陷的Nvidia nForce2 BIOS中的計時器覆蓋問題(例如開啟ACPI后頻繁死機或時鐘故障)。
[HW,ACPI]
acpi_use_timer_override
用于解決某些有缺陷的Nvidia nForce5 BIOS中的計時器覆蓋問題(例如開啟ACPI后頻繁死機或時鐘故障)。
[APIC]
no_timer_check
禁止運行內核中時鐘IRQ源缺陷檢測代碼。主要用于解決某些AMD平臺的CPU占用過高以及時鐘過快的故障。
pmtmr=十六進制端口號
手動指定pmtimer(CONFIG_X86_PM_TIMER)的I/O端口(16進制值),例如:pmtmr=0x508
acpi_pm_good
跳過pmtimer(CONFIG_X86_PM_TIMER)的bug檢測,強制內核認為這臺機器的pmtimer沒有毛病。用于解決某些有缺陷的BIOS導致的故障。
[APIC]
apicpmtimer
使用pmtimer(CONFIG_X86_PM_TIMER)來校準APIC timer。此選項隱含了"apicmaintimer"。用于PIT timer徹底壞掉的場合。
[APIC]
apicmaintimer
noapicmaintimer
apicmaintimer 將APIC timer用于計時(而不是PIT/HPET中斷)。這主要用于PIT/HPET中斷不可靠的場合。
noapicmaintimer 不將APIC timer用于計時(而是使用PIT/HPET中斷)。這是默認值。但有時候依然需要明確指定。
[APIC]
lapic_timer_c2_ok
按照ACPI規范的要求,local APIC Timer 不能在C2休眠狀態下關閉,但可以在C3休眠狀態下關閉。但某些BIOS(主要是AMD平臺)會在向操作系統報告CPU進入C2休眠狀態時,實際進入C3休眠狀態。因此,內核默認采取了保守的假定:認為 local APIC Timer 在C2/C3狀態時皆處于關閉狀態。如果你確定你的BIOS沒有這個問題,那么可以使用此選項明確告訴內核,即使CPU在C2休眠狀態,local APIC Timer 也依然可用。
[APIC]
noapictimer
禁用CPU?Local APIC Timer
enable_timer_pin_1
disable_timer_pin_1
開啟/關閉APIC定時器的PIN1,內核將盡可能自動探測正確的值。但有時需要手動指定以解決某些有缺陷的ATI芯片組故障。
clocksource={jiffies|acpi_pm|hpet|tsc}
強制使用指定的時鐘源,以代替內核默認的時鐘源。
jiffies 最差的時鐘源,只能作為最后的選擇。
acpi_pm [ACPI]符合ACPI規范的主板都提供的硬件時鐘源(CONFIG_X86_PM_TIMER),提供3.579545MHz固定頻率,這是傳統的硬件時鐘發生器。
hpet 一種取代傳統"acpi_pm"的高精度硬件時鐘源(CONFIG_HPET),提供14.31818MHz固定頻率。2007年以后的芯片組一般都支持。
tsc TSC(Time Stamp Counter)的主體是位于CPU里面的一個64位TSC寄存器,與傳統的以中斷形式存在的周期性時鐘不同,TSC是以計數器形式存在的單步遞增性時鐘,兩者的區別在于,周期性時鐘是通過周期性觸發中斷達到計時目的,如心跳一般。而單步遞增時鐘則不發送中斷,取而代之的是由軟件自己在需要的時候去主動讀取TSC寄存器的值來獲得時間。TSC的精度更高并且速度更快,但僅能在較新的CPU(Sandy Bridge之后)上使用。
[KNL]
highres={"on"|"off"}
啟用(默認值)還是禁用高精度定時器模式。主要用于關閉主板上有故障的高精度時鐘源。
nohpet
禁用HPET timer(CONFIG_HPET)
[HPET_MMAP]
hpet_mmap
v3.13新增,默認允許對HPET寄存器進行映射,相當于開啟了內核CONFIG_HPET_MMAP_DEFAULT選項。需要注意的是,某些包含HPET硬件寄存器的頁中同時還含有其他不該暴露給用戶的信息。
notsc
tsc=reliable
tsc=noirqtime
設置TSC時鐘源的屬性。
notsc 表示不將TSC用作"wall time"時鐘源,主要用于不能在多個CPU之間保持正確同步的SMP系統。
tsc=reliable 表示TSC時鐘源是絕對穩定的,關閉啟動時和運行時的穩定性檢查。用于在某些老舊硬件/虛擬化環境使用TSC時鐘源。
tsc=noirqtime 不將TSC用于統計進程IRQ時間。主要用于在RDTSC速度較慢的CPU上禁止內核的CONFIG_IRQ_TIME_ACCOUNTING功能。
關于"TSC時鐘源",詳見"clocksource="選項的說明。

中斷

常見的中斷控制器有兩種:傳統的8259A和新式的APIC,前者也被稱為"PIC"。8259A只適合單CPU的場合,而APIC則能夠把中斷傳遞給系統中的每個CPU,從而充分挖掘SMP體系結構的并行性。所以8259A已經被淘汰了。APIC系統由3部分組成:APIC總線(前端總線)、IO-APIC(南橋)、本地APIC(CPU)。每個CPU中集成了一個本地APIC,負責傳遞中斷信號到處理器。而IO-APIC是系統芯片組中一部分,負責收集來自I/O設備的中斷信號并發送到本地APIC。APIC總線則是連接IO-APIC和各個本地APIC的橋梁。

[SMP,APIC]
noapic
禁止使用IO-APIC(輸入輸出高級可編程輸入控制器),主要用于解決某些有缺陷的BIOS導致的APIC故障。
[APIC]
nolapic
disableapic
禁止使用local APIC。主要用于解決某些有缺陷的BIOS導致的APIC故障。"nolapic"是為了保持傳統習慣的兼容寫法,與"disableapic"的含義相同。
[APIC]
nox2apic
關閉x2APIC支持(CONFIG_X86_X2APIC)
[APIC]
x2apic_phys
在支持x2apic的平臺上使用physical模式代替默認的cluster模式。
[KNL]
threadirqs
強制線程化所有的中斷處理器(明確標記為IRQF_NO_THREAD的除外)
[SMP,APIC]
pirq=
手動指定mp-table的設置。此選項僅對某些有缺陷的、具備多個IO-APIC的高端主板有意義。詳見Documentation/x86/i386/IO-APIC.txt文檔
[HW]
irqfixup
用于修復簡單的中斷問題:當一個中斷沒有被處理時搜索所有可用的中斷處理器。用于解決某些簡單的固件缺陷。
[HW]
irqpoll
用于修復高級的中斷問題:當一個中斷沒有被處理時搜索所有可用的中斷處理器,并且對每個時鐘中斷都進行搜索。用于解決某些嚴重的固件缺陷。

ACPI

高級配置與電源管理接口(Advanced Configuration and Power Interface)是提供操作系統與應用程序管理所有電源管理接口,包括了各種軟件和硬件方面的規范。2004年推出3.0規范;2009年推出4.0規范;2011年推出5.0規范。2013年之后新的ACPI規格將由UEFI論壇制定。ACPI可以實現的功能包括:電源管理;性能管理;配置與即插即用;系統事件;溫度管理;電池管理;SMBus控制器;嵌入式控制器。

[HW,ACPI]
acpi={force|off|noirq|strict|rsdt|nocmcff|copy_dsdt}
ACPI的總開關。
force 表示強制啟用ACPI(即使BIOS中已關閉);
off 表示強制禁用ACPI(即使BIOS中已開啟);
noirq 表示不要將ACPI用于IRQ路由;
strict 表示嚴格要求系統遵循ACPI規格(降低兼容性);
rsdt 表示使用老舊的RSDT(Root System Description Table)代替較新的XSDT(Extended System Description Table);
copy_dsdt 表示將DSDT(Differentiated System Description Table)復制到內存中。
更多信息可參考Documentation/power/runtime_pm.txt以及"pci=noacpi"。
[HW,ACPI]
acpi_backlight={vendor|video}
選擇屏幕背光亮度調節驅動。
video(默認值)表示使用通用的ACPI video.ko驅動(CONFIG_ACPI_VIDEO),該驅動僅可用于集成顯卡。
vendor表示使用廠商特定的ACPI驅動(thinkpad_acpi,sony_acpi等)。
詳見Documentation/acpi/video_extension.txt文檔。
[HW,ACPI]
acpi_os_name="字符串"
告訴ACPI BIOS操作系統的名稱。
常用于哄騙有缺陷的BIOS,讓其以為運行的是Windows系統而不是Linux系統。
"Linux" = Linux
"Microsoft Windows" = Windows 98
"Windows 2000" = Windows 2000
"Windows 2001" = Windows XP
"Windows 2001 SP2" = Windows XP SP2
"Windows 2001.1" = Windows Server 2003
"Windows 2001.1 SP1" = Windows Server 2003 SP1
"Windows 2006" = Windows Vista
"Windows 2006 SP1" = Windows Vista SP1
"Windows 2006.1" = Windows Server 2008
"Windows 2009" = Windows 7 / Windows Server 2008 R2
"Windows 2012" = Windows 8 / Windows Server 2012
"Windows 2013" = Windows 8.1 / Windows Server 2012 R2
[HW,ACPI]
acpi_osi="字符串"
對于較新的內核(Linux-2.6.23之后)而言,當BIOS詢問內核:"你是Linux嗎?",內核都會回答"No",但歷史上(Linux-2.6.22及更早版本)內核會如實回答"Yes",結果造成很多BIOS兼容性問題(主要是電源管理方面)。具體故事的細節請到內核源碼文件drivers/acpi/osl.c中搜索"The story of _OSI(Linux)"注釋。
此選項用于修改內核中的操作系統接口字符串(_OSI string)列表默認值,這樣當BIOS向內核詢問:"你是xxx嗎?"的時候,內核就可以根據修改后的列表中是否存在"xxx"回答"Yes"或"No"了,主要用于解決BIOS兼容性問題導致的故障(例如屏幕亮度調整)。
acpi_osi="Linux"表示添加"Linux";
acpi_osi="!Linux"表示刪除"Linux";
acpi_osi=!* 表示刪除所有字符串(v3.13新增),可以和多個acpi_osi="Linux"格式聯合使用;
acpi_osi=! 表示刪除所有內置的字符串(v3.13新增),可以和多個acpi_osi="Linux"格式聯合使用;
acpi_osi= 表示禁用所有字符串,僅可單獨使用(不能聯合使用)。
[HW,ACPI]
acpi_serialize
強制內核以串行方式執行AML(ACPI Machine Language)字節碼。用于解決某些有缺陷的BIOS導致的故障。
[ACPI]
acpi_enforce_resources={strict|lax|no}
檢查驅動程序和ACPI操作區域(SystemIO,SystemMemory)之間資源沖突的方式。
strict(默認值)禁止任何驅動程序訪問已被ACPI聲明為"受保護"的操作區域,這是最安全的方式,可以從根本上避免沖突。
lax允許驅動程序訪問已被ACPI聲明的保護區域(但會顯示一個警告)。這可能會造成沖突,但是可以兼容某些老舊且腦殘的驅動程序(例如某些硬件監控驅動)。
no表示根本不聲明任何ACPI保護區域,也就是完全允許任意驅動程序訪問ACPI操作區域。
[ACPI]
pnpacpi=off
禁用ACPI的即插即用功能,轉而使用古董的PNPBIOS來代替。

休眠與喚醒

[HW,ACPI]
acpi_sleep={s3_bios,s3_mode,s3_beep,s4_nohwsig,old_ordering,nonvs,sci_force_enable}
ACPI休眠選項。
(1)s3_bios和s3_mode與顯卡有關。計算機從S3狀態(掛起到內存)恢復時,硬件需要被正確的初始化。這對大多數硬件都不是問題,但因為顯卡是由BIOS初始化的,內核無法獲取必要的恢復信息(僅存在于BIOS中,內核無法讀取),所以這里就提供了兩個選項,以允許內核通過兩種不同的方式來恢復顯卡,更多細節請參考Documentation/power/video.txt文檔。
(2)s3_beep主要用于調試,它讓PC喇叭在內核的實模式入口點被調用時發出響聲。
(3)s4_nohwsig用于關閉ACPI硬件簽名功能,某些有缺陷的BIOS會因為這個原因導致從S4狀態(掛起到硬盤)喚醒時失敗。
(4)old_ordering用于兼容古董級的ACPI 1.0 BIOS
(5)nonvs表示阻止內核在掛起/喚醒過程中保存/恢復ACPI NVS內存信息,主要用于解決某些有缺陷的BIOS導致的掛起/喚醒故障。
(6)sci_force_enable表示由內核直接設置SCI_EN(ACPI模式開關)的狀態,主要用于解決某些有缺陷的BIOS導致的從S1/S3狀態喚醒時的故障。
[HIBERNATION]
noresume
禁用內核的休眠到硬盤功能(CONFIG_HIBERNATION),也就是不從先前的休眠狀態中恢復(即使該狀態已經被保存在了硬盤的swap分區上),并且清楚先前已經保存的休眠狀態(如果有的話)。
[HIBERNATION]
hibernate={noresume|nocompress}
設置休眠/喚醒屬性:
noresume 表示禁用喚醒,也就是在啟動過程中無視任何已經存在的休眠鏡像,完全重新啟動。
nocompress 表示禁止對休眠鏡像進行壓縮/解壓。
[HIBERNATION]
resume={ /dev/swap | PARTUUID=uuid | major:minor | hex }
告訴內核被掛起的內存鏡像存放在那個磁盤分區(默認值是CONFIG_PM_STD_PARTITION)。
假定內存鏡像存放在"/dev/sdc15"分區上,該分區的 UUID=0123456789ABCDEF ,其主設備號是"8",次設備號是"47",那么這4種表示法應該分別這樣表示:
resume=/dev/sdc15 (這是內核設備名稱,有可能與用戶空間的設備名稱不同)
resume=PARTUUID=0123456789ABCDEF
resume=08:47
resume=082F
[HIBERNATION]
resume_offset=整數
指定swap header所在位置的偏移量(單位是PAGE_SIZE),偏移量的計算基準點是"resume="分區的起點。
僅在使用swap文件(而不是分區)的時候才需要此選項。詳見Documentation/power/swsusp-and-swap-files.txt文檔
[HIBERNATION]
resumedelay=秒數
在讀取resume文件(設備)之前延遲的秒數,主要用于等待那些反應速度較慢的異步檢測的設備就緒(例如USB/MMC)。
[HIBERNATION]
resumewait
在resume設備沒有就緒之前無限等待,主要用于等待那些反應速度較慢的異步檢測的設備就緒(例如USB/MMC)。

溫度控制

[HW,ACPI]
thermal.act=攝氏度
-1 禁用所有"主動散熱"標志點(active trip point)
正整數 強制設置所有的最低"主動散熱"標志點的溫度值,單位是攝氏度。
詳見Documentation/thermal/sysfs-api.txt文檔。
[HW,ACPI]
thermal.psv=攝氏度
-1 禁用所有"被動散熱"標志點(passive trip point)
正整數 強制設置所有的"被動散熱"標志點的溫度值,單位是攝氏度。
詳見Documentation/thermal/sysfs-api.txt文檔。
[HW,ACPI]
thermal.crt=攝氏度
-1 禁用所有"緊急"標志點(critical trip point)
正整數 強制設置所有的"緊急"標志點的溫度值,單位是攝氏度。
詳見Documentation/thermal/sysfs-api.txt文檔。
[HW,ACPI]
thermal.nocrt=1
禁止在ACPI熱區(thermal zone)溫度達到"緊急"標志點時采取任何動作。
[HW,ACPI]
thermal.off=1
徹底關閉ACPI熱量控制(CONFIG_ACPI_THERMAL)
[HW,ACPI]
thermal.tzp=整數
設置ACPI熱區(thermal zone)的輪詢速度:
0(默認值) 不輪詢
正整數 輪詢間隔,單位是十分之一秒。

CPU節能

[KNL]
nohz={on|off}
啟用/禁用內核的dynamic ticks特性。默認值是"on"。
[KNL,BOOT]
nohz_full=CPU列表
在內核"CONFIG_NO_HZ_FULL=y"的前提下,指定哪些CPU核心可以進入完全無滴答狀態。
"CPU列表"是一個逗號分隔的CPU編號(從0開始計數),也可以使用"-"界定一個范圍。例如"0,2,4-7"等價于"0,2,4,5,6,7"
[注意](1)"boot CPU"(通常都是"0"號CPU)會無條件的從列表中剔除。(2)這里列出的CPU編號必須也要同時列進"rcu_nocbs=..."選項中。
[HW,ACPI]
processor.nocst
不使用_CST方法檢測C-states,而是用老舊的FADT方法檢測。
[HW,ACPI]
processor.max_cstate={0|1|2|3|4|5|6|7|8|9}
無視ACPI表報告的值,強制指定CPU的最大C-state值(必須是一個有效值):C0為正常狀態,其他則為不同的省電模式(數字越大表示CPU休眠的程度越深/越省電)。"9"表示無視所有的DMI黑名單限制。
[KNL,HW,ACPI]
intel_idle.max_cstate=[0|正整數]
設置intel_idle驅動(CONFIG_INTEL_IDLE)允許使用的最大C-state深度。"0"表示禁用intel_idle驅動,轉而使用通用的acpi_idle驅動(CONFIG_CPU_IDLE)
idle=poll
idle=halt
idle=nomwait
對CPU進入休眠狀態的額外設置。
poll 從根本上禁用休眠功能(也就是禁止進入C-states狀態),可以略微提升一些CPU性能,但是卻需要多消耗許多電力,得不償失。不推薦使用。
halt 表示直接使用HALT指令讓CPU進入C1/C1E休眠狀態,但是不再繼續進入C2/C3以及更深的休眠狀態。此選項兼容性最好,喚醒速度也最快。但是電力消耗并不最低。
nomwait 表示進入休眠狀態時禁止使用CPU的MWAIT指令。MWAIT是專用于Intel超線程技術的線程同步指令,有助于提升CPU的超線程效能,但對于不具備超線程技術的CPU沒有意義。
[提示]可以同時使用halt和nomwait,也就是"idle=halt idle=nomwait"(但不是:idle=halt,nomwait)
intel_pstate=disable
禁用 Intel CPU 的 P-state 驅動(CONFIG_X86_INTEL_PSTATE),也就是Intel CPU專用的頻率調節器驅動

PCI與PCIE

[PCI]
pci=選項[,選項...]
指定各種PCI子系統選項:
earlydump 在內核做出任何改變之前,首先轉儲出PCI配置空間。主要用于調試目的。
off 不檢測PCI總線,也就是關閉所有PCI設備。
conf1 強制使用"PCI配置機制1"(目前的事實標準)
conf2 強制使用"PCI配置機制2"(已被拋棄的老古董)
noaer [PCIE]禁止使用CONFIG_PCIEAER功能(PCI Express Root Port Advanced Error Reporting)
nodomains 禁止支持多個PCI root domain(也就是PCI總線域[PCI segment])
nommconf 禁止使用通過MMCONFIG(CONFIG_PCI_MMCONFIG)方式訪問PCI配置空間,MMCONFIG是PCI Express引入的新總線枚舉方式。
check_enable_amd_mmconf 在 AMD family 10h CPU 上檢查并啟用正確配置的MMIO以訪問PCI配置空間
nomsi [MSI]在全系統范圍內禁止MSI中斷(CONFIG_PCI_MSI)的使用
noioapicquirk [APIC]禁止屏蔽任何boot中斷(CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS),以確保boot IRQ永遠可用。應該永遠不需要使用此選項。
ioapicreroute [APIC]允許將boot IRQ重新路由到主IO-APIC(相當于開啟CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS),用于修復某些芯片組bug(在某些情況下會發送多余的"boot IRQ")。
noioapicreroute [APIC]禁止將boot IRQ重新路由到主IO-APIC(相當于關閉CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS),不建議使用此項。
rom 為擴展ROM分配地址空間。使用此選項要小心,因為某些設備在ROM與其它資源之間共享地址譯碼器。
norom 即使BIOS沒有為擴展ROM分配地址空間,也禁止內核為擴展ROM分配地址空間。
nobar 即使BIOS沒有為BAR分配地址空間,也禁止內核為BAR分配地址空間。
irqmask=0xMMMM 指定允許自動分配到PCI設備的IRQ位掩碼,目的是為了避免使用那些被ISA設備占用的IRQ。
pirqaddr=0xAAAAA 如果PIRQ表(通常情況下由BIOS生成)在F0000h-100000h范圍之外,此選項可用于明確指定其物理地址。
lastbus=N 通過掃描N號總線來掃描全部總線。如果內核不能找到第二條總線,可以通過此方法明確告知其位置。
assign-busses 總是使用內核自己生成的PCI總線號碼替代固件自己生成的值。
usepirqmask 優先使用可能存在于BIOS $PIR表中的IRQ掩碼。某些有缺陷的BIOS需要這個選項(例如HP Pavilion N5400和Omnibook XE3筆記本)。此選項僅在noioapicreroute(相當于關閉CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS)的前提下有效。
noacpi 不為IRQ路由或PCI掃描使用ACPI
use_crs 使用來自ACPI的PCI主橋的窗口信息。在2008年之后的BIOS上,這是默認值,如果需要明確使用此項,請當做bug上報開發者。
nocrs 忽略來自ACPI的PCI主橋的窗口信息,如果需要明確使用此項,請當做bug上報開發者。
routeirq 對所有PCI設備使用IRQ路由。這個通常是由內核的pci_enable_device()函數完成,所以此項僅為那些忘記調用此函數的驅動提供的臨時解決方案。
skip_isa_align 不對齊ISA IO起始地址,這樣就可以處理更多的PCI卡
noearly 不做任何"early type 1"掃描,這樣許多針對主板缺陷的檢測將被禁止,同時某些IOMMU驅動也會失效。僅用于解決某些有缺陷的主板故障。
bfsort 按照寬度優先(breadth-first)的順序對PCI設備進行排序。目的是為了以與2.4內核兼容的方式獲取設備序號。
nobfsort 不按寬度優先(breadth-first)的順序對PCI設備進行排序。
pcie_bus_tune_off 不對PCIe MPS(Max Payload Size)進行調整,而是使用BIOS配置好的默認值。
pcie_bus_safe 將每個設備的MPS都設為root complex下所有設備支持的MPS中的最大值
pcie_bus_perf 將設備的MPS設為其上級總線允許的最大MPS,同時將MRRS(Max Read Request Size)設為能支持的最大值(但不能大于設備或總線所支持的MPS值)
pcie_bus_peer2peer 將每個設備的MPS都設為最安全的"128B",以確保支持所有設備之間的點對點DMA,同時也能保證熱插入(hot-added)設備能夠正常工作,但代價是可能會造成性能損失。
cbiosize=nn[KMG] 從CardBus橋的IO窗口中保留的固定長度的總線空間(bus space),默認值是256B。
cbmemsize=nn[KMG] 從CardBus橋的內存窗口中保留的固定長度的總線空間(bus space),默認值是64MB。
resource_alignment=[對齊規則@][域:]總線:插槽.功能[; ...] 為重新分配已對齊的內存資源指定對齊方式與設備。如果未指定對齊規則,那么將使用PAGE_SIZE作為對齊規則。也可以通過指定PCI-PCI橋來擴展資源窗口(resource windows)。
ecrc={bios|on|off} 啟用/禁用PCIe ECRC(事務層的端對端CRC校驗)。默認值是"bios"(使用BIOS/固件的設定)。
hpiosize=nn[KMG] 為熱插拔橋的IO窗口保留的固定總線空間的大小,默認值是256B。
hpmemsize=nn[KMG] 為熱插拔橋的內存窗口保留的固定總線空間的大小,默認值是2MB。
realloc={on|off} 當BIOS分配的PCI橋資源太小而無法滿足所有子設備的需求時,是否由內核重新分配PCI橋資源。沒有默認值(內核的默認值為"undefined")
realloc 等價于"realloc=on"
noari 不使用PCIe ARI
pcie_scan_all 掃描所有可能的PCIe設備。默認只在每個PCIe下游端口掃描一個設備。
[PCIE]
pcie_hp=nomsi
禁止PCIe本地熱插拔使用MSI(CONFIG_PCI_MSI),這將導致所有PCIe端口使用INTx中斷提供熱插拔服務。
[PCIE]
pcie_ports={auto|native|compat}
PCIe端口處理方式:
auto 由BIOS來決定是否使用關聯在PCIe端口上的本地PCIe服務(PME, hot-plug, AER)
native 無條件的使用關聯在PCIe端口上的本地PCIe服務(PME, hot-plug, AER)
compat 禁用PCIe端口驅動,同時將PCIe端口當做PCI-to-PCI橋處理。
[PCIE]
pcie_aspm={off|force}
強制啟用/禁用PCIe Active State Power Management(CONFIG_PCIEASPM)。內核的默認值取決于內核"Default ASPM policy"的配置。
off 強制禁用
force 即使設備聲明不支持ASPM也強制啟用(可能會導致系統鎖死)。
[PCIE]
pcie_pme=nomsi
禁止本地PCIe PME信號使用MSI(CONFIG_PCI_MSI),這將導致所有PCIe root端口使用INTx中斷提供所有服務。

LIBATA

[LIBATA]
libata.noacpi
在libata驅動休眠/喚醒過程中禁止使用ACPI。主要用于解決某些有缺陷的BIOS導致的硬盤假死問題。
[LIBATA]
libata.dma=整數
控制DMA特性的使用
libata.dma=0 表示完全禁止所有SATA/PATA端口使用DMA
libata.dma=1 表示僅允許SATA/PATA硬盤使用DMA
libata.dma=2 表示僅允許ATAPI(CDROM)使用DMA
libata.dma=4 表示僅允許CF卡使用DMA
上述1,2,4實際上是位掩碼,可以組合使用,例如 libata.dma=3 表示允許硬盤和CDROM使用DMA,但是禁止CF卡使用DMA
[LIBATA]
libata.ignore_hpa={0|1}
是否忽略HPA(Host Protected Area)的限制。"0"(默認值)表示不忽略;"1"表示忽略(也就是可以使用整個磁盤空間)
[LIBATA]
libata.force=PORT[.DEVICE]:VAL,PORT[.DEVICE]:VAL,...
手動強制指定libata的配置。
其中的"PORT[.DEVICE]"是libata驅動在控制臺上以相同格式顯示出來的ATA ID字符串(PORT和DEVICE都是十進制數字),下面是兩個實例("1.00","2.00"):
ata1.00: ATAPI: VBOX CD-ROM, 1.0, max UDMA/133 ata2.00: ATA-6: VBOX HARDDISK, 1.0, max UDMA/133 如果不指定DEVICE部分,那么就表示適用于該PORT端口上的所有設備。
VAL部分用來強制設定設備屬性:
40c, 80c, short40c, unk, ign, sata 這些都用于指定線纜類型
1.5Gbps, 3.0Gbps 這些都用于指定SATA連接速度
noncq, ncq 關閉還是開啟NCQ功能
dump_id 轉儲IDENTIFY數據
pio[0-7], mwdma[0-4], udma[0-7](或者這么寫也一樣:udma[16,25,33,44,66,100,133]) 數據傳輸模式
nohrst, nosrst, norst 只禁止硬重置,只禁止軟重置,同時禁止硬重置和軟重置
rstonce 在熱拔連接恢復(hot-unplug link recovery)過程中僅嘗試一次重置
atapi_dmadir 開啟 ATAPI DMADIR bridge 支持
disable 禁用該設備

鍵盤/鼠標/觸摸板

[HW]
atkbd.set={2|3}
設置atkbd驅動(CONFIG_KEYBOARD_ATKBD)的鍵盤類型:2(默認值)表示AT鍵盤;3 表示PS/2鍵盤。
[HW]
atkbd.reset
在初始化AT或PS/2鍵盤時重置鍵盤狀態。常用于解決從休眠狀態喚醒后鍵盤失效的故障。
[HW]
atkbd.softraw={0|1}
當鍵盤按鍵被按下時,是返回原始的掃描碼(Scancode)還是經過轉換之后的鍵碼(Keycode)。常用于解決某些功能鍵(例如Fn鍵)故障。
0 表示返回原始的掃描碼(Scancode)
1(默認值)表示返回轉換之后的鍵碼(Keycode)
[USBHID]
usbhid.mousepoll=毫秒數
USB鼠標的輪詢時間間隔,單位是毫秒。默認值是"10",也就是每秒輪詢100次,相當于100Hz
[MOUSE]
mousedev.tap_time=毫秒數
手指觸碰和離開觸摸板的最大時間間隔,只有小于此間隔的觸碰才會被當成鼠標左鍵單擊。此選項僅對工作在絕對模式的觸摸板有意義。
[MOUSE]
mousedev.xres=正整數
mousedev.yres=正整數
觸摸板的水平(X)/垂直(Y)方向的分辨率。

USB

[USB]
nousb
禁用USB子系統(CONFIG_USB_SUPPORT)
[USB]
usbcore.authorized_default={-1|0|1}
USB設備的默認授權規則:
-1(默認值) 對除無線USB之外的設備默認授權
0 對所有設備都默認不授權
1 對所有設備都默認授權
[USB]
usbcore.autosuspend=秒數
讓USB設備(新檢測到的設備以及空閑設備)進入自動休眠前的延遲秒數。默認為2秒。
如果將秒數設為負數,則表示永不進入自動休眠狀態。
[USB]
usbcore.initial_descriptor_timeout=毫秒數
等待設備回應初始化64位USB_REQ_GET_DESCRIPTOR請求的超時時間。默認值是"5000",也就是5秒。
[USB]
usbcore.blinkenlights={0|1}
是否讓所有的USB集線器(HUB)上的LED指示燈閃爍。默認值"0"表示不閃爍,"1"表示閃爍。
[USB]
usbcore.usbfs_snoop={0|1}
是否在在日志中記錄所有的usbfs traffic信息。默認值"0"表示不記錄,"1"表示記錄。
[USB]
usbcore.old_scheme_first={0|1}
是否優先使用老舊的USB設備初始化方法。默認值"0"表示不優先使用。
[USB]
usbcore.use_both_schemes={0|1}
是否在第一種USB設備初始化方法失敗之后,繼續嘗試第二種方法。默認值"1"表示繼續嘗試第二種方法。
[USB]
usbcore.usbfs_memory_mb=[0-2047]
由usbfs分配的緩存上限。取值范圍是[0-2047],默認值是"16",單位是"MB"。
[UMS]
usb-storage.delay_use=秒數
在掃描新USB存儲設備上的邏輯單元(Logical Unit)前暫停的秒數。默認值是"5"秒。
[UMS]
usb-storage.quirks=VID:PID:Flags[,VID:PID:Flags]...
設置一系列的修正項(quirk),用于增補或者改寫內核內置的unusual_devs列表內容。該列表用于修正各種有缺陷的USB存儲設備的怪毛病。
多個修正項之間用逗號分隔,修正項的格式是"VID:PID:Flags",其中VID和PID的含義分別是4位16進制數表示的"Vendor ID"與"Product ID"。
而Flags則是一組字符的組合,其中的每個字符都對應一個具有特定含義的修正(quirk)標記:
a = SANE_SENSE (收集超過18字節的傳感器數據)
b = BAD_SENSE (不收集超過18字節的傳感器數據)
c = FIX_CAPACITY (無條件的將設備報告的扇區數(容量)減少一個扇區)
d = NO_READ_DISC_INFO (不使用 READ_DISC_INFO 命令)
e = NO_READ_CAPACITY_16 (不使用 READ_CAPACITY_16 命令)
h = CAPACITY_HEURISTICS (如果設備報告的扇區數(容量)是奇數,那么就減少一個扇區)
i = IGNORE_DEVICE (不綁定此設備)
l = NOT_LOCKABLE (不要嘗試鎖定/解鎖可彈出媒體)
m = MAX_SECTORS_64 (每次傳輸最大不超過64個扇區(32KB)的數據)
n = INITIAL_READ10 (強制重試初始的 READ(10) 命令(如果最初一次讀取失敗的話))
o = CAPACITY_OK (完全信任設備報告的扇區數(容量))
p = WRITE_CACHE (默認開啟設備寫入緩存[不怕數據丟失的風險])
r = IGNORE_RESIDUE (不相信設備報告的[容量]剩余值)
s = SINGLE_LUN (此設備只有一個邏輯單元(Logical Unit))
w = NO_WP_DETECT (不檢測設備是否有寫保護)
例如:usb-storage.quirks=0419:aaf5:rl,0421:0433:rc
[USB]
uhci-hcd.ignore_oc={0|1}
是否忽略"電流超限"(overcurrent)事件。
0(默認值) 不忽略
1 忽略。某些有缺陷的主板會在USB端口未連接任何設備時,報告很多虛假的"電流超限"事件。設為"1"之后可以避免在內核日志中出現大量的"電流超限"警告,但同時,真實的"電流超限"事件也會被一并忽略。

IOMMU

IOMMU非常類似于MMU,主要有如下功能:(1)IO地址轉換[在64位系統上支持32位設備];(2)分散-聚集(scatter-gather)支持[簡化驅動程序的編寫];(3)DMA重映射與IRQ重映射[簡化了IO設備的虛擬化]。
Linux內核當前的DMA映射有如下4種具體實現:
(1)在內存不足3G的機器上,根本不使用任何IOMMU功能,因為根本沒必要。內核消息:"PCI-DMA: Disabling IOMMU"
(2)基于GART(CONFIG_GART_IOMMU)的硬件IOMMU。內核消息:"PCI-DMA: using GART IOMMU"
(3)如果內存大于3G同時機器上又沒有IOMMU硬件(或者用了"iommu=soft"),那么就使用軟件模擬的IOMMU(CONFIG_BOUNCE)。內核消息:"PCI-DMA: Using software bounce buffering for IO (SWIOTLB)"
(4)基于IBM Calgary硬件的IOMMU,僅用于IBM pSeries/xSeries系列服務器。內核消息:"PCI-DMA: Using Calgary IOMMU"

[IOMMU]
iommu={off,force,noforce,soft}
通用IOMMU設置:
off 徹底關閉IOMMU功能
force 強制使用硬件IOMMU,即使硬件可能有缺陷(例如VIA芯片組)或者根本沒有必要這樣做(例如內存不足3G)。
noforce(默認) 在內存不足3G的機器上,不使用硬件IOMMU,因為根本沒有必要。
soft(Intel平臺的默認值) 使用通過軟件模擬的IOMMU(SWIOTLB),同時禁止使用硬件IOMMU(即使存在)。
[IOMMU]
iommu=[SIZE][,allowed][,fullflush|nofullflush][,leak[=NUM]][,memaper[=N]|noaperture][,noagp][,merge|nomerge][,forcesac][,panic][,allowdac|nodac][,calgary]
僅適用于硬件IOMMU(GART與Calgary)的設置:
SIZE 重映射區域的大小,單位是字節。
allowed 含義與"force"相同,即使硬件可能有缺陷(例如VIA芯片組)也強制使用硬件IOMMU
fullflush(默認) 每次分配時都刷新IOMMU
nofullflush 不刷新IOMMU
leak=NUM 開啟IOMMU泄漏跟蹤(CONFIG_IOMMU_LEAK),NUM是的泄漏頁數(默認值是20)。
memaper=N 在RAM中分配的固有窗口(own aperture)的大小,算法是 2N*32MB,N的默認值是"1",也就是64MB。
noaperture 禁止IOMMU使用AGP的"aperture"。
noagp 不初始化AGP驅動,使用完全的"aperture"。
merge 強制"scatter-gather"合并,隱含了"force",這是一個實驗性選項。
nomerge 禁止"scatter-gather"合并
forcesac 對于少于40位的掩碼強制使用單地址周期(single-address cycle),這是一個實驗性選項。
panic 當IOMMU益處時,允許panic
allowdac 將32位PCI地址用兩個時鐘周期推入64位地址,這就是DAC的作用。
nodac 禁用DAC,也就是所有4GB以上的DMA將強制通過IOMMU(硬件的或模擬的)
calgary 使用IBM Calgary IOMMU
swiotlb=頁數[,force]
僅適用于軟件IOMMU(CONFIG_BOUNCE)的設置:
頁數 為"IO bounce buffer"預先保留的頁數,每個頁的大小是128K
force 強制所有IO都透過軟件IOMMU
[AMD-IOMMU]
amd_iommu={fullflush|off|force_isolation}
向AMD IOMMU驅動(CONFIG_AMD_IOMMU)傳遞選項
fullflush 表示當IO/TLB項被取消映射的時候立即刷新IO/TLB項(嚴格模式,速度較慢),否則將僅在IO/TLB項被重用之前進行刷新(寬松模式,速度更快)
off 表示徹底禁用AMD IOMMU功能
force_isolation 表示為所有設備強制啟用IOMMU隔離(映射),這樣IOMMU驅動就不再需要自己去發起隔離請求。注意:此選項不會覆蓋"iommu=pt"
[Intel-IOMMU]
intel_iommu={on,off,igfx_off,forcedac,strict,sp_off}
Intel-IOMMU驅動(CONFIG_INTEL_IOMMU)的主要功能就是DMA重映射,該選項用于設置其特性。
on 開啟Intel-IOMMU驅動
off 關閉Intel-IOMMU驅動
igfx_off 關閉Intel集成顯卡的DMA重映射功能(默認值為開啟)
forcedac 強制PCI設備使用DAC,而禁止進行地址轉換(默認值為允許)
strict 禁止批量刷寫IOTLB(默認值為允許)
sp_off 關閉super page支持(默認值為開啟)
[Intel-IOMMU]
intremap={on,off,nosid,no_x2apic_optout}
設置中斷重映射功能:
on(默認值)開啟中斷重映射
off 關閉中斷重映射
nosid 重映射時不對SID(Source ID)做檢查
no_x2apic_optout 無視BIOS的設置,強制禁用x2APIC特性,主要用于解決某些對x2APIC支持有缺陷的BIOS導致的故障

虛擬化

[PV_OPS]
noreplace-paravirt
禁止使用內核通用的半虛擬化接口paravirt_ops,主要用于解決某些在Virtual PC上安裝或運行Linux的故障。
[VMMIO]
virtio_mmio.device=size@baseaddr:irq[:id]
實例化virtio-mmio設備(CONFIG_VIRTIO_MMIO)。可以多次使用以實例化多個設備。
size 大小(可以使用K,M,G后綴)
baseaddr 物理基準地址(physical base address)
irq 中斷號(將會被傳遞給request_irq())
id(可選) platform設備號(device id)
例子:virtio_mmio.device=1K@0x100b0000:48:7
[KVM]
kvm.ignore_msrs={0|1}
是否忽略客戶機對未經處理的MSR(unhandled MSR)的訪問。"0"(默認值)表示不忽略但是會注入#GP;"1"表示忽略。
[KVM]
kvm.mmu_audit={0|1}
是否允許在運行時對KVM MMU進行審計。"0"(默認值)表示禁止審計;"1"表示允許審計。
[KVM,AMD]
kvm-amd.nested={0|1}
是否允許嵌套虛擬化(在虛擬機內再創建虛擬機)。"0"表示禁止嵌套;"1"(默認值)表示允許嵌套。
[KVM,AMD]
kvm-amd.npt={0|1}
是否允許客戶機使用嵌套頁表(Nested Page Table)。"0"表示禁止使用;"1"(默認值)表示允許使用。
[KVM,Intel]
kvm-intel.ept={0|1}
是否允許客戶機使用擴展頁表(Extended Page Table)。"0"表示禁止使用;"1"(默認值)表示允許使用。
[KVM,Intel]
kvm-intel.emulate_invalid_guest_state={0|1}
是否允許仿真無效的客戶機狀態。"0"(默認值)表示禁止仿真;"1"表示允許仿真。
[KVM,Intel]
kvm-intel.flexpriority={0|1}
是否允許使用FlexPriority技術(TPR[Task Priority Register] shadow)。"0"表示禁止使用;"1"(默認值)表示允許使用。
[KVM,Intel]
kvm-intel.nested={0|1}
是否允許VMX嵌套(nVMX)。"0"(默認值)表示禁止;"1"表示允許。
[KVM,Intel]
kvm-intel.unrestricted_guest={0|1}
是否允許使用"unrestricted guest"技術。"0"表示禁止使用;"1"(默認值)表示允許使用。
[KVM,Intel]
kvm-intel.vpid={0|1}
是否允許使用"Virtual Processor Identification"(tagged TLB)技術。"0"表示禁止使用;"1"(默認值)表示允許使用。

內存

[KNL,BOOT]
mem=nn[KMG]
強制指定內核使用多少數量的內存。僅在你想限定內存使用量時,才需要指定這個選項。同時為了避免PCI設備使用指定范圍之外的內存,你還應該配合"memmap="一起使用。
[KNL]
memmap=exactmap
表示將要使用隨后的"memmap=..."等選項進行精確的E820內存映射(因為有時候E820報告的并不準確),同時禁止內核進行任何自動的探測。比如對于一個4G內存的機器可能是:"memmap=exactmap memmap=640K@0 memmap=4095M@1M"。
[KNL]
memmap=nn[KMG]@ss[KMG]
強制只使用從ss開始的nn長度的特定內存區域。可以多次使用以指定多個區域。
[KNL,ACPI]
memmap=nn[KMG]#ss[KMG]
強制將從ss開始的nn長度的特定內存區域標記為ACPI數據。
[KNL,ACPI]
memmap=nn[KMG]$ss[KMG]
強制保留(不使用)從ss開始的nn長度的特定內存區域。
[KNL,BUGS]
reserve=起點,長度[,起點,長度]...
禁止設備驅動程序自動探測某些iomem區域,因為某些設計不良的硬件會導致自動探測失敗或出錯。此外,還可以用于人為禁止內核初始化某些端口上的設備。
內核會將此處指定的iomem區域標記為"reserved"(意為"已經在此處找到設備"),從而將該區域保留。
因為設備驅動不應該去偵測標記為"reserved"的區域,除非另一個啟動選項明確地指示它這樣做,所以此選項經常和其它啟動選項一起使用:
用"reserve="保留一段區域禁止所有其他驅動的探測,同時再明確指定一個驅動去檢測被保留的區域。例如:
reserve=0x300,32 blah=0x300的意思是:除了允許"blah"驅動探測 0x300 之外,禁止任何其他驅動探測 0x300-0x31f 區域。
絕大部份的機器都不需要此選項。只有真正有缺陷的硬件或特殊情況才會需要使用它。
[注意]每個"reserve="選項最多可以指定4個保留區域,如果你有異常復雜的需求,可以使用多重"reserve="來指定。
reservelow=nn[K]
設置為BIOS保留的底端地址空間數量。
memory_corruption_check={0|1}
是否開啟低位內存臟數據檢查(CONFIG_X86_CHECK_BIOS_CORRUPTION)。某些有bug的BIOS經常會在執行系統休眠/喚醒之類動作的時候,破壞內存中前64k的內容。如果始終檢查到錯誤,那么就應該通過"memmap="選項來避免使用這段內存。
memory_corruption_check_size=字節數
低位內存臟數據檢查(CONFIG_X86_CHECK_BIOS_CORRUPTION)的內存范圍。默認值是"64K",表示"0-64K"這個內存范圍。
memory_corruption_check_period=秒數
低位內存臟數據檢查(CONFIG_X86_CHECK_BIOS_CORRUPTION)的周期。默認值是60秒。設為"0"則表示禁止這種周期性的檢查。
[KNL,BOOT]
vmalloc=nn[KMG]
強制指定vmalloc區域的大小。可用于增加vmalloc區域的最小尺寸(x86默認128MB),也可以用于減少vmalloc的大小,增加更多的空間用于直接映射內核RAM。
[SLUB]
slub_min_order=整數
slub_max_order=整數
SLUB頁塊最小與最大order數(默認值分別是"0"與"3"),當然slub_min_order必須小于slub_max_order。每一個slab需要2order個物理頁框。過高的值可能會導致內存溢出錯誤。詳見Documentation/vm/slub.txt
[SLUB]
slub_min_objects=整數
每個slab的最小object總數目(默認值是"4")。詳見Documentation/vm/slub.txt
[SLUB]
slub_nomerge
禁止合并大小相近的多個slab,主要用于調試目的。
[KNL]
dhash_entries=正整數
設置內核目錄項緩存中哈希表默認項數。僅供內核專家使用。
[KNL]
ihash_entries=正整數
內核會在內存中緩存一定數量的inode結構來加速文件訪問,每個inode對應一個文件(不同于文件系統中的inode概念),包含文件訪問權限/屬主/組/大小/生成時間/訪問時間/最后修改時間等信息。這些inode保存在一個哈希表中。
這個值用于指定這個哈希表的最大項數。你可以根據自己硬盤上可能被訪問的文件數量對默認值進行調整(注意需要考慮哈希值的碰撞)。僅供內核專家使用。
[KNL]
transparent_hugepage={always|madvise|never}
設置透明大內存頁(CONFIG_TRANSPARENT_HUGEPAGE)的默認用法:
always 表示總是對所有應用程序啟用透明大內存頁支持
madvise 表示僅對明確要求該特性的程序啟用
never 表示徹底禁用。
其默認值由內核的編譯時設置決定。詳見"Documentation/vm/transhuge.txt"文檔。
[HW]
default_hugepagesz={2M|1G}
默認的HugeTLB頁大小。若未指定,那么其默認值就是CPU自身的默認值。
大多數現代計算機體系結構提供對多頁面大小的支持,比如X86_64支持4K和2M(要求CPU帶有"pse"標記)以及1G(要求CPU帶有"pdpe1gb"標記)。
因此Linux將物理內存劃分成許多固定大小的頁面(默認為4K),每個頁對應一個page結構,這些結構組成一個mem_map[]數組。TLB(Translation Lookaside Buffer)是虛擬地址到物理地址的翻譯緩沖區,這種緩沖區在處理器上是很寶貴的,操作系統總是嘗試將有限的TLB資源發揮到極致。特別是能夠輕松獲得若干G內存的時候(大于4G),這種優化就顯得尤為關鍵。而HugeTLB特性則允許將某些頁的尺寸增大到2MB或1GB,從而大大減小TLB的尺寸,提高緩沖區的命中率,進而提升內存性能。
[HW]
hugepagesz={2M|1G}
指定HugeTLB頁的大小,通常與"hugepages="聯合使用(可使用多次),為不同尺寸的大頁分別預留不同的數量。
例如:hugepagesz=2M hugepages=128 hugepagesz=1G hugepages=8
注意:1GB的大頁只能在命令行上使用"hugepages="預先分配,且分配之后不可在運行時釋放。
[HW]
hugepages=正整數
在啟動時分配的HugeTLB頁數量,僅在內核開啟了CONFIG_HUGETLBFS之后有效。
gbpages
nogbpages
是否允許內核頁表對大小為1GB的Hugepages進行直接映射(CONFIG_DIRECT_GBPAGES)。當"CONFIG_DIRECT_GBPAGES=y"時,默認值是"gbpages"。
vdso={0|1|2}
vdso=0 禁用VDSO(Virtual Dynamic Shared Object)映射
vdso=1 啟用VDSO(Virtual Dynamic Shared Object)映射,這是"CONFIG_COMPAT_VDSO=n"時的默認值。
vdso=2 將VDSO(Virtual Dynamic Shared Object)映射到舊式的確定性地址,這是"CONFIG_COMPAT_VDSO=y"時的默認值。
vdso32={0|1|2}
vdso32=0 禁用32位VDSO(Virtual Dynamic Shared Object)映射
vdso32=1 啟用32位VDSO(Virtual Dynamic Shared Object)映射,這是"CONFIG_COMPAT_VDSO=n"時的默認值。
vdso32=2 將32位VDSO(Virtual Dynamic Shared Object)映射到舊式的確定性地址,這是"CONFIG_COMPAT_VDSO=y"時的默認值。

MTRR與PAT

enable_mtrr_cleanup
disable_mtrr_cleanup
開啟/關閉MTRR cleanup(CONFIG_MTRR_SANITIZER)特性。
mtrr_chunk_size=nn[KMG]
用于"MTRR cleanup"(CONFIG_MTRR_SANITIZER)功能,設置允許的最大連續塊尺寸(也就是uncacheable項)。
mtrr_gran_size=nn[KMG]
用于"MTRR cleanup"(CONFIG_MTRR_SANITIZER)功能,設置MTRR塊的粒度(每塊的大小)。默認值是"1"。較大的值可以防止小的對齊耗盡MTRR。
mtrr_spare_reg_nr=N
用于"MTRR cleanup"(CONFIG_MTRR_SANITIZER)功能,設置備用MTRR項的編號。也就是告訴內核reg0N可以被清理或改寫(參見"/proc/mtrr"文件),默認值是"1"。
nopat
禁用PAT支持(CONFIG_X86_PAT)。主要用于解決某PAT故障導致的無法正常啟動或者顯卡驅動不能正常工作的問題。

圖形與顯示

[AGP]
agp={off|try_unsupported}
off 表示關閉內核的AGP(CONFIG_AGP)支持;
try_unsupported 表示嘗試驅動那些不受支持的芯片(可能會導致系統崩潰或數據錯誤)
[HW,DRM]
gamma=浮點數
設置顯示器的Gamma值。
video.brightness_switch_enabled={0|1}
[背景知識]如果ACPI video.ko驅動(CONFIG_ACPI_VIDEO)能夠收到用戶通過鍵盤熱鍵觸發的ACPI事件(這需要固件的幫助),video.ko將會把收到的ACPI事件轉化為一個"key"類型輸入事件,并通過其創建的輸入設備發送到用戶空間,這樣用戶空間的工具就可以通過sysfs接口去修改顯示器的亮度。這是傳統的做法。
但是從v3.13內核開始,新增了此選項,并且其默認值為"1",表示video.ko驅動除了向用戶空間傳遞事件之外,還要自己在內核層去改變顯示器的亮度。
如果設為"0"則表示不在內核層改變顯示器的亮度,依然留給用戶層的工具去通過sysfs接口修改。
詳見Documentation/acpi/video_extension.txt文檔。
[DRM]
i915.invert_brightness={-1|0|1}
反轉顯示器背光亮度控制變量(brightness)的含義。
通常情況下,brightness的值為"0"表示關閉背光(全黑),隨著brightness的值增大到最大值,表示最大亮度。
但是通過這個選項,可以反轉brightness的含義,讓"0"表示最亮,而隨著brightness值的遞增亮度逐漸降低,直到最大值關閉背光(全黑)。
-1 表示絕不反轉其含義,也就是"0"始終表示關閉,最大值始終表示最亮。
0 表示內核不對此變量的含義加以干預,使用機器自身的默認含義。
1 表示強制反轉其含義,也就是"0"始終表示最亮,最大值始終表示關閉。
此選項常用于解決某些使用Intel集顯/核顯(CONFIG_DRM_I915)的電腦在啟動時黑屏的問題。
[FB]
logo.nologo
在系統啟動時不顯示Linux的企鵝標志圖(企鵝數=CPU核心數)

網絡

[IPV6]
ipv6.disable={0|1}
ipv6.disable_ipv6={0|1}
是否在所有網絡接口上禁用IPv6支持:0(默認值)表示在所有網絡接口上開啟IPv6支持;1 表示在所有網絡接口上關閉IPv6支持。建議使用"ipv6.disable=1"(徹底禁用ipv6內核模塊)
[IPV6]
ipv6.autoconf={0|1}
是否在所有網絡接口上開啟IPv6地址自動配置。
0 表示禁止自動配置,這樣就只有IPv6回環地址(::1)和"link-local"地址會被自動添加到網絡接口上。如果你不想從路由器公告(Router Advertisements)中的地址前綴自動生成IPv6地址,可以使用此項。
1(默認值) 表示在所有網絡接口上開啟IPv6地址自動配置
[IP_PNP]
ip=[client-ip:server-ip:gateway-ip:netmask:hostname:device:]autoconf[:dns0-ip:dns1-ip]
此選項告訴內核如何在啟動過程中配置網卡的IP地址及路由表(而不是在啟動完成后依賴用戶空間的腳本去配置)。僅在內核已啟用了CONFIG_IP_PNP的前提下有效。通常用于需要將NFS掛載為根文件系統(CONFIG_ROOT_NFS)的場合。
此選項有以下4種用法:
(1)ip={off|none}或者沒有使用"ip"選項。這是默認值,表示徹底關閉自動配置功能。
(2)ip={dhcp|bootp|rarp|any} 表示內核全自動完成所有配置工作(也就是將所有字段設為各自的默認值)。各選項的含義參見下面對autoconf字段的說明。
(3)將autoconf字段設為{off|none}之一,并明確指定所有其它字段。表示全靜態配置,也就是手動指定各字段的值(禁止自動檢測)。
(4)將autoconf字段設為{dhcp|bootp|rarp|any}之一,并明將部分字段留空(字段分割符":"不能省略)。表示半自動配置,也就是將留空的字段設為各自的默認值(自動檢測),而將手動指定的字段設為指定的值(禁止自動檢測)。
各字段的說明如下:
client-ip NFS客戶端IP地址。若留空,其默認值將通過自動檢測獲取。
server-ip NFS服務器IP地址。該字段僅在需要將NFS掛載為根文件系統(root=/dev/nfs)的時候才是必須的。如果使用RARP檢測client-ip并且此字段非空,那么將僅接受指定服務器的應答。若留空,其默認值將通過自動檢測獲取(也就是自動配置服務器的地址)。
gateway-ip 網關的IP地址。僅在NFS服務器位于不同子網的時候才是必須的。若留空,其默認值將通過自動檢測獲取。
netmask 子網掩碼。若留空,其默認值將通過自動檢測獲取(根據client-ip所屬的地址類型[A/B/C之類])。
hostname NFS客戶端的主機名。若留空,其默認值將通過自動檢測獲取(client-ip的ASCII表示形式)。
device 使用的網卡。若留空,其默認值將通過自動檢測獲取:若有多個網卡,那么將通過所有網卡同時發送自動配置請求包,并將最先接收到應答的網卡設為默認網卡。
autoconf 自動配置方式。{off|none}表示不使用自動配置(必須手動指定個字段的值);{dhcp|bootp|rarp}分別表示只使用DHCP/BOOTP/RARP協議進行自動配置(當然內核必須支持指定的協議);"any"表示使用內核支持的所有自動配置協議(同時發送不同協議的自動配置請求包,以最先接收到的應答為準)。 dns0-ip 主DNS服務器IP地址。若留空,其默認值將通過自動檢測獲取。其值將通過 /proc/net/pnp 導出到用戶空間。在嵌入式系統上,/etc/resolv.conf 常常是到 /proc/net/pnp 的軟連接。
dns1-ip 輔DNS服務器IP地址。其它同上。
[KNL,NET]
rhash_entries=正整數
設置內核路由緩沖區哈希表的大小,僅供內核網絡專家使用。
[KNL,NET]
thash_entries=正整數
設置內核允許使用的TCP鏈接哈希表的大小。
[KNL,NET]
uhash_entries=正整數
設置內核允許使用的UDP/UDP-Lite鏈接哈希表的大小。
[NETFILTER]
nf_conntrack.acct={0|1}
是否允許對連接追蹤(CONFIG_NF_CONNTRACK)流進行記賬。"0"(默認值)表示禁止記賬,"1"表示允許記賬。

塊設備與磁盤陣列

blkdevparts=
手動設置塊設備分區表(而不是從塊設備讀取),主要用于嵌入式環境或分區表損壞恢復的場合。詳情參見Documentation/block/cmdline-partition.txt文檔
[EFI]
gpt
強制將擁有有效GPT簽名但同時又包含無效"保護MBR"的磁盤當做GPT格式的磁盤。
[IOSCHED]
elevator={"bfq"|"cfq"|"deadline"|"noop"}
指定默認的IO調度器
[LOOP]
loop.max_loop=[0-256]
在系統啟動時無條件的預先創建的回環(loopback)設備數,默認值由CONFIG_BLK_DEV_LOOP_MIN_COUNT決定。如果你使用util-linux-2.21以上版本,建議設為"0"(loop設備將通過/dev/loop-control動態創建)。
[HW,RAID]
raid={autodetect|noautodetect,partitionable|part}
明確向內核的MD驅動(CONFIG_BLK_DEV_MD)傳遞RAID配置屬性
autodetect|noautodetect 表示內核是否應該自動檢測RAID模式(CONFIG_MD_AUTODETECT)。如果關閉了自動檢測,那么必須使用"md="明確告訴內核RAID模式及配置。
partitionable|part 兩者含義相同,都表示內核應該將組裝之后得到的RAID設備視為"可分區"設備。
[HW,RAID]
md=N,dev0,dev1,...
明確向內核的MD驅動(CONFIG_BLK_DEV_MD)傳遞RAID配置信息,并將列出的設備(dev0,dev1,...)組裝為 /dev/mdN 陣列(表現為一個塊設備文件)。
建議僅在根文件系統位于RAID上的情況下使用這個選項。其他非根文件系統的RAID最好在系統啟動后(掛載完根之后)再組裝。
N 可以是 0,1,2,3,...,255 中的任意一個整數,表示被創建的md設備的編號,例如:
md=2,/dev/sda,/dev/sdb,/dev/sdc,/dev/sdd表示將 /dev/sda,/dev/sdb,/dev/sdc,/dev/sdd 組裝成 /dev/md2 塊設備(至于RAID級別之類的信息則由存儲在超級塊中的元數據提供)。
[提示]2.6.28之前的老版本內核對創建的陣列還有所謂"可分區陣列"和"不可分區陣列"的區別,具體表現是:如果在N前加上字母"d",則表示所創建的陣列是一個可分區陣列,否則就是不可分區陣列。不過現在已經沒有這個區別了,所有創建的陣列都是可分區的,因此"d"也就沒有存在的必要了。

根文件系統

[KNL]
root=字符串
指定根文件系統的所在位置。通常這是一個必須明確設置的選項。
"字符串"可以使用如下幾種形式:
XXxx 一個16進制數,其中"XX"是主設備號,"xx"是次設備號。例如"/dev/sdc15"(主設備號是"8",次設備號是"47"),可以表示成"082F"。
/dev/nfs 表示使用由nfsroot選項指定的NFS磁盤,僅在根文件系統位于NFS文件系統上的時候才使用。
/dev/disk 表示一塊完整的無分區塊設備。比如:/dev/md0 /dev/loop0 /dev/sdb /dev/mmcblk0
/dev/diskN 表示disk磁盤的第N(十進制)個分區。這是最常見的用法,比如:/dev/sda2 /dev/ubda1 /dev/xvda13
/dev/diskpN 含義與上面的一樣,也表示disk磁盤的第N(十進制)個分區,但是用于disk本身以數字結尾的情況(避免混淆)。比如:/dev/md0p3 /dev/emd/0p2 /dev/mmcblk0p1
PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF 僅用于EFI/GPT格式的磁盤,表示分區表中UUID值為"00112233-4455-6677-8899-AABBCCDDEEFF"的分區。[提示]可以使用blkid查看"PARTUUID"。
PARTUUID=SSSSSSSS-PP 僅用于傳統的MSDOS分區表。"SSSSSSSS"是用16進制表示的32位"NT disk signature","PP"是用16進制表示的分區號。比如:PARTUUID=97531ACF-02 可能相當于 /dev/sda2?
PARTUUID=XXXX/PARTNROFF=N 表示以UUID="XXXX"的分區為基準,偏移N個分區。假定 /dev/sdb5 的UUID=XXXX,那么 PARTUUID=XXXX/PARTNROFF=3 就表示 /dev/sdb8 ,而 PARTUUID=XXXX/PARTNROFF=-3 則表示 /dev/sdb2
major:minor 由一對十進制數組成,其中major是主設備號,minor是次設備號。例如"/dev/sdc15"(主設備號是"8",次設備號是"47"),可以表示成"8:47"。
LABEL=??? 表示卷標為"???"的分區。比如:root=LABEL=/ 。不過這種格式并不被內核直接支持,僅是發行版通過initramfs中的腳本添加了這種格式的支持而已。所以并不通用。
[KNL]
rootfstype=文件系統類型
指定根文件系統的類型。例如:"xfs"或"ext4"之類
[KNL]
rootflags=掛載選項
設置根文件系統的掛載選項,比如"noatime,ro"。各種不同的文件系統所能使用的選項各不相同,可以參考 mount 程序的選項。
[KNL]
ro
rw
以只讀(ro)/讀寫(rw)模式掛載根文件系統
[KNL]
rootdelay=秒數
在掛載根文件系統前延遲多少秒,主要用于等待那些反應速度較慢的異步檢測的設備就緒(例如USB/MMC/FireWire)。
[KNL]
rootwait
在根文件系統就緒之前無限等待。主要用于等待那些反應速度較慢的異步檢測的設備就緒(例如USB/MMC/FireWire)。

系統初始化(init)

[KNL]
init=文件全路徑
指定內核掛載根文件系統后運行的第一個用戶空間程序的絕對路徑。默認為"/sbin/init"。
[KNL]
rdinit=全路徑
設置從initramfs中運行的第一個用戶空間程序的絕對路徑,默認為"/init"。
[注意]一旦使用了initramfs并且成功的運行了其中的"/init",所有"init"以及與根文件系統相關的選項(包括"nfsroot")對內核而言都將失效。
initramfs中的腳本必須自己分析各個內核引導選項(/proc/cmdline)并完成根文件系統的掛載與切換,當然也包括啟動真正的"init"進程。
[KNL]
S
以單用戶模式運行"init"。注意,這不是一個真正的內核選項,只是給initramfs中的腳本用的。所以并不通用。

NFS(網絡文件系統)

[NFS]
lockd.nlm_grace_period=秒數
為NFS鎖管理器指定寬限時間,單位是秒。取值范圍在[0-240]?
[NFS]
lockd.nlm_tcpport=端口號
為NFS鎖管理器指定TCP端口
[NFS]
lockd.nlm_timeout=秒數
為NFS鎖管理器指定默認超時時間,單位是秒。默認值是10秒。取值范圍在[3-20]?
[NFS]
lockd.nlm_udpport=端口號
為NFS鎖管理器指定UDP端口
[NFS]
nfsroot=[server-ip:]root-dir[,nfs-options]
指定NFS根文件系統的位置。如果沒有設置此選項,那么將使用"/tftpboot/本機IP"(默認值)作為根文件系統,并使用默認的NFS掛載選項。
server-ip NFS服務器IP地址。其默認值是"ip"選項中的server-ip字段的值。
root-dir 作為根文件系統掛載的NFS服務器的目錄。如果其中包含"%s",那么將會被替換為本機IP地址的ASCII表示形式。
nfs-options 標準的NFS文件系統掛載選項(例如"ro"),多個選項之間使用逗號分隔。下面是默認使用的值:
port = 由NFS服務器的portmap守護進程給出rsize = 4096wsize = 4096timeo = 7retrans = 3acregmin = 3acregmax = 60acdirmin = 30acdirmax = 60flags = hard,nointr,noposix,cto,ac
[NFS]
nfsrootdebug
在啟動過程中,在內核日志里顯示詳細的NFS相關的調試信息(掛載選項、服務器IP地址、根文件系統路徑等),以方便調試和故障診斷。
[NFS]
nfs.callback_tcpport=端口號
設置NFSv4回復通道(callback channel)監聽的TCP端口
[NFS]
nfs.cache_getent=路徑
設置用于更新NFS客戶端緩存項的程序的路徑。默認值是"/sbin/nfs_cache_getent"。
[NFS]
nfs.cache_getent_timeout=秒數
嘗試更新緩存項超時秒數,超過指定時間仍未更新成功則視為更新失敗。默認值是15秒。
[NFS]
nfs.idmap_cache_timeout=秒數
設置idmapper緩存項的最大壽命,單位是秒。
[NFS]
nfs.enable_ino64={0|1}
是否開啟64位inode號。"0"表示NFS客戶端將會為readdir()與stat()系統調用模擬一個32位inode號(而不是返回真實的64位inode號)。"1"(默認值)表示返回真實的64位inode號。
[NFSv4.1]
nfs.max_session_slots=正整數
設置NFS客戶端嘗試和服務器端協商的最大會話slot數。這也同時限定了客戶端能夠像服務器端發送的最大并發RPC請求數。默認值是64。將此值設置為比max_tcp_slot_table_limit大是沒有價值的。
[NFSv4]
nfs.nfs4_unique_id=字符串
指定NFSv4客戶端插入到nfs_client_id4字符串中的額外的唯一標識字符串。這通常是一個在系統安裝時自動生成的UUID。
[NFSv4.1]
nfs.send_implementation_id={0|1}
是否在exchange_id請求中包含客戶端實現識別信息(implementation identification information)。"0"表示不發送,默認值"1"表示發送。
[NFSv4]
nfs.recover_lost_locks={0|1}
v3.12新增。是否嘗試恢復服務器上由于租約超時而丟失的鎖。需要注意的是,這樣做很有可能會導致數據錯誤,因為無法保證超時后的鎖文件未被更改。默認值"0"表示不做這樣的嘗試,而"1"則表示嘗試恢復(這是v3.11及之前內核的默認行為)。
[NFSv4]
nfs.nfs4_disable_idmapping={0|1}
默認值"1"表示在使用了"sec=sys"掛載選項的情況下,RPC身份認證和NFS操作都使用數字化的uid/gid。這會導致idmapping被禁用,從而讓NFSv2/v3向NFSv4的遷移變得更加容易。客戶端將會自動檢測不支持此種操作模式的服務器,并回退到使用idmapper的模式。"0"表示禁止這種行為。
[NFSv4]
nfsd.nfs4_disable_idmapping={0|1}
默認值"1"表示NFSv4服務器與那些使用auth_sys的客戶端之間只使用數字化的uid/gid(包括發送與接收),從而讓NFSv2/v3向NFSv4的遷移變得更加容易。"0"表示禁止這種行為。

模塊功能

nomodule
禁用內核模塊加載功能(CONFIG_MODULES)。
[KNL]
module.sig_enforce
強制內核在加載模塊時檢查模塊簽名(CONFIG_MODULE_SIG),并且只接受具有合法簽名的模塊。如果內核開啟了CONFIG_MODULE_SIG_FORCE,那么無論是否使用此選項,都將強制檢查模塊的簽名。

安全

no_file_caps
要求內核無視文件的權限。這樣,執行文件的唯一途徑就只有:由root去執行或者setuid root
noexec={on|off}
noexec32={on|off}
是否允許將某部分內存映射為"禁止執行",這是一種防止數據緩沖區溢出攻擊的保護措施(也就是WinXP SP2曾經大力宣傳的數據執行保護功能),建議保持默認值"on"。
[說明]noexec對32bit代碼以及64bit代碼都有約束力,而noexec32只針對32bit代碼。
nosmap
禁用SMAP(CONFIG_X86_SMAP)支持。SMAP是Intel從Haswell微架構開始引入的一種新特征,用途是禁止內核因為自身錯誤意外訪問用戶空間的數據,以避免一些內核漏洞所導致的安全隱患。
nosmep
禁用SMEP(Supervisor Mode Execution Prevention)支持。SMEP與SMAP類似,也是Intel從Haswell微架構開始引入的一種新特征,用途是禁止內核因為自身錯誤意外執行用戶空間的代碼。以避免一些內核漏洞所導致的安全隱患。
nordrand
即使CPU支持(CONFIG_ARCH_RANDOM),也禁止內核使用RDRAND指令(不過用戶空間依然可以使用此指令)。由于很多人懷疑RDRAND指令所依賴的硬件隨機數生成器所使用的加密標準(NIST SP800-90)被NSA植入了后門,所以提供了該選項以禁用它,不過大神Torvalds不以為然。
vsyscall={emulate|native|none}
控制vsyscall系統調用(調用固定的地址0xffffffffff600x00)的行為。大多數靜態鏈接的可執行程序和老舊的Glibc會使用這個系統調用。因為vsyscall始終位于固定的地址,所以很容易被攻擊者利用。
emulate(默認值) 捕捉vsyscalls系統調用,并對其進行安全的模擬。這是比較安全的選項,但效率并不最高。
native 將vsyscall系統調用直接轉變成本地syscall指令,這比模擬方式效率稍微高一些。但是很容易被攻擊。
none 完全禁用vsyscall系統調用。這是最安全的選項,但是有可能會導致系統工作異常。
[EVM]
evm="fix"
不管當前的完整性狀態如何,都允許更新"security.evm"。
[SECURITY]
security={selinux|smack|tomoyo|apparmor|yama}
選擇啟用的安全模塊。僅在內核同時開啟了多個安全模塊的情況下才有意義。
[SELINUX]
selinux={0|1}
是否在啟動時就開啟SELinux功能(CONFIG_SECURITY_SELINUX_BOOTPARAM):"0"表示關閉,"1"表示開啟。
默認值由內核在編譯時確定(CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE)。
即使設為"1",隨后也可以通過 /selinux/disable 在加載安全策略前禁止SELinux功能。
[SELINUX]
enforcing={0|1}
是否在啟動時強制啟用SELinux規則。
"0"(默認值)表示僅僅做記錄違規操作日志而不真正拒絕違規操作;
"1"表示真正拒絕違規操作并做記錄違規操作日志。
該選項還可以在運行時通過 /selinux/enforce 進行修改
[SELINUX]
checkreqprot={0|1}
設置"checkreqprot"標記的初始值。
"0"表示由內核強制執行檢查保護(包括其中隱含的所有執行保護)
"1"表示由應用程序自己主動請求執行檢查保護
默認值由內核在編譯時確定,也可以在運行時通過 /selinux/checkreqprot 修改
[APPARMOR]
apparmor={0|1}
是否在啟動時就開啟AppArmor功能(CONFIG_SECURITY_APPARMOR):"0"表示關閉,"1"表示開啟。
默認值由內核在編譯時確定(CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE)。

多CPU與CPU間調度

SMP(對稱多處理器)系統中,所有的CPU共享全部資源(總線,內存,I/O等),最大的特點就是所有資源共享,多個CPU之間沒有區別。NUMA(非一致內存訪問)的基本特征是具有多個CPU節點,每個CPU節點由多個CPU組成,并且具有獨立的本地內存與I/O槽口等。因此,雖然每個CPU都可以訪問整個系統的內存,但是訪問本地節點內存的速度遠遠高于訪問其它節點的內存。詳見《SMP/NUMA/MPP體系結構對比》

[SMP]
nosmp
強制禁用SMP,這是個已被反對使用的舊選項
[SMP]
maxcpus=整數
最大允許使用的CPU核心數。"0"表示禁用SMP特性(等價于已被反對使用的舊"nosmp"選項),同時也禁用IO APIC;正整數"n"表示最大允許使用n個CPU核心。
[SMP]
nr_cpus=正整數
允許SMP內核支持的最大CPU核心數(等價于CONFIG_NR_CPUS)。配合CPU熱插拔(CONFIG_HOTPLUG_CPU),可在運行時增加CPU數目。
cpu0_hotplug
強制允許CPU0(boot CPU)熱插拔(CONFIG_BOOTPARAM_HOTPLUG_CPU0)。下列特性必須依賴于cpu0,所此選項應謹慎使用:
(1)從休眠狀態(S3,S4)喚醒以及從運行狀態進入休眠狀態
(2)PIC中斷,也就是某些情況下,關機和重啟也會依賴于cpu0
[SMP]
additional_cpus=整數
最大允許熱插拔的CPU數量。默認值由BIOS決定。相見Documentation/x86/x86_64/cpu-hotplug-spec
[NUMA]
numa={off|noacpi}
off 關閉NUMA支持,也就是讓所有內存都只屬于同一個節點。
noacpi 不為NUMA解析ACPI SRAT表
[KNL]
numa_balancing={enable|disable}
啟用/禁用NUMA均衡(CONFIG_NUMA_BALANCING),其默認值由CONFIG_NUMA_BALANCING_DEFAULT_ENABLED決定
[KNL,BOOT]
numa_zonelist_order={zone|node|default}
設置NUMA的zonelist順序。這里設置的值還可以在運行中通過sysctl來修改。詳見Documentation/sysctl/vm.txt
[KNL,SMP]
isolcpus=CPU編號列表
將列表中的CPU從內核SMP平衡和調度算法中剔除。
[注意]提出后并不是絕對不能再使用該CPU的,操作系統仍然可以強制指定特定的進程使用哪個CPU(可以通過taskset來做到)。
該選項的目的主要是用于實現特定cpu只運行特定進程的目的。
CPU編號從"0"開始計數,列表的表示方法有三種:
numA,numB,...,numN
numA-numN
以及上述兩種表示方法的組合:
numA,...,numM-numN
例如:0,3,4-7,9
[KNL,SMP]
relax_domain_level={-1|0|1|2|3|4|5}
設置CPUSET調度域(sched domain)的默認級別。大于此級別的調度域層次將禁用閑時均衡和喚醒均衡,而其余級別的調度域都開啟。
-1(默認值) 使用系統的默認值(取決于不同的硬件架構)或者由其他的請求確定,也就是不人為指定默認級別。
0 禁用所有調度域的閑時均衡和喚醒均衡
1 超線程域(siblings),也就是同一個物理核心內的不同超線程
2 核域(cores),也就是同一個物理CPU中不同的核心
3 節點域(node),對于NUMA系統來說就是同一個NUMA節點內,對于non-NUMA系統來說這是整個系統范圍
4 節點組域(chunk of node),僅適用于NUMA系統,表示在一組特定的NUMA節點范圍內
5 全系統(system wide),全部系統范圍內
詳見Documentation/cgroups/cpusets.txt文檔

控制組(Control Group)

Cgroup(CONFIG_CGROUPS)是一種進程管理機制,也是內核的資源分配框架。

[KNL]
cgroup_disable="控制器名稱"
禁用cgroup中特定的控制器名稱。目前只支持一個"memory"控制器。
noautogroup
禁止自動創建進程組(CONFIG_SCHED_AUTOGROUP),服務器環境可以考慮使用此選項。
[KNL]
swapaccount={0|1}
是否統計換入(swap in)內存的資源。"0"表示不統計,"1"表示統計。詳見Documentation/cgroups/memory.txt文檔。

EFI/UEFI

noefi
禁用EFI支持(CONFIG_EFI)。
[EFI]
add_efi_memmap
將EFI內存映像包括在內核的可用物理內存映像之中
pstore.backend=efivars
將"efivars"(CONFIG_EFI_VARS_PSTORE)用作pstore內存文件系統的后端。

雜項

[IP_VS_FTP]
ports=portA,portB,...
IPVS(IP Virtual Server) FTP幫助模塊所使用的端口,最多允許指定8個。默認值是"21"。
io_delay={0x80|0xed|udelay|none}
設置IO延遲方式
0x80(CONFIG_IO_DELAY_0X80) 傳統的Linux IO延遲方式,久經考驗,也最安全
0xed(CONFIG_IO_DELAY_0XED) 基于0xed端口的IO延遲方式,主要是為了避免和基于0x80端口的主板診斷卡沖突
udelay(CONFIG_IO_DELAY_UDELAY) 使用內核端udelay()函數作為延遲方法(簡單的延遲2微秒).可以不占用任何IO端口空間.
none(CONFIG_IO_DELAY_NONE) 不使用任何port-IO延遲機制.只要你的機器不是老古董,這個應該是首選.
[KNL]
reboot=[mode][,type][,force]
指定系統重啟的方式:
mode 用于指定重啟模式,可以使用如下2種模式之一:warm(熱重啟[跳過內存檢測]), cold(冷重啟[檢測并重新初始化所有硬件])
type 用于指定重啟類型,可以使用如下4種類型之一:bios(為熱重啟使用CPU reboot vector), acpi(優先使用FADT中的ACPI RESET_REG,若失敗再轉kbd), kbd(使用鍵盤控制器冷重啟,這是默認值), triple, efi(優先使用EFI提供的reset_system運行時服務,若失敗再轉kbd)
結尾的"force"表示在重啟時不停用其它的CPU,在某些情況下可以讓reboot更可靠。
[KNL]
reset_devices
強制驅動程序在初始化底層設備的過程中重置設備
[KNL]
rcu_nocbs=
在"CONFIG_RCU_NOCB_CPU=y"的情況下,指定哪些CPU是No-CB CPU
[KNL]
nodelayacct
禁止在針對每個進程的統計信息中包含進程等候系統資源(cpu,IO同步,內存交換等)所花費的時間,相當于禁用CONFIG_TASK_DELAY_ACCT模塊。
[KNL]
sysfs.deprecated={0|1}
為了兼容舊版本的應用程序而保留過時的sysfs特性(CONFIG_SYSFS_DEPRECATED),其默認值由CONFIG_SYSFS_DEPRECATED_V2確定。

總結

以上是生活随笔為你收集整理的Linux 内核引导选项简介 *********很多常用的受益匪浅的全部內容,希望文章能夠幫你解決所遇到的問題。

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

婷婷色在线观看 | 天堂av在线网站 | 免费的黄色的网站 | 色综合久久久久久久久五月 | 911国产| 中文字幕在线视频精品 | 亚洲精品影视 | 国产精品久久视频 | 久久婷婷国产 | 天天亚洲| 午夜久久久久久久久久影院 | 欧美激情在线网站 | 一区二区三区在线电影 | 一区二区欧美在线观看 | 狠狠干夜夜爽 | 天天操,夜夜操 | 又黄又爽的免费高潮视频 | 女人18片| 国产一区二区三区免费视频 | 香蕉网在线观看 | 麻豆一区在线观看 | 精品免费一区二区三区 | 精品久久久成人 | 国产在线精品二区 | 精品视频在线视频 | 久久久国产高清 | 国产精品h在线观看 | 免费色婷婷 | 天天干天天射天天插 | 99精品国自产在线 | 热久久电影 | 亚洲综合色视频在线观看 | 96看片| 97成人精品视频在线观看 | 欧美精品一区在线发布 | 久久综合久久伊人 | 91久久在线观看 | 国产亚洲精品久 | 国产成人a v电影 | 狠狠撸电影 | 国产日韩欧美在线影视 | 中文在线中文资源 | 久久人人爽人人爽人人片av软件 | 成人精品99 | 国产一级精品视频 | 亚洲精品乱码久久久一二三 | 免费高清在线视频一区· | 玖玖在线免费视频 | 一区二区亚洲精品 | 免费观看全黄做爰大片国产 | 欧美日韩在线电影 | 天天综合天天做 | 国产精品综合av一区二区国产馆 | 国产精品免费视频久久久 | 久久精品精品电影网 | 欧美精品黑人性xxxx | 日韩欧美一区二区三区在线 | 国产日韩精品一区二区在线观看播放 | 久久久久久久久久久电影 | 亚洲久草在线视频 | 99久久精品国产亚洲 | 日韩精品一区二区三区免费观看视频 | 黄色资源在线 | www.夜色.com| 在线观看亚洲国产 | 久久在线免费观看视频 | 亚洲视频每日更新 | 欧美日韩视频在线一区 | 国产美女被啪进深处喷白浆视频 | 久热爱 | 午夜视频二区 | 91综合色| 久草男人天堂 | 国产高清久久久久 | 国产香蕉在线 | 九九久久久久久久久激情 | 国产精品日韩欧美一区二区 | 国产91精品一区二区麻豆亚洲 | 久久久久久久久国产 | 在线播放视频一区 | 久久久99国产精品免费 | 人人爽夜夜爽 | 有码一区二区三区 | 天天操天天干天天爱 | 日韩二区三区在线观看 | 日韩欧美视频在线观看免费 | 国产精品免费小视频 | 欧美一级爽 | 欧美日韩在线免费观看视频 | 人人爽人人香蕉 | 日本黄色免费在线观看 | 中文资源在线官网 | 国产午夜精品理论片在线 | 在线免费国产 | 久操视频在线免费看 | 亚洲区视频在线观看 | 日韩网站视频 | 黄色小说网站在线 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 伊人丁香 | 久久国产精品99久久人人澡 | www.久久久精品| 黄色在线观看污 | 中文字幕高清免费日韩视频在线 | 国产精品免费久久久久影院仙踪林 | 精品久久久精品 | 精品美女在线视频 | 免费观看版| 国产亚洲日本 | 激情视频一区二区三区 | 国产精品123 | 亚洲精品在线一区二区三区 | 人人揉人人揉人人揉人人揉97 | 成人资源在线观看 | 亚洲国产美女久久久久 | 五月婷婷综合色拍 | 久久av免费电影 | 国产夫妻性生活自拍 | 国产色在线视频 | 国产精品理论在线观看 | 国产资源免费在线观看 | 国产不卡在线播放 | 国产明星视频三级a三级点| 91日韩在线专区 | 97超碰人人干| 91桃色免费观看 | 久久激情综合网 | 国产成人精品午夜在线播放 | 亚洲欧美日韩在线一区二区 | 五月天激情视频在线观看 | 99亚洲视频 | 99婷婷狠狠成为人免费视频 | 精品一二 | 国产精品一区二区 91 | 激情九九 | 在线有码中文字幕 | 欧洲高潮三级做爰 | 国产清纯在线 | 色综合天| 99久久精品免费一区 | 人人精品 | 手机av电影在线 | 中文字幕在线一二 | 欧美日韩国产区 | 久久精品国亚洲 | 国产成人精品av在线 | 一区二区三区精品久久久 | 婷婷伊人五月天 | 国产亚洲精品久久久久久网站 | 久久dvd| 91最新在线观看 | 亚洲综合在线五月 | 日韩欧美一区视频 | 久久性生活片 | 国产视频日韩视频欧美视频 | www天天干| 日韩中文字幕国产 | 在线观看av片 | 国产精品区免费视频 | 九九免费观看全部免费视频 | 日本久久综合网 | 最近免费中文字幕大全高清10 | 亚洲人人射 | 91精品人成在线观看 | 99热最新 | 51久久夜色精品国产麻豆 | 亚洲综合最新在线 | 一 级 黄 色 片免费看的 | 日韩av不卡在线播放 | 国产精品系列在线 | 日韩黄色一区 | 国产一级二级在线观看 | av高清免费 | 久久永久免费视频 | 91色欧美| 男女拍拍免费视频 | 日本激情视频中文字幕 | 99精品偷拍视频一区二区三区 | 国产一区高清在线 | 97免费在线视频 | 玖玖综合网| 午夜精品导航 | 天天草天天操 | 国产精品精品 | 国产伦精品一区二区三区照片91 | 青青草国产精品视频 | 亚洲精品免费在线观看 | 国产精品自产拍在线观看中文 | 久久国产精品电影 | 手机成人在线电影 | av亚洲产国偷v产偷v自拍小说 | 亚洲国内精品在线 | 人人爽人人爽人人片av | 中文字幕在线免费看线人 | 国产传媒中文字幕 | 91禁在线看 | 国产成人精品亚洲 | 国产色影院| 亚洲视频999| 四虎永久免费 | 亚洲欧美日韩一区二区三区在线观看 | 在线视频区 | 日韩r级电影在线观看 | 91资源在线免费观看 | 全黄色一级片 | 亚洲精品视频在线观看网站 | 国产区在线 | 欧美老女人xx | 日本一区二区三区视频在线播放 | 成人97人人超碰人人99 | 日韩精品视频在线观看免费 | 奇米影音四色 | 日韩av电影中文字幕 | 日韩免费一区二区三区 | 亚洲精品自在在线观看 | 久久久福利 | 国产成人一区二区三区久久精品 | 国产黄色av影视 | 久久久国产精品人人片99精片欧美一 | 成人中文字幕在线 | 亚洲干视频在线观看 | 亚洲美女在线国产 | 久久综合色一综合色88 | 国产日韩三级 | 久久一区精品 | 免费观看一级一片 | 日韩激情第一页 | 国产不卡在线视频 | 久久久国产精品久久久 | 色在线中文字幕 | 久久国产精品免费看 | 91豆麻精品91久久久久久 | 不卡av电影在线 | 精壮的侍卫呻吟h | 麻豆视频在线免费看 | 国内外激情视频 | 91在线精品秘密一区二区 | 中文字幕视频一区 | 中文字幕av在线播放 | 免费欧美高清视频 | 中文字幕五区 | 国产日本亚洲 | 综合婷婷丁香 | 伊人天天综合 | 天天操天天干天天插 | 欧美伦理一区 | 日韩黄色免费在线观看 | 国产精品久久久久久久免费大片 | 丁香国产视频 | 中文在线| 午夜视频免费播放 | 婷婷av网站| 日韩电影中文字幕在线观看 | 又黄又网站| 视频在线播放国产 | 欧美精品一二三 | 婷婷综合网 | 91在线视频导航 | 天天插日日射 | 国产999精品久久久影片官网 | 天天射射天天 | 精品国产视频在线观看 | 一区中文字幕电影 | av中文字幕电影 | 香蕉久久久久久av成人 | 亚洲欧洲精品一区二区 | 国产破处在线播放 | 国产日韩欧美精品在线观看 | 免费看十八岁美女 | av色一区 | 91精品啪在线观看国产 | 99精品国产aⅴ | 69精品| 色福利网站 | 天天操天天摸天天爽 | 午夜av免费 | 精品在线播放视频 | 91在线日韩 | 亚洲天堂网视频在线观看 | 伊人久久精品久久亚洲一区 | 91麻豆看国产在线紧急地址 | 午夜美女视频 | 久久高清| 免费av一级电影 | 黄色网在线免费观看 | 欧美日韩国产区 | 久久视频精品 | 黄网站大全 | 91亚洲在线观看 | 草莓视频在线观看免费观看 | 一区二区精品在线视频 | 欧美日韩国内在线 | 成人福利在线 | 4p变态网欧美系列 | 国产精品99久久久精品 | 国产一级二级三级视频 | 国产精品二区在线 | 在线观看亚洲精品 | 欧美激情片在线观看 | 国产精品毛片久久蜜 | 一区二区三区在线电影 | 国产成人精品一区一区一区 | 九九视频这里只有精品 | 午夜精品一区二区三区视频免费看 | 欧美亚洲xxx | 中文字幕在线看视频国产 | 亚洲精品国产第一综合99久久 | 夜夜躁日日躁狠狠躁 | 东方av在线免费观看 | 国产成人精品在线 | 日韩高清在线不卡 | 四虎视频 | 国产综合香蕉五月婷在线 | 日韩免费视频 | 日韩av免费一区 | 国产不卡一二三区 | 日本久久久久久久久久 | 久久久久久久久精 | 久久久久欠精品国产毛片国产毛生 | 999久久国精品免费观看网站 | 久久久精品一区二区 | 欧美美女激情18p | 日韩av在线一区二区 | 国产成人一区二区三区电影 | 久久影视一区 | 黄色大全免费观看 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 午夜精品福利一区二区 | 国产黄色片在线 | 国产精品久久久久久久久久免费 | 久久久久久久久久久网 | 99久久久国产精品免费99 | av在线播放免费 | 国产成年免费视频 | 超级碰碰碰免费视频 | 亚洲码国产日韩欧美高潮在线播放 | 国产黄色特级片 | 国内精品久久久久影院优 | 日韩在线短视频 | 中文字幕国内精品 | 久久久久网站 | 久久图| 九九九在线观看视频 | 激情黄色一级片 | 日韩免费区 | 亚洲精品在线观 | 欧美亚洲久久 | 国产第一页福利影院 | 碰碰影院 | 日本久久片 | 国产高清在线观看av | 日本午夜在线观看 | 久久久久久久久久电影 | 毛片1000部免费看 | 久久激情视频免费观看 | 免费看污在线观看 | 四虎8848免费高清在线观看 | 久久免费视频网站 | 超碰公开在线观看 | 国内精品久久久久久久97牛牛 | 亚洲欧洲国产日韩精品 | 国产高清久久久久 | 在线免费91 | 成人日批视频 | 麻豆系列在线观看 | 91中文字幕 | 日韩在线观看一区二区 | 国产高清黄 | 一级黄色片毛片 | 国产在线久草 | 九九热中文字幕 | 干天天| 性色av一区二区三区在线观看 | 久久国产精品久久久 | 91麻豆国产福利在线观看 | 国产精品系列在线观看 | 日韩高清在线观看 | 亚洲成人第一区 | 久久国内视频 | 999电影免费在线观看 | 天堂av高清 | 欧美精彩视频在线观看 | 国产在线播放一区 | 最近免费中文字幕 | 超碰在线人人 | 国产精品自产拍在线观看蜜 | 97视频免费在线看 | 男女全黄一级一级高潮免费看 | 久久观看免费视频 | 中文乱幕日产无线码1区 | 91探花国产综合在线精品 | 天天操天天爱天天爽 | 91天天操| 国产精品入口66mio女同 | 日韩在线观看视频网站 | 久久午夜电影 | 91精品免费在线观看 | 中文在线8资源库 | 欧美日韩在线免费观看视频 | 国产精品video | 丁香婷婷色月天 | 久久影院精品 | 国产成人a亚洲精品 | 国产精品久久久久久久99 | 色夜影院 | 亚洲综合色视频在线观看 | 亚洲婷婷网 | 婷婷色综合 | 国产成人久久77777精品 | 亚洲精品日韩在线观看 | 97国产大学生情侣白嫩酒店 | 玖玖精品视频 | 91麻豆精品国产自产在线 | 色五月成人 | av天天干| 欧美黑吊大战白妞欧美 | 久草综合在线观看 | 天天干天天操av | 9992tv成人免费看片 | 久久国产亚洲视频 | 色夜视频| 亚洲黄色网络 | 久久久久久久久爱 | 色资源在线 | 亚洲激精日韩激精欧美精品 | 精品一区二区6 | 91免费版成人 | 免费看的黄色 | 欧美精品天堂 | 人人舔人人干 | 精品国产精品久久一区免费式 | 偷拍福利视频一区二区三区 | 免费黄色网址网站 | 色综合www | 国外调教视频网站 | 四虎在线视频免费观看 | 国内精品小视频 | 中文字幕免费在线 | 夜夜夜夜夜夜操 | 国产免费久久 | 亚洲午夜精品久久久久久久久久久久 | 久久久在线免费观看 | 成人久久精品视频 | 欧美激情片在线观看 | 国产高清免费av | 99热精品国产| 欧美一区在线观看视频 | 国产精品一区免费看8c0m | 人人澡人人添人人爽一区二区 | 99久久网站 | 狠狠色综合网站久久久久久久 | 91成人精品一区在线播放69 | av电影久久| 欧美精品久久人人躁人人爽 | 久久资源总站 | av电影免费在线 | 国产老太婆免费交性大片 | 不卡日韩av | av免费网站在线观看 | 天天操综合 | 国产精品成人一区二区三区吃奶 | 久久综合久久88 | 国产精品久久久久亚洲影视 | 精品99久久 | 黄色毛片视频免费观看中文 | 亚州免费视频 | 亚洲天堂精品 | 国产在线观看免费 | 国产精品一区二区三区在线 | 91久久久久久国产精品 | 免费亚洲精品视频 | 免费69视频 | 国产精品久久久久久久久久久久午 | 久久综合久久久 | 国产精品你懂的在线观看 | 国产五月 | 天天干国产 | 欧美成人h版电影 | 亚洲一区二区观看 | 成人免费看片98欧美 | 伊人婷婷激情 | 九色91在线 | 免费看麻豆 | 欧美日韩精品在线视频 | 国产黄影院色大全免费 | 五月婷婷在线视频观看 | 婷婷激情网站 | 免费在线色视频 | 免费看麻豆 | 国产久草在线观看 | 午夜精品一区二区三区视频免费看 | 综合在线观看色 | 日本精品视频免费 | 成人毛片久久 | 日日草天天草 | 日韩精品一区二区在线视频 | 精品一区二区综合 | 超碰在线亚洲 | 久久avav| 日本久久久久久科技有限公司 | 国产专区日韩专区 | 久久手机免费视频 | 91精品老司机久久一区啪 | 黄色成人影视 | 日日夜夜草 | 色综合婷婷 | 亚洲精品国产精品乱码在线观看 | 亚洲免费国产 | 久草在线中文视频 | 国产成人精品午夜在线播放 | 欧美精品国产综合久久 | 国产精品一区二区三区免费视频 | 久久久www成人免费精品张筱雨 | 91视频 - v11av| 日韩精品在线视频免费观看 | 高清久久久久久 | 国内免费的中文字幕 | 国产精品情侣视频 | 天天色天天干天天色 | 又黄又爽又湿又无遮挡的在线视频 | 久久久在线 | 国色天香永久免费 | 中文资源在线官网 | 亚洲精品天天 | 国产最新视频在线观看 | 玖玖在线看| 中文在线中文资源 | 精品一区 精品二区 | 亚洲天天在线 | 久草资源在线观看 | 国色天香在线观看 | 天天干天天做天天爱 | 国产成人综 | 18pao国产成视频永久免费 | 亚洲一级黄色大片 | 日日干天夜夜 | 99精品视频在线观看播放 | 99精品视频免费观看 | 午夜18视频在线观看 | 欧美日本三级 | 婷婷色在线观看 | 国产 日韩 中文字幕 | a√国产免费a | 四虎永久免费在线观看 | 亚洲综合视频在线播放 | 91超级碰碰 | 久久免费视屏 | 国产人成看黄久久久久久久久 | av电影久久| 欧美精品第一 | 国产免费高清视频 | av在线直接看 | 久久综合九色99 | 永久中文字幕 | 91精品国产高清自在线观看 | 808电影免费观看三年 | 欧美最猛性xxxxx(亚洲精品) | 国产精品video爽爽爽爽 | 国产在线观看99 | 久久久麻豆精品一区二区 | 黄色大片免费播放 | 欧美久久久久久久久久 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 亚洲精品国产高清 | 日韩在线视频免费播放 | 亚洲成人免费在线 | 国产高清视频在线 | 天天爽夜夜爽精品视频婷婷 | 中文字幕国产视频 | 欧美日韩国产在线 | 999久久久免费视频 午夜国产在线观看 | 精品欧美日韩 | 九九视频免费 | 精品国产观看 | 97激情影院 | 中文av字幕在线观看 | 在线看国产视频 | 亚洲闷骚少妇在线观看网站 | 五月丁色 | 最近2019年日本中文免费字幕 | 亚洲作爱 | 欧美日韩一级久久久久久免费看 | 亚洲精品在线观看视频 | 欧美a性| 精品视频在线免费 | 麻豆精品传媒视频 | 精品久久久久久久久久国产 | 国产精品免费看久久久8精臀av | 国产精品色婷婷 | 国产美腿白丝袜足在线av | 亚洲精品国偷拍自产在线观看 | 69国产成人综合久久精品欧美 | 国产高清视频在线播放一区 | 国产精品99久久久久的智能播放 | 久久久国产99久久国产一 | 在线看不卡av | 国产精品18久久久久久久网站 | 国产精品一区免费在线观看 | 丁香婷五月 | 伊人资源站 | 黄色av网站在线观看 | 久久久久久久99 | 黄色一及电影 | 日本久草电影 | 亚洲第一av在线 | 日韩理论片中文字幕 | 国产尤物在线观看 | 91视频免费视频 | 在线播放一区二区三区 | 亚洲区二区| 久久精品亚洲精品国产欧美 | 亚洲国产剧情 | 国产日产精品一区二区三区四区的观看方式 | 天海翼一区二区三区免费 | aa一级片 | 92精品国产成人观看免费 | 国产精品6 | 欧美日韩精品二区第二页 | 亚洲精品合集 | 亚洲夜夜网 | 久久99亚洲网美利坚合众国 | 91在线91拍拍在线91 | 91av亚洲 | 香蕉视频4aa | 国产成人333kkk | 日韩欧美91 | 中文字幕在线观看视频一区 | 精品国产一区二区三区蜜臀 | 久99久精品 | www.天堂av| 成人在线免费视频观看 | av天天色 | 久久中国精品 | 欧美激情视频在线免费观看 | 国产一区二区网址 | 日本久久久久久 | 国产精品12 | 中文字幕超清在线免费 | 国产中文字幕在线播放 | 91成人看片 | 一区二区三区高清不卡 | 国产精品久久久久久69 | 人人爱人人舔 | 成人av网站在线观看 | 天堂av最新网址 | 在线视频18在线视频4k | 99精品国产99久久久久久福利 | 国产精品一区免费观看 | 国产免费叼嘿网站免费 | 欧美激情精品久久久久久变态 | 成人h在线观看 | 久久成人国产精品一区二区 | 久久婷婷综合激情 | 国产精品私人影院 | 婷婷在线五月 | 久久久高清一区二区三区 | 99视频精品免费视频 | 国产精品18久久久久久vr | 亚洲国产一区二区精品专区 | 国产精品女人久久久 | 91亚洲精品久久久蜜桃网站 | 国产视频在线免费观看 | 天堂在线一区 | 免费国产在线视频 | 国产精品视频线看 | 精品久久久久一区二区国产 | 久久6精品 | 亚洲综合欧美日韩狠狠色 | 在线免费观看黄网站 | 香蕉视频在线播放 | 午夜视频在线观看一区二区三区 | 亚洲精品视频在线观看免费视频 | 国产91在线免费视频 | 99视频在线 | 四虎影视国产精品免费久久 | 中文字幕在线视频第一页 | 色综合欧洲 | 久久伊人操| 色婷婷视频在线观看 | 九九国产精品视频 | 欧美一级特黄高清视频 | 在线亚洲高清视频 | 一区二区久久久久 | 亚洲精品视频中文字幕 | 九九热精品在线 | 国产视频色 | 日本久久中文字幕 | 亚洲成av人片在线观看 | 特级黄色视频毛片 | 日韩精品中文字幕在线播放 | 精品国产美女在线 | 亚洲一级黄色av | 久草视频免费播放 | 国产99久久久精品视频 | 最新中文字幕 | 五月天久久综合网 | 丁香花在线视频观看免费 | 日韩高清免费在线观看 | 天堂av网址 | 狠狠天天 | 麻豆一区在线观看 | 天天干天天插 | 日韩爱爱片| 精品国产伦一区二区三区免费 | 中文字幕视频观看 | 婷婷丁香激情五月 | 日韩 国产 | 国产精品永久久久久久久www | 久久综合色天天久久综合图片 | 丁香花中文字幕 | 国产日韩视频在线观看 | 99精品视频在线观看视频 | 国产欧美最新羞羞视频在线观看 | 免费观看一级视频 | 亚洲特级毛片 | 久久精品网站视频 | 国内久久久久久 | 成人久久影院 | 亚洲人在线 | 91成年人在线观看 | 久久99国产精品二区护士 | 深夜免费小视频 | 激情五月播播久久久精品 | 深爱激情久久 | 男女啪啪免费网站 | 国产在线a不卡 | 99c视频在线 | 国产精品午夜久久 | 欧美一区二区三区在线 | 国产亚洲欧洲 | 国产精品久久av | 免费a级观看 | 欧美日韩99| 黄在线免费观看 | 中文字幕在线久一本久 | 国产亚洲欧美精品久久久久久 | 欧美午夜精品久久久久久浪潮 | 综合久久网站 | 亚洲最大成人网4388xx | www.国产在线视频 | 天天操福利视频 | 最新av电影网站 | 亚洲国产mv | 亚洲伊人成综合网 | 香蕉精品视频在线观看 | 国产精品久久久久久久久久白浆 | 69视频永久免费观看 | 中文字幕av免费在线观看 | 一二三四精品 | 久久久久这里只有精品 | 深爱激情综合网 | 狠狠干综合| 日韩三区在线 | 亚洲精品午夜一区人人爽 | 久草视频中文在线 | 亚州av网站 | 91在线操| 黄色免费网| 久久国色夜色精品国产 | 亚洲最新在线 | 欧美 日韩 成人 | 人人干网 | 国产成人精品久久久 | 精品福利在线 | 国产精品网红直播 | 999久久 | 国产午夜精品一区 | 免费观看第二部31集 | 色橹橹欧美在线观看视频高清 | 超级碰碰碰碰 | 最近中文字幕视频完整版 | 狠狠的干狠狠的操 | 在线99视频 | 夜夜澡人模人人添人人看 | 国产高清专区 | 一区二区三区在线免费观看 | 午夜av影院 | 国产美女精彩久久 | www色综合| 五月婷婷色播 | 亚洲国产精品500在线观看 | 免费色av| 日韩精品一区二区在线观看 | 狠狠色噜噜狠狠狠狠2021天天 | 在线视频精品播放 | 国产91免费在线观看 | 日韩丝袜| 伊人久久精品久久亚洲一区 | 人人澡人人爽 | 免费一级日韩欧美性大片 | 色综合色综合久久综合频道88 | 久久人人爽爽人人爽人人片av | 美女网站久久 | 久草av在线播放 | 欧美精品一区二区在线观看 | 四虎国产精品成人免费影视 | 久久久久久久久福利 | 亚洲综合激情小说 | 网址你懂的在线观看 | 96亚洲精品久久久蜜桃 | 亚洲精品人人 | 视频在线观看99 | 久久久久久国产精品 | 狠狠躁夜夜av | 色婷婷综合视频在线观看 | 999热线在线观看 | 激情网婷婷 | 一级黄色免费 | 国产成人三级在线播放 | 国产精品一二 | 日韩欧美视频在线观看免费 | 成人教育av | 国产精品第一 | 国产黄色精品网站 | 2022久久国产露脸精品国产 | 在线观看蜜桃视频 | 夜夜视频欧洲 | 精品国产一区二区三区四区vr | 99在线视频免费观看 | 天天操天天操天天操天天操天天操天天操 | 开心激情五月婷婷 | japanesexxxxfreehd乱熟 | 不卡电影一区二区三区 | 国产视频综合在线 | 成人影片在线免费观看 | 久久久久日本精品一区二区三区 | 五月激情天 | 亚洲另类xxxx| 久久久久蜜桃 | 欧美经典久久 | 午夜视频久久久 | 97在线观看免费观看 | 97在线观看视频国产 | 国产成人在线播放 | 狠狠综合网 | 国产一级精品视频 | 精品视频在线观看 | 国产精品99久久久久久宅男 | 欧洲一区二区三区精品 | 免费a级毛片在线看 | 亚洲精品国产精品国自产在线 | 五月综合| 狠狠网亚洲精品 | 波多野结衣最新 | 色狠狠操 | 欧美视频www | 中文亚洲欧美日韩 | 三级黄色免费片 | 97视频在线观看免费 | 夜夜骑天天操 | 黄色网在线免费观看 | 日日操夜 | www.久久视频 | 久久久久久精 | 婷婷综合导航 | 欧美最猛性xxxxx亚洲精品 | 欧美精彩视频在线观看 | 亚洲免费成人av电影 | 涩涩伊人 | av电影亚洲 | 久久久久久久久久久精 | 亚洲综合精品视频 | 中文不卡视频 | 亚洲国产影院 | 91香蕉国产 | 亚洲激情 在线 | 日韩三级视频在线看 | 91av亚洲| 黄色毛片在线观看 | 精品亚洲在线 | 国产在线欧美 | 丁香五婷 | a久久免费视频 | 久久99亚洲精品久久久久 | 欧美a视频在线观看 | 午夜性福利| 久久精品视频一 | 欧美另类网站 | 91禁在线看| 成人免费影院 | 91av在线播放| 日韩欧美一区二区在线播放 | 美女网站色在线观看 | 色噜噜色噜噜 | 日本美女xx| 精品一区二区亚洲 | 国产精品久久网站 | 国产成人精品一区二区三区免费 | 9热精品| 在线亚洲激情 | 日韩在线资源 | 国产999精品久久久久久 | 久久精品高清 | 国产日韩欧美网站 | 久久国产一区二区三区 | 久草免费在线观看 | 综合激情婷婷 | 国产精国产精品 | 丁香花中文在线免费观看 | 婷婷色站| 国产成人精品一区二三区 | 麻豆精品传媒视频 | 骄小bbw搡bbbb揉bbbb | 久久精品国产免费看久久精品 | 最新99热| 日本大尺码专区mv | 亚洲自拍偷拍色图 | 毛片网站在线观看 | av最新资源 | 久久久一本精品99久久精品66 | 久草视频在线新免费 | 色综合天天在线 | 日韩国产精品毛片 | 国产日韩欧美在线免费观看 | 婷婷五天天在线视频 | 久久尤物电影视频在线观看 | 午夜视频色 | 国产精品国产毛片 | 久久免费精品 | 亚洲va韩国va欧美va精四季 | 成人黄性视频 | 国产免费又爽又刺激在线观看 | 免费日韩 精品中文字幕视频在线 | www.com在线观看 | 色综合久久五月天 | 日本久久精 | 亚洲免费黄色 | 91经典在线 | 国产精品福利av | 亚洲在线视频观看 | 日韩国产精品久久 | 亚洲精选久久 | 人人看人人做人人澡 | 亚洲精品午夜久久久久久久 | 亚洲精品综合一二三区在线观看 | 精品久久久久久久久久国产 | 在线中文字幕一区二区 | 五月天久久激情 | 97在线视频免费播放 | 国产午夜一区二区 | 免费在线91| 国产不卡免费av | 在线免费视频一区 | www.夜夜爽| 欧美一级久久 | 成人中文字幕在线 | 久久成年人视频 | 久久男人中文字幕资源站 | 欧美另类人妖 | 91精品免费在线观看 | 欧美日韩高清 | 日本精品一区二区三区在线播放视频 | 美女视频国产 | 国产成人三级在线观看 | 91av在线免费看 | 久久亚洲在线 | 日本色小说视频 | 一区二区三区视频在线 | 婷婷丁香六月 | 在线成人免费电影 | 丁香网五月天 | 最新婷婷色 | 久久午夜影院 | 在线观看黄色免费视频 | 免费在线国产 | 免费视频久久久久久久 | 色婷婷福利 | 日日综合网 | 免费看的黄色的网站 | 成人污视频在线观看 | 国产精品99久久久久 | 又紧又大又爽精品一区二区 | 久久亚洲美女 | 91免费在线视频 | 午夜免费电影院 | 亚洲午夜精品一区二区三区电影院 | 西西444www大胆高清图片 | 最新高清无码专区 | 日韩精品一区二区三区在线播放 | 日韩精品一区二区三区免费观看 | 色黄久久久久久 | 亚洲性视频| 九九九热 | 国产一区免费在线观看 | 亚洲人成精品久久久久 | 91视频免费国产 | 黄色毛片视频 | 九九热精品视频在线观看 | 深夜免费小视频 | 欧美日韩三级 | 成人在线播放视频 | 伊人丁香| 日韩精品中字 | 高潮毛片无遮挡高清免费 | 丝袜美女在线 | 亚洲天堂精品 | 最近高清中文字幕在线国语5 | 99久久er热在这里只有精品66 |