centos7新特性3
MBR 分區的前 446 個字節存放的是系統引導程序 grub,中間 64 字節是分區表,最後 2 個字 節表示結束。
系統開機都經歷了什麽?
1、BIOS 自檢,檢查硬件;
2、激活 MBR,MBR 上不存在文件系統,可以視作硬件一部分,因此可以被直接讀取
3、grub 加載到內存,生成一個微系統,微系統內置了精簡版的文件系統
4、通過這個微系統,他會去引導分區,比如默認一般是 sda1 上去找內核文件如 vmlinuz,然 後再調用 grub 的配置文件。
grub 的主要把他的配置文件放在了 3 個地方
/boot/grub2/grub.cfg (/etc/grub2.cfg 是/boot/grub2/grub.cfg 文件的符號鏈接) /etc/grub.d/
/etc/default/grub
1. 修改系統啟動的等待時間
默認為5秒,修改/etc/default/grub文件
修改完成之後重新編譯生成grub.cfg文件
2. 加密grub(明文)
修改/etc/grub.d/00_herder文件末尾
Cat <<EOF
Set superusres=’用戶名’
Password 用戶名 密碼
EOF
重新編譯生成grub.cfg
重啟之後輸入e,輸入用戶和密碼
加密grub(密文)
命令:grub2-mkpasswd-pbkdf2
進入/etc/grub.d/00_header
cat <<EOF
set superusers=”用戶名”
passwd_pbkdf2 用戶名
EOF (EOF為定義名稱,可隨意起名)
重新編譯生成grub.cfg文件
grub2-mkconfig -o /boot/grub2/grub.cfg
(在終端模式下,需安裝gpm工具來復制粘貼)
3. 修改root密碼
(1.)重啟系統時按e進入單用戶模式
在linux16這行末尾添加rd.break console=tty0,ctrl+x重啟
Mount –o remount,rw /sysroot
Chroot /sysroot
Passwd 設置密碼
touch /.autorelabel
exit
exit
(2.)方法二
在linux16這行刪除rhgb quiet,然後添加init=/bin/sh
Ctrl+x
Passwd 密碼
touch /.autorelabel
exec /sbin/init
4. grub故障
1.(mbr故障)
模擬mbr故障:dd if=/dev/zero of=/dev/sda bs=1 count=446
完成之後系統提示,因為系統默認從本地啟動,然後是光盤,最後是pxe網絡啟動,這個提示就是網絡啟動
掛載光盤,選擇光盤啟動
選擇Troubleshooting(排錯)模式,選擇rescue a contos 7.0,選擇1(continue)
重新安裝grub2分區,
grub2-install /dev/sda
重啟之後就ok了
2.(boot分區故障)
模擬故障(刪除boot分區內的所有文件)
重啟進入GRUB救援模式: grub rescue>
掛載光盤,從光盤啟動,查看boot分區,沒有任何文件
切換根目錄Chroot /mnt/sysimage,掛載光盤mount /dev/cdrom /media
RPM重新安裝kernel,需加(—force),強制安裝
安裝完內核之後,重新安裝grub2,
Grub2-install /dev/sda
Grub2-mkconfig –o /boot/grub2/grub.cfg
重啟系統就OK!!
centos7新特性3