Linux啓動過程

Linux啓動過程,對於系統出現問題,沒法正常開機,瞭解系統開機過程仍是有用的,可能寫的不夠全面,歡迎你們補充~shell


BIOS程序讀取用戶的設置,來引導相應的設備,如硬盤,BIOS讀取硬盤的第一個扇區MBR區域,在此會讀取到硬盤的分區表,將控制權交給MRR內的引導程序,MBR內的引導程序只是指向Linux的boot load(GRUB),GRUB啓動後會讀取本身的配置文件/boot/grub/grub.conf,根據配置文件,加載相應的內核,驅動硬件,內核沒法驅動根所在的分區,全部不能正確引導系統,只能依靠initrd(一些驅動程序),將initrd映像到內存會生成僞根,以提供根所在分區的驅動程序,以只讀的方式來掛着根,而後再到/lib/modules調用模塊進行驅動,內核接下來內核會啓動第一個進程init,因此init的進程的pid是1(init會成爲失去父進程的子進程的父進程及進入各個特殊級別),系統初始化,(加載網絡等)根據init的配置文件(etc/inittab)去執行/etc/rc.d/rc*.d目錄下的腳步,中止或啓動相關服務,最後執行/etc/rc.d/rc.locat(這裏能夠放本身想開機執行的命令或腳本),最後啓動多個終端(shell)等待用戶下達指令。網絡

相關文章
相關標籤/搜索