實驗一為grub設置密碼
-
先看一看grub是怎么樣的
grub有兩個版本
grub: GRand Unified Bootloader
grub 0.x: grub legacy
grub 1.x: grub2
Note:grub 1.x是完全重寫的只不過是保留grub 0.x的工作機制。
2.利用grub自帶命令生成密碼grub-md5-crypt
3.把密碼保存在配置文件:/boot/grub/grub.conf
配置項:
default=#: 設定默認啟動的菜單項;落單項(title)編號從0開始;
timeout=#:指定菜單項等待選項選擇的時長;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片文件路徑;
hiddenmenu:隱藏菜單;
password [–md5] STRING: 菜單編輯認證;
title TITLE:定義菜單項“標題”, 可出現多次;
root (hd#,#):grub查找stage2及kernel文件所在設備分區;為grub的“根”;
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啟動的內核
initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件;
password [–md5] STRING: 啟動選定的內核或操作系統時進行認證;
輸入密碼就會原先還沒設置密碼的grub。
這個要通過grub進行引導進入系統需要的密碼,也是之前在配置文件設置的。
實驗二忘記root的密碼 ,就可以用grub來進行改密碼
這進入單用戶模式進行修改密碼
進入單用戶模式:
(1) 編輯grub菜單(選定要編輯的title,而后使用e命令);
(2) 在選定的kernel后附加
1, s, S或single都可以;
(3) 在kernel所在行,鍵入“b”命令;它就會以root身份直接登入,改密碼就只需要passwd
實驗三.安裝grub和修復grub
已經知道進入單用戶和配置文件,那也得知道這么安裝著個grub。
先對grub進行破壞
grub破壞后,硬盤就沒有識別到,直接識別成光盤。
(1) grub-install
grub-install –root-directory=ROOT /dev/DISK
(2) 采用光盤救援模式
grub
grub> root (hd#,#)
grub> setup (hd#)
是要對網絡接口進行配置,可以選擇no,選擇yes會進入以下界面
這是選擇back,因為本次實驗是對grub修復
選擇continue
這里提示切換/,使用chroot /mnt/syscimage,因為grub啟動是先會進入一個虛擬的根,然后在轉到真實的/
下面就是修復grub
修復完畢。
示例四、制作grub
準備一塊硬盤
可以看到系統已經加入了/dev/sdb
這時候就需要進行分區。我這是已經分好區了已經格式化過
安裝grub并配置文件
在kernel的后面還需加上 selinux=0 init=/bin/bash
分區完畢就需要進行掛載。并創建一個文件系統所需要的文件夾。
為什么只掛載/dev/sdb3 不掛載2和1呢 因為/dev/sdb1是作為grub /dev/sdb2 是swap分區
查看所依賴的庫文件
復制庫文件
這是建立好的grub
總結
GRUB(Boot Loader):
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) 提供菜單、并提供交互式接口
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參數;
例如:init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的內核提供額外文件的ramdisk;
boot: 引導啟動選定的內核;
手動在grub命令行接口啟動系統:
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot
配置文件:/boot/grub/grub.conf
配置項:
default=#: 設定默認啟動的菜單項;落單項(title)編號從0開始;
timeout=#:指定菜單項等待選項選擇的時長;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片文件路徑;
hiddenmenu:隱藏菜單;
password [–md5] STRING: 菜單編輯認證;
title TITLE:定義菜單項“標題”, 可出現多次;
root (hd#,#):grub查找stage2及kernel文件所在設備分區;為grub的“根”;
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啟動的內核
initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件;
password [–md5] STRING: 啟動選定的內核或操作系統時進行認證;
grub-md5-crypt命令
進入單用戶模式:
(1) 編輯grub菜單(選定要編輯的title,而后使用e命令);
(2) 在選定的kernel后附加
1, s, S或single都可以;
(3) 在kernel所在行,鍵入“b”命令;
安裝grub:
(1) grub-install
grub-install –root-directory=ROOT /dev/DISK
(2) grub
grub> root (hd#,#)
grub> setup (hd#)
grub從無到有:1.對硬盤進行分區并格式化 2.進行掛載 3.制作grub 4.生成根文件系統 5.拷貝對應的庫文件 6.從內存中保存一下sync
原創文章,作者:N19_king,如若轉載,請注明出處:http://www.www58058.com/17969