Linux 引導流程課程大綱『 #1 Linux引導流程 #2 Linux運行層級 #3 Linux啟動服務管理 #4 GRUB配置與應用 #5 啟動故障分析與解決』系統引導流程 『 韌體 firmware(CMOS/BIOS) → POST 加電自檢 ↓ [CMOS是固化在主板上的那段程式, BIOS 操作CMOS的那個介面] 自舉程式 BootLoader(GRUB) → 載入核心 linux-grub /etc/grub.conf / win-ntldr [nt核心代號,loader] bootini [裡面記載了啟動資訊] ↓ 載入核心,OS的核心-核心[儲存CPU檔案進程...管理]-心臟大腦 指定linux核心存放的位置。ls /boot 載入核心 Kernel → 驅動硬體 ↓ [核心只做兩件事情,1驅動硬體2啟動init. 核心儲存最多的是驅動程式] 啟動進程 init ↓ [init是第一個可以存在和啟動的進程] 讀取執行設定檔/etc/inittab ---------------- 說明1 : firmware自檢之後,發現硬體們都沒有什麼問題之後,然後firmware讀取MBR[主引導記錄],位於0柱面0磁頭1扇區, 跳到Master boot record去讀取資料。載入MBR中一個很重要的資料叫做Bootloader,也稱做自舉程式或自啟動程式 下面是 Partition table 磁碟分割表,下面是 Magic Number 結束標誌字 說明2 : Linux核心是一個原始碼檔案,解包之後發現是一堆原始碼檔案,Linux沒有編譯的核心。自己下載你可以編譯升級核心。 說明3 :init啟動後讀取inittab檔案,執行預設運行層級,從而繼續引導過程。在UNIX系統中,init時第一個可 以存在的進程,它的PID恒為1,但它也必須向一個更進階的功能負責:PID為0的核心調度器(Kernelscheduler),從而獲得CPU時間。 擴充 : 在Linux裡面不允許存在 孤兒進程,在linux系統中init是所有進程的父進程。 殭屍進程[Z] 兒子死了,父親不知道,這個子進程就會變成 Z。 說明4, 相關Apache服務的檔案 .conf, config的縮寫。 有的叫做~tab. table縮寫。 inittab [ubuntu下沒有,但是貌似可以自己建立一個!] windows按F8,類似 runlevel [2,3 NFS網路檔案系統 sun開發的一個服務,可以實現 unix和unix的檔案分享權限設定,不好udp..] 0 關機 1 字元單使用者 2,3字元介面的多使用者模式[廣泛使用的伺服器的模式] 4 自訂 5 圖形化的多使用者 6 reboot』常用韌體設定 『 安全設定 可引導介質列表 可引導介質搜尋順序 電源管理 啟動細節顯示 ......』 firmware 裡面有一個硬體時鐘 OS 有一個軟體時鐘 要定期同步 #1 Linux 如何同步 #date #hwclock #hwclock --help 選項 hctosys systohc 如果兩者都錯誤,那麼 --set 選項可以設定你的硬體時鐘,軟體同理。