Linux操做系統的引導過程

  計算機的存儲器分爲硬盤(海量存儲器)和內存(主存儲器),內存又分ROM和RAM兩部分。算法

  ROM內有兩個程序:boot 和 BIOS網絡

1. 開機時,系統加載BIOS,並透過BIOS加載CMOS,由CMOS內的設定取得主機的各硬件信息,而後BIOS進行自檢ide


2. BIOS經過硬件的INT 13中端功能來讀取MBR,由MBR加載bootloader。ui

bootloader的主要功能:(bootloader能夠安裝在文件系統的根分區和磁盤的MBR上面)
加密

   a. 提供選項:用於多重引導;           b. 載入系統內核;           c. 轉交其餘的bootloaderspa


3. bootloader加載內核,內核被解壓縮在內存當中,並藉由內核的功能來驅動各硬件設備。操作系統

   kernel的主要工做:server

   a. 硬件探測;         b. 驅動程序初始化;       c. 以只讀方式加載根文件系統;     d.啓動init進程進程

   kernel啓動時候的全部信息在/var/log/demesg圖片

   boot所在的位置不能是lvm,也不能是raid(軟),最可能是raid1,MBR的前446字節沒有多餘的地方加載其餘的          

   驅動程序,不然內核就沒法被加載。


4. 啓動init進程,init讀取/etc/inittab配置文件,而且根據配置文件的內容來完成一系列的任務。


5. 執行/etc/rc.d/rc.local,這裏面主要是用戶自定義開機啓動程序的放置位置。

  開機過程當中用到的配置文件

  /etc/modprobe.conf

  /etc/sysconfig/*

  這裏面主要的配置文件有:

  authconfig:提供身份認證機制,是否使用/etc/passwd,/etc/shadow來提供身份認證,

  /etc/shadow採用何種加密算法(默認MD5),是否還有其餘的身份認證方式NIS,LDAP等

  clock:設定系統的時區

  i18n:設定使用的語系

  network:設定網絡信息


關於MBR

  MBR(Main Boot Record 主引導記錄區) 位於整個硬盤的0磁道0柱面1扇區,其內包含最基本的引導加載程序  

 (Bootloader),這個Bootloader的目的是在加載內核文件。在總共512字節的主引導扇區中,MBR佔用了446個  

  字節,另外的64個字節交給了DPT(Disk Partition Table硬盤分區表),最後兩個字節「55,AA」是分區的結束標

  志。這個總體構成了硬盤的主引導扇區。主引導記錄在硬盤上找到可引導分區,將其分區引導記錄裝入內存,並將  

  控制權交給分區引導記錄,由分區引導記錄定位根目錄,而後裝入操做系統。


BIOS 和 MBR都是硬件自己會支持的功能。


關於bootloader

  因爲MBR只有512字節,分區表佔去64個字節,還有兩個字節的校驗位,只剩下446個字節,這446個字節可以存

  放下bootloader嗎?其實bootloader

  加載須要兩個階段

  第一階段:加載bootloader的最小主程序

  第二階段:加載bootloader的配置文件

  [root@server30 ~]# ls -l /boot/grub/

  total 234

  -rw-r--r-- 1 root root     63 Aug  6 17:04 device.map          grub的裝置對應文件

  -rw-r--r-- 1 root root   7584 Aug  6 17:04 e2fs_stage1_5         ext2/ext3文件系統支持

  -rw-r--r-- 1 root root   7456 Aug  6 17:04 fat_stage1_5          fat支持

  -rw-r--r-- 1 root root   6720 Aug  6 17:04 ffs_stage1_5          ffs支持

  -rw------- 1 root root    812 Aug  6 09:07 grub.conf           grub配置文件

  -rw-r--r-- 1 root root   6720 Aug  6 17:04 iso9660_stage1_5         光盤支持

  -rw-r--r-- 1 root root   8192 Aug  6 17:04 jfs_stage1_5          jfs支持

  lrwxrwxrwx 1 root root     11 Aug  6 17:04 menu.lst -> ./grub.conf

  -rw-r--r-- 1 root root   6880 Aug  6 17:04 minix_stage1_5         mini文件系統支持

  -rw-r--r-- 1 root root   9248 Aug  6 17:04 reiserfs_stage1_5         reiserfs文件系統支持

  -rw-r--r-- 1 root root  32428 Jan  5  2007 splash.xpm.gz         開機圖片

  -rw-r--r-- 1 root root    512 Aug  6 17:04 stage1          第一階段說明

  -rw-r--r-- 1 root root 104988 Aug  6 17:04 stage2          第二階段說明

  -rw-r--r-- 1 root root   7072 Aug  6 17:04 ufs2_stage1_5         ufs文件系統支持

  -rw-r--r-- 1 root root   6272 Aug  6 17:04 vstafs_stage1_5         vstafs支持

  -rw-r--r-- 1 root root   8904 Aug  6 17:04 xfs_stage1_5         xfs支持


關於GRUB,grub.conf

  default=0  開機使用哪一個title,默認第一個

  timeout=5  5s延遲後不選擇title的話默認使用第一個title進系統

  splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz  開機圖片,(640*480 14bit色,要保存爲xpm而且用gzip壓縮一下)

  hiddenmenu 隱藏titile

  title Red Hat Enterprise Linux Server (2.6.18-164.el5) title名稱

  root (hd0,0) 這裏是第一塊磁盤的第一個分區,grub認爲全部的磁盤都是hd設備,而且磁盤號和分區號都從0開始

  kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet 內核名稱以及放置位置,root指定根目錄,  

  rhgb顯示爲彩色

  quiet,對kernel偵測到的信息不顯示輸出

  initrd /initrd-2.6.18-164.el5.img  initrd的名稱以及放置位置


  grub加密grub-md5-crypt

  在hiddenmenu下面寫入

  password --md5 密文


  誤操做grub損壞

  1,進入grub命令模式root(hd0,0);setup (hd0);quite

  2,grub-install --root-directory=/(此處的目錄爲boot的父目錄)/dev/sda


  dd if=/dev/sda of=/backup/mbr bs=512 count=1 備份MRB

  dd if=/dev/zero of=/dev/sda bs=512 count=1 銷燬MBR,會刪除磁盤上面的全部分區信息以及bootloader

相關文章
相關標籤/搜索