grub mbr initrd boot

mahe0207發表於2014-02-10
 系統啟動流程:
       載入BIOS硬體資訊,取得第一個可啟動裝置的代號;
       讀取第一個啟動裝置內MBR的引導載入程式boot Loader(即grub, spfdisk等程式);
       載入核心,嘗試驅動所有硬體裝置
       核心執行init 程式;
       init執行/etc/rc.d/rc.sysinit檔案;
       啟動核心的外掛模組(/etc/modprobe.conf);
       inti執行執行得各個批處理檔案;
       init執行/etc/rc.d/rc.local檔案;
       執行/bin/login程式,等待使用者登入;
-----------------------------------     

       MBR,全稱為Master Boot Record,即硬碟的主開機記錄。

       硬碟的0柱面、0磁頭、1扇區稱為主引導扇區(也叫主開機記錄MBR)。它由三個部分組成,主載入程式、硬碟分割槽表DPT(Disk Partition table)和硬碟有效標誌(55AA)。
----------------------------------
       每個檔案系統 (filesystem, 或者是 partition) 都會保留一塊啟動磁區 (boot sector) 提供作業系統安裝 boot loader , 而通常作業系統預設都會安裝一份 loader 到他根目錄所在的檔案系統的 boot sector 上。
        boot loader 主要的功能如下:
            提供選單:使用者可以選擇不同的啟動專案,這也是多重啟動的重要功能!
            載入核心檔案:直接指向可啟動的程式區段來開始作業系統;
            轉交其他 loader:將啟動管理功能轉交給其他 loader 負責。
        安裝多重作業系統時MBR常常會被不同的作業系統的boot loader所覆蓋!
        Windows 的 boot loader 預設不具有控制權轉交的功能,因此不能使用Windows的loader來載入 Linux的loader!因此,先裝 Windows 再裝 Linux
------------------------------------
       GUN GRUB(簡稱“GRUB”)是一個來自GNU專案的啟動載入程式。GRUB是多啟動規範的實現,它允許使用者可以在計算機內同時擁有多個作業系統,並在計算機啟動時選擇希望執行的作業系統。GRUB可用於選擇作業系統分割槽上的不同核心,也可用於向這些核心傳遞啟動引數。
       當GRUB環境開始載入引導裝載程式時,根據配置檔案(menu.lst)建立一個要載入的作業系統的選單列表, 然後顯示引導選單介面。 如果配置檔案不能正常讀取,那麼GRUB將載入命令列介面。
       在選單介面上,按[e]鍵,對高亮選單項中的命令進行編輯。按[c]鍵載入一個命令列介面。 新增(加在當前行後面(用[o]鍵),加在當前行前(用[0]鍵),編輯(用[e]鍵),刪除(用[d]鍵)。
在所有的改變都完成後,用[Enter]鍵來執行這些命令,並引導作業系統。[Esc]鍵來放棄
命令列介面
      

       root [開機根目錄 / 所在的磁碟代號]
       kernel [開機檔案的所在地完整檔名] [root=/dev/硬碟代號]      
       initrd 主要用於指明安裝的檔案放在哪個分割槽和哪個目錄中,即在該命令後指定檔案的安裝目錄。

       vmlinuz是可引導的、壓縮的核心。
       initrd.img是一個小的映象,包含一個最小的linux系統。通常的步驟是先啟動核心,然後核心掛載initrd.img,並執行裡面的指令碼來進一步掛載各種各樣的模組,然後發現真正的root分割槽,掛載並執行/sbin/init...。如果沒有initrd.img,核心就試圖直接掛載root分割槽。
       initrd:Initrd ramdisk或者""initrd""是指一個臨時檔案系統,它在啟動階段被 Linux 核心呼叫。initrd主要用於當“根”檔案系統被掛載之前,進行準備工作。
       initrd的最初目的是為了把kernel的啟動分成兩個階段:在kernel中保留最少最基本的啟動程式碼,把對各種各樣硬體裝置的支援以模組的方式放在initrd中,這樣就在啟動過程中可以從initrd所mount的根檔案系統中裝載需要的模組。這樣做好處是在保持kernel不變的情況下,通過修改initrd中的內容就可以靈活的支援不同的硬體。在啟動完成的最後階段,根檔案系統可以重新mount到其他裝置上。

-------------------------------------------------
       每個檔案系統 (filesystem, 或者是 partition) 都會保留一塊啟動磁區 (boot sector) 提供作業系統安裝 boot loader , 而通常作業系統預設都會安裝一份 loader 到他根目錄所在的檔案系統的 boot sector 上。
       boot loader 主要的功能如下:
            提供選單:使用者可以選擇不同的啟動專案,這也是多重啟動的重要功能!
            載入核心檔案:直接指向可啟動的程式區段來開始作業系統;
            轉交其他 loader:將啟動管理功能轉交給其他 loader 負責。
        安裝多重作業系統時MBR常常會被不同的作業系統的boot loader所覆蓋!
        Windows 的 boot loader 預設不具有控制權轉交的功能,不能使用Windows的loader來載入 Linux的loader!因此先裝 Windows 再裝 Linux
-------------------------------------------------
       忘記root密碼的處理
            開機時按空格--&gt長按e--&gt 修改核心 後邊加空格 加1,轉到單使用者模式下,passwd root,reboot
            sudo su -(以當前使用者密碼,切換到root)

       忘記grub引導選單密碼
            BIOS裡設定光碟啟動
            選擇F2進入系統修復 輸入命令:linux rescue(救援模式)    
            chroot /mnt/sysimage 重設了根分割槽的話
            less /boot/grub/grub.conf 檢視password


           設定grub密碼:/boot/grub/grub.conf配置檔案 splashimage的下一行新增password=***,若為MD5加密,新增password --md5 ***
           vmware虛擬機器進入BIOS方法 bios.bootDelay = "3000"(毫秒為單位)  設定啟動畫面延時
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29437301/viewspace-1078865/,如需轉載,請註明出處,否則將追究法律責任。

相關文章