grub.conf是系統(tǒng)啟動的一個必須文件匾效,此文件丟失或者破壞將影響系統(tǒng)的啟動楞黄,本文簡單介紹grub.conf文件的基本排錯方式慎玖。
grup.conf文件丟失蜡感,系統(tǒng)啟動的時候找不到內(nèi)核文件
開機會停留在grup> 界面
在系統(tǒng)第一次丟失grub.conf時幸撕,可以復制備份的grup.conf到/boot/grup文件夾薇组,系統(tǒng)即可以正常啟動,系統(tǒng)啟動的時候只需要grup.conf坐儿,其他的文件相當于備份
grub.conf文件介紹
default定義默認啟動的第n個系統(tǒng)
timeout為系統(tǒng)啟動的等待時間
title定義系統(tǒng)在啟動菜單中的主機名
root (hd0,0)指第一個磁盤的第一個扇區(qū)
kernel是系統(tǒng)的內(nèi)核文件
initrd是系統(tǒng)啟動文件
上面定義root為(hd0,0)更為方便
理論上不加(hd0,0)一樣可以啟動
在kernel和initrd后面加不加斜線/都可以啟動
[root@ccui ~]#cat /boot/grub/grub.conf
default=0
timeout=3
title=ccui
root (hd0,0)
kernel=/vmlinuz-2.6.32-696.el6.x86_64 root=/dev/sda2
initrd=/initramfs-2.6.32-696.el6.x86_64.img
initrd必須在kernel之后加載律胀,只有加載內(nèi)核才知道誰才是操作系統(tǒng)的根。
重啟之后卡停貌矿,按esc進入菜單炭菌,按e進入編輯,因為initrd在kernel之前逛漫,所以按d刪除initrd黑低,重新寫在kernel下
刪除后,按o開啟新行酌毡,按e進入編輯克握,寫入initrd /initramfs-2.6........
配置完成,按b啟動
菜單的配置都是臨時更改阔馋,進入系統(tǒng)需要重新配置文件
在grub里加口令
1)在title前加入密碼password
在title添加密碼不影響系統(tǒng)啟動玛荞,不能進單用戶,不能直接修改root密碼呕寝。
在系統(tǒng)啟動時勋眯,按esc進入菜單,按p進入密碼輸入下梢,輸入密碼即可開啟選擇進入單用戶系統(tǒng)客蹋。
2)在title最后一行加入password,選擇這個系統(tǒng)啟動時需輸入密碼孽江。
default=0
timeout=3
password magedu
title=ccui
root (hd0,0)
kernel=/vmlinuz-2.6.32-696.el6.x86_64 root=/dev/sda2
initrd=/initramfs-2.6.32-696.el6.x86_64.img
password --MD5 $1$9I.2U/$79t3pp/jalpFckJPscwBR0
password $6$VqBU0R.XQGI1cYar$ompVZusMGjoey1etIcrF7CUEPdcM4ZSsc88CZQ5soiAR9M23o4DQ/MeMfEt7Vhb.GnRboiMqDERmNZry4MhYg.
設(shè)置加密口令
1)設(shè)置MD5加密
命令grub-md5-crypt
輸入兩次密碼生成MD5
[root@ccui ~]#grub-md5-crypt
Password:
Retype password:
$1$R.z1U/$4d0lAEmHWUj9k0IdHXr6X0
在用vim打開的文件里讶坯,用r!加命令生成MD5
password要定義MD5格式
password --MD5 [生成的MD5]
2)設(shè)置512位加密
password --encrypted [生成的512密碼]
[root@ccui ~]#grub-crypt
Password:
Retype password:
$6$tiFK4NzmK7tKgH9h$4OwM/mfuzBMaH90Kr2CZ3DbgBOxHXxrOX3C59OPtF1zquluWVwif3hWw8fPnBpe0cYCJVOcvzJ4ujiXnUTDiC0
物理機下直接修改root密碼
當開機菜單密碼忘記岗屏,進救援模式修復
先切根 chroot /mnt/sysimage
改口令 vim /etc/shadow
直接清空root的口令
重啟辆琅,空口令直接登錄
破壞sda的頭部文件
hexdump —C -n 512 /dev/sda 查看sda硬盤的512字節(jié)頭部16進制碼
前446字節(jié)與啟動相關(guān),到80 20之前这刷。
模擬破壞 dd if=/dev/zero of=/dev/sda bs=1 cpunt=446
此時硬盤sda與系統(tǒng)啟動的字節(jié)遭到破壞婉烟,系統(tǒng)啟動會卡在菜單界面
修復sda
利用光盤啟動,此時看到的根目錄是偽根:/mnt/sysimage
切根 chroot /mnt/sysimage
執(zhí)行g(shù)rub-install命令暇屋,恢復grub文件似袁,并生成/boot/grub內(nèi)所有文件
exit退出,執(zhí)行兩遍
正常重啟
/boot/grub/文件夾被清空
進入救援模式修復
切根 chroot /mnt/sysimage
復制備份的grub.conf到/boot/grub
復制stage2到grub mv /root/grub/stage2 /boot/grub
sync 同步,兩次
exit 退出昙衅,兩次
grub.conf缺失
grub.conf缺失扬霜,系統(tǒng)卡在2階段,手動添加title下的三行配置
root (hd0,0) root后加空格
kernel /vmlinuz-2.6..... root=/dev/sda2
initrd /initramfs-2.6.......
boot 啟動
因為是臨時輸入而涉,啟動后重新恢復配置文件
意外刪除grub文件夾 rm -rf /bpot/grub/
進入光盤救援
因為刪除grub.conf一樣會卡在grub>,所以要先確定是文件丟失還是文件夾丟失著瓶,
用ls查看文件夾是否存在,如果只是文件丟失婴谱,可以直接復制文件或者手動編寫配置文件蟹但,
編寫臨時文件也可以臨時啟動,進入系統(tǒng)再修復谭羔。
如果grub文件夾不存在執(zhí)行以下操作
先切根 chroot /mnt/sysimage
grub-install /dev/sda 直接修復1华糖、1.5、2階段
現(xiàn)在還缺少grub.conf文件瘟裸,手動寫一個
vim /boot/grub/grub.conf
default=0
timeout=3
title yflinux
root (hd0,0)
kernel /vmlinuz-2.6...... root=/dev/sda
initrd /initramfs-2.6....img
保存
sync
exit 兩次 啟動
刪除boot
如果/boot在掛載客叉,刪除/boot需取消掛載
umount /boot
rm -rf /boot
reboot
界面卡在Error 15
進入光盤救援
/boot文件夾丟失需要修復內(nèi)核,虛擬文件系統(tǒng)话告,grub這三項
先切根
第一步找回內(nèi)核
掛載光盤 mount /dev/sr0 /mnt
查看iso cd /mnt/isolinux
找到vmlinuz文件(比大小兼搏,確認內(nèi)核文件)
內(nèi)核是光盤帶的,裝系統(tǒng)時復制進系統(tǒng)沙郭,是固定不變的
復制內(nèi)核到boot cp /mnt.isolinux/vmlinuz
第二步修復initramfs佛呻,使用mkinitrd命令
mkinitrd /boot/initramfs.img uname -r
用ls查看是否生成
安裝生成grub
grub-install /dev/sda
查看grub文件夾,依然缺失grub.conf
第三步復制或者手寫配置文件
vim /boot/grub/grub.conf
default=0
timeout=3
title yflinux
root (hd0,0)
kernel /vmlinuz-2.6...... root=/dev/sda
initrd /initramfs-2.6....img
保存
sync
exit 兩次 啟動
持續(xù)更新病线,添新補錯......