grub: GRandUnified Bootloader(統一的引導模式分為3個階段)
grub 0.97: grub legacy grub 2.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇區,讓stage1中的bootloader能識別stage2所在的分區上的文件系統 stage2:磁盤分區(/boot/grub/) 配置文件:/boot/grub/grub.conf<--/etc/grub.conf stage2及內核等通常放置于一個基本磁盤分區
? 功用: (1) 提供啟動菜單、并提供交互式接口 a:內核參數 e: 編輯模式,用于編輯菜單 c: 命令模式,交互式接口 (2) 加載用戶選擇的內核或操作系統 允許傳遞參數給內核 可隱藏啟動菜單 (3) 為菜單提供了保護機制 為編輯啟動菜單進行認證 為啟用內核或操作系統進行認證
如何識別硬盤設備 (hd#,#) hd#: 磁盤編號,用數字表示;從0開始編號 #: 分區編號,用數字表示; 從0開始編號 (hd0,0) 第一塊硬盤,第一個分區 grub的命令行接口 help: 獲取幫助列表 help KEYWORD: 詳細幫助信息 find (hd#,#)/PATH/TO/SOMEFILE: root (hd#,#) kernel /PATH/TO/KERNEL_FILE: 設定本次啟動時用到的內核文件;額外還可添加許多內核支持使用的cmdline參數 例如:max_loop=100 selinux=0init=/path/to/init initrd/PATH/TO/INITRAMFS_FILE: 設定為選定的內核提供額外文件的ramdisk boot: 引導啟動選定的內核 手動在grub命令行接口啟動系統 grub> root (hd#,#) grub> kernel /vmlinuz-VERSION-RELEASE roroot=/dev/DEVICE grub> initrd/initramfs-VERSION-RELEASE.img grub> boot grub legacy配置文件 配置文件:/boot/grub/grub.conf default=#: 設定默認啟動的菜單項;落單項(title)編號從0開始 timeout=#:指定菜單項等待選項選擇的時長 splashimage=(hd#,#)/PATH/XPM_FILE:菜單背景圖片文件路徑 hiddenmenu:隱藏菜單 password [--md5] STRING: 啟動菜單編輯認證 title TITLE:定義菜單項“標題”, 可出現多次 root (hd#,#):查找stage2及kernel文件所在設備分區;為grub的根 kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啟動的內核 initrd/PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件 password [--md5|--encrypted ] STRING: 啟動選定的內核或操作系統時進行認證 cat /proc/cmdline 內核參數 內核參數文檔:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt 生成grub口令 grub-md5-crypt grub-crypt 破解root口令: 啟動系統時,設置其運行級別1 進入單用戶模式: (1) 編輯grub菜單(選定要編輯的title,而后使用e命令) (2) 在選定的kernel后附加1, s, S或single都可以 (3) 在kernel所在行,鍵入“b”命令 安裝grub: (1) grub-install 安裝grub stage1和stage1_5到/dev/DISK磁盤上,并復制GRUB相關文件到DIR/boot目錄下 grub-install --root-directory=DIR /dev/DISK (2) grub【安裝時依賴grub下的配置文件】 grub> root (hd#,#) grub> setup (hd#)
原創文章,作者:GYF,如若轉載,請注明出處:http://www.www58058.com/75883