計算機的存儲器分爲硬盤(海量存儲器)和內存(主存儲器),內存又分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