Linux系統的啓動linux
一.啓動步驟和GRUBgit
1.Linux啓動過程分析 shell
(1)BIOS自檢windows
l 硬件檢測及初始化微信
l 引導啓動設備ide
(2)引導啓動設備字體
l 軟盤(0磁道第一個扇區)spa
l 光盤(最外圍存儲軌道)操作系統
l 硬盤(MBR)命令行
l USB存儲設備
(3)調用Linux引導程序至內存中
l Linux的引導程序能夠使用GRUB/LILO等引導軟件
l GRUB/LILO能夠安裝在MBR/引導分區的引導扇區中
(4)運行Linux內核
l 內核放在/boot目錄中,Linux系統能夠同時支持多版本內核
l 解壓縮內核
l 檢測硬件
l 加載root文件系統
(5)執行init進程(按「i」單步運行)
l 啓動新進程或關閉進程
l 選擇啓動模式
l 創建虛擬終端
(6)用戶登陸
l 輸入用戶名及口令
l 加載用戶配置文件
l 加載shell程序
2.引導盤的建立
方法一:安裝過程當中建立
方法二:mkbootdisk
#mkbootdisk --device /dev/fd0 2.4.20-8
方法三:使用dd命令
# dd if=/boot/vmlinuz of=/dev/fd0
3.GRUB
(1)GRUB簡介
GRUB是一種基於intel平臺的功能強大的啓動引導器
(2)GRUB特色
l 支持大硬盤,突破1024柱面的限制
l 支持兩種界面(菜單,命令行)
l 開機畫面
(3)安裝GRUB
l 安裝軟件包
#rpm –ivh grub-0.934.i386.rpm
l 使用安裝命令安裝GRUB到MBR
#grub
grub>root (hdx,y)
grub>setup (hdx[,y])
(4)GRUB的配置
#vi /boot/grub/grub.conf
grub.conf中經常使用的配置命令有:
default=菜單項序號/saved
設置啓動菜單的默認啓動項
hiddenmenu
隱藏菜單界面
splashp_w_picpath =圖像文件全路徑名
指定某文件做爲啓動菜單的背景圖像
timeout=延遲秒數
設置啓動菜單的啓動延時
title 菜單項名稱
開始一個菜單項的配置,設置菜單項的名稱
root (hdx,y)
設置GRUB的根設備爲linux內核所在的分區
kernel 內核文件名稱
指定內核文件的名稱及加載內核所需的參數
initrd initrd文件名
指定鏡像文件的位置
map (hdx[,y]) (hdx[,y])
創建虛擬磁盤
rootnoverify (hdx,y)
指定windows啓動引導器的位置
makeactive
標識指定分區爲活動分區
chainloader +n/文件名稱
調用指定windows啓動文件
password 口令/--md5 口令密文
設置GRUB啓動菜單和菜單項口令
lock
利用password設置的全局口令鎖定菜單項
savedefault
保存當前啓動菜單項爲默認啓動
文件實例:
# grub-md5-crypt(產生口令的MD5密文)
# vi /etc/grub.conf
default=0
timeout=50
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
password --md5 #!dfdasdf34123!#@$!#@
title RedHat Linux 9.0
root (hd0,2)
kernel /Vmlinuz-2.4.20-8 ro root=/LABEL=/
initrd /initrd-2.4.20-8.img
password linux
tile windows 2000
rootnoverify (hd0,0)
chainloader +1
lock
(5)GRUB的FAQ
l 編輯模式的使用
用於臨時修改菜單的選項,在菜單界面中按E鍵進入
菜單主界面
編輯模式
l 命令行模式的使用
利用命令行命令設置GRUB,在菜單界面中按C鍵進入
命令模式
grub命令行中經常使用的命令有:
grub>root (hdx,y) //設置根設備所對應的分區
grub>kernel 內核文件 //設置內核文件的名稱
grub>initrd 鏡像文件名 //設置鏡像文件名
grub>boot //啓動指定操做系統
grub>rootnoveify (hdx,y) //設置根設備所對應的分區,但不檢查加載點
grub>chainloader 文件名//加載指定的文件
grub>help //獲取幫助
grub>reboot //重啓系統
grub>md5-crypt //生成口令的MD5密文
grub>setup (hdx[,y]) //安裝GURB到MBR/指定分區的引導扇區中
grub>hide 分區 //隱藏分區
grub>cat 文件名 //顯示文件內容
grub>find 文件名 //查找文件
l 若是MBR中的GRUB引導程序被其它程序覆蓋,應該如該恢復
1) 放入第一張安裝啓動盤,開始啓動計算機:boot:linux rescue(啓動linux的修復模式,加載硬盤上的LINUX系統到/mnt/sysp_w_picpath)
2) #grub
grub>root (hdx,y)
grub>root (hdx)
l 恢復GRUB的配置文件
因爲grub.conf設置的問題,能夠採用如下方法進行恢復:
1) 放入第一張安裝啓動盤,開始啓動計算機:boot:linux rescue(啓動linux的修復模式)
2)#vi /mnt/sysp_w_picpath/boot/grub/grub.conf
l 如何利用GRUB進入單用戶模式,找回丟失的root用戶口令
在GRUB菜單界面中按e編輯linux菜單項,給內核後面添加參數single
而後回車再按b進單用戶模式、password root就能夠了。
l 如何卸載GRUB
1)#rpm -e grub
2)C:\>fisk/mbr
二.init 進程
1. init進程的做用
init進程是系統啓動第一個進程,它負責加載其它進程、管理系統的其它進程
2. 系統運行級別
運行級別 |
說明 |
0 |
關機 |
1 |
單用戶模式 |
2 |
多用戶模式、不支持NFS |
3 |
多用戶模式 |
4 |
保留 |
5 |
X-WINDOWS |
6 |
重啓 |
能夠使用init在各個運行級別中進行切換,init命令格式以下:
#init <0-6,a,s,q>
3. inittab文件的分析
/etc/inittab文件用於設置init進程在執行時加載哪些程序,inittab文件由若干個記錄構成,每條記錄格式以下:
ID:RUNLEVEL:ACTION:COMMAND
如下爲默認inittab文件內容:
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc0
l1:1:wait:/etc/rc.d/rc1
l2:2:wait:/etc/rc.d/rc2
l3:3:wait:/etc/rc.d/rc3
l4:4:wait:/etc/rc.d/rc4
l5:5:wait:/etc/rc.d/rc5
l6:6:wait:/etc/rc.d/rc6
ca ::ctrlaltdel:/sbin/shutdown -t3 -r now
pf::powerfail:/sbin/shutdown -f -h+2 「power failure;power shutting down」
pr:12345:powerokwait:/sbin/shutdown–c 「power restored;shutdown cancelled」
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm -nodaemon
說明:
(1)Action用於設置調用進程的方式
Respawn |
只要進程中止,該進和便從新啓動 |
Wait |
進程運行一次,init等待到它中止 |
Once |
進程運行一次 |
Boot |
系統引導過程當中,進程運行,忽略等級 |
Bootwait |
系統引導過程當中,進程運行,init等待結束 |
Off |
無任何行動 |
Initdefault |
系統默認運行等級 |
Sysinit |
系統引導則運行,優先於boot或bootwait |
Powerwait |
電源故障後發送信號給init,等待進程終止 |
Ctrlaltdel |
當init收到SIGINT信號時,該進程運行 |
Powerokwait |
UPS恢復則向init發送SIGINT信號 |
(2) 修改/etc/inittab文件,能夠設置默認啓動模式、各運行級別所加載的程序、CTRLALTDEL的動做、開設虛擬用戶終端
4. /etc/rc.d 的目錄內容
(1)/etc/rc.d/init.d目錄
l 保存全部運行等級須要的全部腳本
l 啓動、中止、重啓某些服務
(2)/etc/rc.d/rc
l 系統改變運行等級,經過此腳本檢查/etc/rc.d/rcX.d目錄和文件可存在,以及是否正在運行等,以及運行/etc/rc.d/rcX.d中全部S開頭的腳本
(3)/etc/rc.d/rcX.d目錄
l 存放每一運行等級默認啓動項,該目錄中的文件連接到:/etc/rc.d/init.d
l 文件名格式爲K{Two-digit number} {script name}/S{Two-digit number} {script name},K:以stop參數運行,S:以start參數運行;Two:數字表明執行順序
(4)/etc/rc.d/rc.local
l 該腳本在2,3,5運行等級結束時執行
(5)/etc/rc.d/rc.sysinit
l 系統初始腳本,用於設置系統的時鐘、加載鍵盤、加載系統字體、加載其餘文件系統、激活交換分區、生成日誌文件
三.用戶登陸
1.用戶登陸過程
2.用戶登陸命令
(1)su
功能:切換用戶登陸
格式:#su [參數] [-] [用戶名]
參數:-c 命令 :運行指定的命令
-m :不從新設置環境變量
-s shell路徑 :運行指定的shell
- :連同工做環境一塊兒切換
實例:$su -
#su user1
$su -c /sbin/init 0 root
(2)exit
功能:退出用戶環境(ctrl+d)
格式:#exit
(3)login
功能:登陸系統
格式:#login [參數] [用戶名]
參數:
-p:通知login保持如今的環境參數
-h:用來向遠程登陸的主機傳輸用戶名
實例:#login
(4)logout
功能:退出用戶環境、注消用戶
實例:#logout
(5)sudo
功能:以其它用戶執行指定的命令,默認是以root身份,只有/etc/sudoers文件中指定的用戶有權執行
格式:#sudo [參數] 命令
參數:
-b 在後臺執行指令
-H 將HOME環境變量設爲新身份的HOME環境變量。
-k 結束密碼的有效期限,也就是下次再執行sudo時便須要輸入密碼。
-l 列出目前用戶可執行與沒法執行的指令。
-p 改變詢問密碼的提示符號。
-s 執行指定的shell。
-u<用戶> 以指定的用戶做爲新的身份。若不加上此參數,則預設以root做爲新的身份。
-v 延長密碼有效期限5分鐘。
實例:#sudo /sbin/init 0
說明:/etc/sudoers文件格式爲:user host=[all/nopasswd/run as 用戶名] command lint;其中All表明全部文件,nopasswd表明執行文件時不須要要口令
(6)who
功能:顯示登陸用戶信息
格式:#who [參數]
參數:-l 顯示系統登陸進程
-b 顯示系統最後一次啓動時間
實例:#who
#who -l
(7)w
功能:顯示登陸用戶信息
格式:#w [用戶]
實例:#w
(8)whoami
功能:顯示當前終端登陸的用戶名稱
實例:#whoami
(9)last
功能:顯示最近的用戶登陸狀況
格式:#last [參數]
參數:num 顯示指定終端上的用戶登陸信息
-num 顯示最近n次的用戶登陸信息
-i 顯示登陸主機的IP地址
實例:#last
#last 3
(10)wall
功能:向每一個用戶終端上的用戶發送消息
格式:#wall [參數]
參數:-n 不顯示消息來源
實例:#wall
#wall -n
(11)write
功能:向指定終端的用戶發送消息
格式:#write 用戶名 [終端]
實例:#write user1 tty1
注意:/etc/motd爲公告板文件,用於記錄全部公告信息;/etc/issue爲歡迎信息文件
(12)help
功能:獲取shell內置命令的幫助信息
格式:#help [內置命令名]
實例:#help
#help times
(13)man
功能:打開命令手冊文件
格式:#man [命令名/文件名]
實例:#man su
微信掃一掃 、關注公衆號
不定時分享資料視頻