系統啟動流程 grub

grub

CentOS 6啟動流程:

POST —> Boot Sequence(BIOS) —> Boot Loader —>
Kernel(ramdisk) —> rootfs —> switchroot —> /sbin/init
—>(/etc/inittab, /etc/init/*.conf) —> 設定默認運行級別 —>
系統初始化腳本rc.sysinit —> 關閉或啟動對應級別的服務 —> 啟動終端

grub: GRand Unified Bootloader

grub 0.x: grub legacy
grub 1.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) 為菜單提供了保護機制

為編輯啟動菜單進行認證
為啟用內核或操作系統進行認證

grub的命令行接口

help: 獲取幫助列表

help KEYWORD: 詳細幫助信息

find (hd#,#)/PATH/TO/SOMEFILE:

root (hd#,#) 設置下一啟動設備所在位置(設置grub的根設備)

kernel /PATH/TO/KERNEL_FILE: 設定本次啟動時用到的內核文件;額外還可添加許多內核支持使用的命令行參數
   例如:max_loop=100 selinux=0 init=/path/to/init

initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的內核提供額外文件ramdisk(必須與內核完全匹配);

boot: 引導啟動選定的內

cat /proc/cmdline  內核參數
內核參數文檔:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt

手動在grub命令行接口啟動系統:

grub > root (hd#,#) 設置grub根的設備所在位置

(hd#,#)
hd#: 磁盤編號,用數字表示;從0開始編號
#: 分區編號,用數字表示; 從0開始編號
(hd0,0) 第一塊硬盤,第一個分區

grub > kernel /vmlinuz-VERSION-RELEASE roroot=/dev/DEVICE 內核文件所在位置
grub > initrd /initramfs-VERSION-RELEASE.img 設置內核的ramdisk文件
grub > boot
系統啟動流程 grub

grub配置文件 grub.conf

系統啟動流程 grub
系統啟動流程 grub

default=#?。? 設定默認啟動的菜單項;落單項(title)編號從0開始(第0個第1個。。。。)
timeout=#?。骸≈付ú藛雾椀却x項等待用戶選擇的時長
splashimage=(hd#,#)/PATH/TO/XPM_FILE : 菜單背景圖片文件路徑
hiddenmenu?。骸‰[藏菜單
password [—md5] STRING :  啟動菜單編輯認證
title TITLE : 定義菜單項“標題”, 可出現多次,用來引導不同的內核和操作系統

root (hd#,#)?。骸rub查找stage2及kernel文件所在設備分區;為grub“根”
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]?。骸拥膬群?br />initrd /PATH/TO/INITRAMFS_FILE :  內核匹配的ramfs文件
password [—md5] STRING :  啟動選定的內核或操作系統時進行認證

grub加密

grub-md5-crypt命令

系統啟動流程 grub

系統啟動流程 grub

破解root口令:

啟動系統時,設置其運行級別1

centos 6 進入單用戶模式:

(1) 編輯grub菜單(選定要編輯的title,而后使用e命令);
(2) 在選定的kernel后附加1, s, S或single都可以;
(3) 在kernel所在行,鍵入“b”命令

系統啟動流程 grub
系統啟動流程 grub
系統啟動流程 grub

centos 7進入單用戶模式

系統啟動流程 grub

系統啟動流程 grub
系統啟動流程 grub

以上方法對于centos 6也適用

說白了進入單用戶也就是讓系統的第一個啟動程序不運行init程序,而是運行 /bin/bash

安裝grub:

(1) grub-install
   安裝grub stage1和stage1_5到/dev/DISK磁盤上,并
   復制GRUB相關文件到 DIR/boot目錄下
   grub-install —root-directory=DIR /dev/DISK
   grub-install表示修復grub的各個階段,此選項表示要指定boot這個目錄在哪,如果是 / 的話可以不寫

(2) 進入系統自帶的 grub 程序 (直接運行grub)
   grub> root (hd#,#)
   grub> setup (hd#)

系統啟動流程 grub

系統啟動流程 grub

系統啟動流程 grub

系統啟動流程 grub
系統啟動流程 grub
系統啟動流程 grub

系統啟動流程 grub

原創文章,作者:qzx,如若轉載,請注明出處:http://www.www58058.com/46914

(0)
qzxqzx
上一篇 2016-09-16
下一篇 2016-09-16

相關推薦

欧美性久久久久