熟悉系統啟動流程對於我們學習linux系統是非常有幫助的,雖然基礎,但能幫助我們更加理解linux系統的工作機制,以下以centos6啟動流程介紹:
mbr(master boot record)引導
mbr記錄一般是在磁碟 0 磁軌 1 扇區,共512個位元組,bios找到並讀取mbr到記憶體中。前446個位元組是bootloder,後 4*16 的 64 個位元組是存放分割槽資訊的,最後 2 個位元組是校驗資訊,一般是 55aa。
grub(grand unified bootloader)
就是mbr中的前446個位元組,它的作用是要選擇要啟動的核心。
模擬啟動問題處理實驗
1階段
1階段出問題症狀:不會進入grub選單,如果沒有掛光碟,就直接黑屏,掛上光碟後,會直接進入安裝選單(因為grub主程式被破壞,檢測以為系統沒有安裝)
我們可以用dd if=/dev/zero of=/dev/sda bs=1 count=446
去破壞mbr中的grub,模擬出1階段錯誤
恢復步驟:
1.5階段
1.5階段模擬破環條件:用dd if=/dev/zero of=/dev/sda bs=1 count=3000 skip=512 seek=512
來將mbr之後的扇區內容刪除一些
恢復步驟同1階段處理流程
2階段
2.1模擬把boot目錄清空:rm -rf /boot/*
chroot /mnt/sysimage
mount /dev/sr0 /media
rpm -ivh /media/packages/kernel-2.6
.32-71.el6.i686.rpm --force
sync
exit
reboot
2.2模擬把grub.conf配置檔案刪除
2.3模擬刪除/etc/fstab檔案 和清空/boot目錄
rm -rf /etc/fstab
rm -rf /boot/*
修復步驟:
一:開機進入救援模式
找到根對應在哪個分割槽(這裡預設為/dev/sda2)
編輯完後,退出重啟進入救援模式,
CentOS 6啟動流程
載入bios的硬體資訊,獲取第乙個啟動裝置 讀取第乙個啟動裝置mbr的引導引導程式 grub 的啟動資訊 載入核心作業系統的核心資訊,核心開始解壓縮,並嘗試驅動所有的硬體裝置 核心執行init程式,並獲取預設的執行資訊 init程式執行 etc rc.d rc.sysinit檔案,重新掛載根檔案系統...
centos6 啟動流程
具體過程 1 載入bios的硬體資訊,執行bios內建程式。2 讀取mbr master boot record 中boot loader中的引導資訊。3 載入核心kernel boot到記憶體中。4 核心開始執行 sbin init,並載入 etc inittab,執行rc.sysinit進行初始...
話說CentOS6的啟動流程
1.按下開機按鈕,電腦的主機板通電,電腦開始加電自檢 post,power on and self test 測試主機的硬體是否滿足開機的要求.2.載入主機板上的bios base input output system,基本輸入輸出系統 bios會載入使用者設定的第乙個可開機裝置.這裡我們只說硬碟...