ไม่มีรายการอย่างเป็นทางการรายการทั่วไปถูกรวบรวมเป็นเคอร์เนลด้วยตนเองส่วนอื่น ๆ สามารถแยกวิเคราะห์ได้โดยส่วนขยายเคอร์เนล นี่คือรายการที่ฉันได้พบจนถึง
ตัวเลือกการบูตทั่วไป:
-v
: ทำการบูทระบบในโหมด Verbose เสมอโดยไม่จำเป็นต้องกดค้างCMD- Vเมื่อเริ่มต้น
-x
: บู๊ตระบบเข้าสู่Safe Mode เสมอโดยไม่จำเป็นต้องหยุดShiftทำงานเมื่อเริ่มต้นระบบ
f
: เซฟโหมดเก่า
-s
: บูตเครื่องเข้าสู่โหมดผู้ใช้คนเดียวโดยไม่จำเป็นต้องกดค้างCMD- Sเมื่อเริ่มต้น
-F
- ละเว้นไฟล์บู๊ต
iog
(เช่นiog=0x0
)
นี่เป็นการย้อนกลับโหมด "Clamshell" สำหรับระบบแล็ปท็อปของ Apple ซึ่งเมื่อคุณปิดจอแสดงผล แต่เชื่อมต่อระบบกับจอภาพภายนอกและแป้นพิมพ์ระบบจะยังคงทำงานอยู่ หลังจากรันคำสั่งนี้เมื่อเชื่อมต่อจอภาพภายนอกจอแสดงผลภายในจะถูกปิดการใช้งานซึ่งอาจเป็นประโยชน์ในบางสถานการณ์เช่นที่คุณกำลังทำมิเรอร์เดสก์ท็อปของคุณ แต่ต้องการรันจอแสดงผลภายนอกที่ความละเอียดสูงกว่าแล็ปท็อปของคุณ . CNET
arch
เปลี่ยนวิธีที่ระบบบู๊ตไม่ว่าจะเป็นเคอร์เนลแบบ 32- บิต ( i386
) หรือ 64- บิต ( x86_64
) โปรดทราบว่าส่วนขยายเคอร์เนลของบุคคลที่สามอาจเป็นแบบ 32 บิตหรือ 64 บิตเท่านั้น
Graphics Mode
: ขนาดโหมดกราฟิก VESA
Text Mode
: ขนาดโหมดข้อความ VGA
Boot Graphics
: กราฟิกหรือโหมดข้อความ
Quiet Boot
: Bootmode ที่เงียบสงบ
MKext Cache
: ไฟล์แคช Mkext
Kernel Cache
: ไฟล์ Kernel Cache
rd
: อุปกรณ์รูท
boot-uuid
: Boot UUID
platform
: ผู้เชี่ยวชาญแพลตฟอร์ม {ACPI}
config
: โหลด plist การตั้งค่าอื่น (เช่นconfig=foobar
จะโหลด/Library/Preferences/SystemConfiguration/foobar.plist
แทนcom.apple.Boot.plist
) x86osx
serverperfmode=1
บน OS X El Capitan 10.11 และใหม่กว่าสิ่งนี้จะเปิดใช้งานโหมดประสิทธิภาพเพื่ออุทิศทรัพยากรระบบเพิ่มเติมสำหรับแอปพลิเคชันเซิร์ฟเวอร์
DTrace:
dtrace_dof_mode
: ตั้งค่าโหมด DTrace DOF {0/1/2/3}
DisableFBT
: ปิดใช้งาน FBT {1}
IgnoreFBTBlacklist
: ละเว้นบัญชีดำของโมดูลสำคัญบางตัว {1}
BSD:
-b
: อย่าเรียกใช้ /etc/rc.boot
-l
: การบันทึกการรั่วไหลของหน่วยความจำ ( osfmk/kern/startup.c
)
srv
: บูตเป็นเซิร์ฟเวอร์ {1}
ncl
: จำนวนกลุ่ม
nbuf
: จำนวนบัฟเฟอร์สำหรับ BSD
kmem
: การเข้าถึงหน่วยความจำเคอร์เนล {1}
trace
: ขนาดบัฟเฟอร์การติดตามเคอร์เนล
msgbuf
: บัฟเฟอร์ข้อความ
rp
: รูทพา ธ
mcache_flags
: แฟล็กแคชหน่วยความจำ
mbuf_debug
: MBuf Debug {1}
initmcl
: กลุ่ม mbuf เริ่มต้น
socket_debug
: Socket debug (สุทธิ)
net_affinity
: Net Affinity (สุทธิ)
rte_debug
: debug เส้นทาง (สุทธิ) {flag}
-rwroot_hack
: เมานต์รูทอ่าน / เขียน
IOKit:
mseg
: ส่วนสูงสุด
dart
: ลบผู้ทำแผนที่ออก
io
: IO Kit Debug
Mach:
keepsyms
: ห้ามถอดการแปล KLD / ที่อยู่ - สัญลักษณ์ {1}
debug
: เคอร์เนลดีบัก {flag} (เช่นdebug=0x14e
)
เปิดใช้งานคุณสมบัติการดีบักเคอร์เนลที่จะแสดงข้อมูลเพิ่มเติมให้คุณ เช่น
0x01
- หยุดที่เวลาบูตและรอให้ตัวดีบั๊กแนบมา
0x02
- ส่งเอาต์พุตการดีบักเคอร์เนลไปที่คอนโซล
0x04
- ดร็อปเข้าดีบักเกอร์บนอินเทอร์รัปต์ที่ห้ามใช้
0x08
- ส่งข้อมูลการดีบักเคอร์เนลไปยังพอร์ตอนุกรม
0x10
- ทำให้ ddb เป็นดีบักเกอร์เริ่มต้น
0x20
- ข้อมูลการวิเคราะห์เอาต์พุตไปยังบันทึกระบบ
0x40
- อนุญาตให้ดีบักเกอร์ไปที่ ARP และเส้นทาง
0x80
- รองรับ gdb รุ่นเก่าในระบบที่ใหม่กว่า
0x100
- ปิดการใช้งานหน้าจอข้อความโต้ตอบแบบตื่นตระหนกแบบกราฟิก
nvram_paniclog
: กำหนด paniclog ให้กับ NVRAM {1}
pmsafe_debug
: ใส่ CPU ในโหมดพลังงาน "ปลอดภัย" {1}
preempt
: ตั้งค่าอัตราการจองเริ่มต้น
unsafe
: ควอนตัมที่ไม่ปลอดภัยสูงสุด
poll
: ควอนตัมสำรวจสูงสุด
yield
: กำหนดการกะผลการสำรวจความคิดเห็น
idlehalt
: หยุดเธรดที่ไม่ทำงานเพื่อให้ cpu เข้าสู่โหมด lowpower {1}
panic_io_port
: ในตื่นตระหนกอ่านจากพอร์ต I / O นี้ {0x0 ถึง 0xffff}
_fpu
: จำกัด คุณสมบัติ cpu เวลาบูต {387 / mmx / sse}
disable high mem/2
: ชอบ mem สูง ๆ }
immediate_NMI
: บังคับใช้ดีบักเกอร์ NMI ทันที {1}
-legacy
: โหมดบังคับ 32 บิตที่สืบทอดมา
lcks
: สถิติการล็อค
novmx
: ไม่มีการจำลอง altivec ใน Rosetta {1}
max_valid_dma_addr
: ที่อยู่ DMA สูงสุดที่ถูกต้อง
maxbouncepool
: ขนาดสระตีกลับสูงสุด
maxloreserve
: สำรองสูงสุดต่ำสุด
npvhash
: แฮชการแมปทางกายภาพและเสมือน
wpkernel
: เขียนการป้องกันเคอร์เนล {1}
-no_shared_cr3
: ปิดใช้งานพื้นที่ที่อยู่เคอร์เนลที่ใช้ร่วมกันสำหรับผู้ใช้ 64 บิต
-pmap_trace
: เปิดใช้งานการติดตามเคอร์เนลสำหรับ pmap
_panicd_ip
: IP ของเซิร์ฟเวอร์ panic
_router_ip
: IP ของเราเตอร์
panicd_port
: พอร์ตของเซิร์ฟเวอร์ panic
-zc
: การตรวจสอบองค์ประกอบโซนฟรี
mtxspin
: Mutex หมุน (ppc)
vmmforce
: แรง VMM (ppc)
fn
: Force nap (ppc) (acpi) {0/1/2}
pmsx
: โหมด stepper การจัดการพลังงานแบบทดลอง (ppc) {1}
ctrc
: ตั้งค่าการติดตามเป็น cpu เฉพาะ (ppc)
tb
: ขนาดบัฟเฟอร์การติดตามที่ไม่เป็นค่าเริ่มต้น (ppc)
wcte
: เปิดใช้งานการเขียนตัวจับเวลารวม (ppc)
mcklog
: ล้างธงตรวจสอบเครื่อง (ppc)
mcksoft
: การกู้คืนซอฟต์แวร์ตรวจสอบเครื่อง (ppc)
ht_shift
: ขนาดตารางแฮชที่ไม่ใช่ค่าเริ่มต้น (ppc) {1}
zsize
: ขนาดของโซนเป้าหมาย
colors
: ตั้งค่าสีของ VM
fill
: เติมหน้า
serialbaud
: ตั้งอัตรารับส่งข้อมูลแบบอนุกรม
ตัวเลือกการบูตจากxnu/osfmk/i386/i386_init.c
:
diag
: เอาต์พุตการวิเคราะห์
serial
: คอนโซลการวินิจฉัยแบบอนุกรม รองรับคีย์บอร์ดอนุกรมและ / หรือคอนโซล
maxmem
หน่วยความจำสูงสุดที่ใช้ มัน จำกัด หน่วยความจำที่แอดเดรสได้ตามจำนวนที่ระบุ (เช่นmaxmem=32
)
cpus=1
จำกัด จำนวนตัวประมวลผลที่ใช้งานอยู่ในระบบให้อยู่ในระดับที่กำหนดไว้ สิ่งนี้อาจช่วยรักษาพลังงานไม่น่าจะมีประโยชน์สำหรับสิ่งอื่นมากนอกจากคุณจะทดสอบและตั้งโปรแกรม
himemory_mode
มันถูกใช้เพื่อดีบักการกำหนดค่าหน่วยความจำฟิสิคัลขนาดใหญ่สำหรับระบบ 4GB โหมด: 0 - ทุกหน้าพร้อมใช้งาน 1 - ปิดใช้งาน high mem, 2 - ต้องการ high mem
immediate_NMI
แก้ไขข้อผิดพลาดรองรับระบบมากกว่า 4GB โดยบังคับให้ดีบักเกอร์ NMI ทันที
urgency_notification_abstime
อื่น ๆ :
bluetoothHostControllerSwitchBehavior
( never
/ always
)
บอกคนขับรถบลูทู ธ ได้ว่าจะสลับไปดองเกิลที่คุณเสียบ. เพื่อให้ dongle ภายนอกเริ่มต้นแม้หลังจากรีบูต, always
การใช้งาน
smbios
: Verbose SMBIOS (AppleSMBIOS.kext) {1}
acpi
: แก้ไขข้อบกพร่อง AppleACPIP แพลตฟอร์ม {1-8}
acpi_level
: ACPI Debug Level
acpi_layer
: ACPI Debug Layer
acpi_sleep
: ACPI Sleep
nvdebug
: NVDAResman ดีบัก
nvrm
: NVDAResman
ndrv_debug_level
: ระดับการดีบัก NDRV (NVDAResman)
pstep
: Power Step Debug (ACPI_SMC)
hpet
: AppleHPET
busratio
(เช่นbusratio=20
): มันใช้ i7 CPU ใน 10.5.6 หลังจาก 10.5.7 มันไม่จำเป็นต้องx86osx
ที่มา: อาร์กิวเมนต์ xnu-1228 / Boot
การใช้
ตัวอย่างเช่นเมื่อคุณอยู่ในโหมด Single ( CMD- Sหลังจากเสียงเมื่อเริ่มต้น) เมื่อต้องการเรียกใช้ในเซฟโหมดและ verbosely ด้วยผลลัพธ์เพิ่มเติมเคอร์เนลดีบักไปยังคอนโซลลอง:
sudo nvram boot-args="-x -v debug=0x14e"
หากต้องการเพิ่มอาร์กิวเมนต์ลงในที่มีอยู่ (โดยไม่ต้องลบล้าง) ให้ลอง:
sudo nvram boot-args="-v $(nvram boot-args 2>/dev/null | cut -f 2-)"
ในการลบอาร์กิวเมนต์การบู๊ตให้รัน:
sudo nvram boot-args=""
sudo nvram -d boot-args
พารามิเตอร์ที่ไม่เป็นทางการอื่น ๆ สามารถพบได้ในkernel
ไบนารีมันเองเช่น
$ strings /System/Library/Kernels/kernel | grep -C7 maxmem
kernel_early_bootstrap
diag
serial
Serial mode specified: %08X
PE_init_printf
version_variant = %s
version = %s
maxmem
himemory_mode
himemory_mode: %d
immediate_NMI
urgency_notification_abstime
i386_vm_init
power_management_init
machine_startup
หรือตรวจสอบอย่างใดอย่างหนึ่งในไฟล์ต้นฉบับของ Appleหรือบน GitHub โดยค้นหาPE_parse_boot_argn
(ซึ่งใช้ในการวิเคราะห์อาร์กิวเมนต์การบูตเคอร์เนล)