(1) MBR分区的前446个字节存放的是系统引导程序grub,中间64字节是分区表,最后2个字节表示结束。 (2) Grub的主要把他的配置文件放在了3个地方 /boot/grub2/grub.cfg (/etc/grub2.cfg 是/boot/grub2/grub.cfg 文件的符号链接) /etc/grub.d/ /etc/default/grub (grub.d 目录里面有很多数字开头的脚本,按照从小到大的顺序执行的。以00_header为例,他又调用/etc/default/grub配置文件来实现基本开机界面配置) 1.配置开机等待时间:修改/etc/default/grub文件中的GRUB_TIMEOUT=5 这一参数,保存退出 运行grub2-mkconfig –o /boot/grub2/grub.cfg命令重新编译生成grub文件。重启验证是否正确。 修改启动的等待时间(默认启动等待时间为5秒) 修改之后重编译生成grub.cfg文件 2.更改grub密码:方法一 明文密码 修改/etc/grub.d/00_header 在最后一行加上 cat <<EOF(EOF可以随便设置) set superusers=‘admin’ password admin 123456 EOF 保存退出 运行grub2-mkconfig –o /boot/gurb2/grub.cfg 重新编辑生成grub.cfg文件 方法二 密文密码 先运行grub2-mkpassword_pbkdf2 输入新密码pwd123。将生成的密文密码从password is 后复制 修改/etc/grub.d/00_header文件 将原先选的password admin pwd@123这一行改为password_pbkdf2 admin 粘贴复制的密文密码,保存退出。 运行grub2-mkconfig –o /boot/grub2/grub.cfg重新编译grub文件。 3.更改root密码:方法一 开机按e进入编辑模式,在linux16 这一行末尾加上rd.break console=tty0 然后按ctrl+x 启动。重新挂载文件系统 mount –o remount,rw /sysroot 切换文件系统 chroot /sysroot 输入新密码: echo “pwd@123” | passwd --stdin root 创建一个隐藏文件 touch /.autorelabel 方法二 同理开机按e进入编辑模式 删除linux16行末尾的 rhgb quiet 添加init=/bin/sh ctrl+x 直接mount –o remount,rw / 输入新密码: echo “123456” | passwd --stdin root 创建一个隐藏文件 touch /.autorelabel 使用exec /sbin/init 退出 4.修复grub (1)模拟MBR文件前446字节故障dd if=/dev/zero of=/dev/sda bs=1 count=446 插入系统光盘选择Troubleshooting然后选择Rescue a Centos System。 按1使用coutinue 使用chroot /mnt/sysimage 切换根系统文件 grub2-install /dev/sda exit exit (2)模拟/boot文件损坏 cd /boot rm -rf * reboot 开机进入光盘启动(不同的服务器进入bios方法不一样,虚拟机直接在电源选项中选择开机进入固件),在bios选项卡的boot选项中选择光盘启动,然后以同样的方法进入修复模式 chroot /mnt/sysimage mount /dev/cdrom /media rpm -ivh kernel-3.10.0 ……… --force(--force强制安装) grub2-install /dev/sda grub2-mkconfig -o /boot/grub2/grub.cfg 重新编译grub文件 exit exit
开机选择Troubleshooting 在选择Boot from local drive 开机完成/boot修复