实验环境:Red Hat Enterprise Linux (2.6.32-220.e16.x86_64)
一、删除boot分区
二、重启Linux,并插入个光盘,从光盘启动
a.进入BIOS,设置为光盘启动
b.选择救援模式.
如果没有这个选项的可以输入 linux rescue 来进入,
三、恢复设置.
a.这里想说明一下.
rescue模式是有自己的一套Linux程序,全部加在到内存里面.它的这些所有目录都是在内存中生成.
实际的硬盘上的数据都在/mnt/sysimage/目录下面.(这里才是真实的磁盘目录)
b.转换根目录到/mnt/sysimage下面
chroot /mnt/sysimage/
c.在磁盘的根目录下面挂载光盘.
d.配置yum源
e.安装内核
yum reinstall kernel
安装完成后可以看到/boot分区下已经有内核文件了.
f.安装grub.
grub-install /dev/sda # 这个/dev/sda 磁盘是你boot所在的磁盘
安装完成后可以看在/boot下面有一个grub文件夹
g.进入grub文件夹,配置grub.conf文件
如果/和/boot在同一个分区则kernel要写成,kernel /boot/vmlinuz-2.XXXXXXXX.
如果/和/boot不在同一个分区就跟图片上一样.
可以通过/etc/fstab来判断.
这里说明一下配置参数的含义
default (默认的操作系统就是由default控制的.需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一 个软驱是fd0)
timeout (timeout表示默认等待的时间,就是开机时等待那个画面的时间)
splashimage (指定开机画面文件splash.xpm.gz的位置)
hiddenmenu (隐藏 GRUB 引导菜单.如果不想在启动时显示 GRUB 引导菜单,则删除此条目)
title (引导条目的名称)
root(hd0,0) (这里的 root不是linux里面的root用户,这个 root表示grub分区.hd0,0表示第一块硬盘的第一个分区)
kernel (里面的vmlinuz.xxxx就是系统内核及boot命令用到的参数.就是刚刚用yum安装的那个文件了.文件名一样就行了. ro代表 readonly . 这里的UUID就是磁盘的唯一标示符了)
查询磁盘的UUID的方法 > 输入blkid
这里的UUID要写/dev/sda2的uuid号.uuid要为 / 所在的磁盘.因为根目录是在sda2下面的.
initrd 系统引导程序了
4.退出chroot,并重启
exit
reboot