Chinaunix首页 | 论坛 | 博客
  • 博客访问: 610955
  • 博文数量: 244
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-27 09:53
个人简介

记录学习,记录成长

文章分类

全部博文(244)

我的朋友

分类: LINUX

2015-07-25 22:11:49

1.正常的grub.conf文件内容
[root@localhost grub]# cat grub.conf 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=6
splashimage=(hd0,0)/grub/linux2.xpm.gz
#hiddenmenu
title liwei's Linux
        root (hd0,0)
        kernel /vmlinuz-2.6.32-358.el6.i686 ro root=UUID=eafb2027-525e-4a4d-8df7-f7123a9fe637 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-358.el6.i686.img

一些配置:
[root@localhost grub]# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda2     ext4     18G  6.0G   11G  36% /
tmpfs        tmpfs    504M   72K  504M   1% /dev/shm
/dev/sda1     ext4    291M   32M  245M  12% /boot
这里我事先把root所在的设备的卷标号设置了一下,以后要用到
[root@localhost grub]# e2label    /dev/sda2    /
[root@localhost grub]# blkid /dev/sda2
/dev/sda2: LABEL="/" UUID="eafb2027-525e-4a4d-8df7-f7123a9fe637" TYPE="ext4" 

2.模拟grub.conf 文件丢失(事先备份一下)
[root@localhost grub]# ll | grep grub.conf 
-rw-------  1 root root    749 Jul 25 06:32 grub.conf
lrwxrwxrwx. 1 root root     11 Mar 14 06:55 menu.lst -> ./grub.conf
[root@localhost grub]# cp grub.conf /root/
[root@localhost grub]# rm grub.conf 
rm: remove regular file `grub.conf'? y
[root@localhost grub]# ll | grep grub.conf
lrwxrwxrwx. 1 root root     11 Mar 14 06:55 menu.lst -> ./grub.conf    #这里是闪烁的,说明文件已经没了
3.关机重启后开始进行文件恢复
文件恢复时,下面的操作都是临时写入内存的,不会保存到grub.conf文件中,而且此时开机后不会进入系统,只有grub>界面
(1)首先要知道包括内核等引导文件所在分区的位置,可以通过输入root  ()然后按下TAB键,它会告诉你大概在哪(我的大概是在hd0,hd1和,hd2)中,然后输入root(hd0,)再按TAB键会显示hd0下可用的项(0x82是swap分区,可以不试了,不过一般都在hd0,0中),回车键确认出现途中所示即可;

(2)第一步完成后,输入kernel /vmlinuz-按下TAB键,如果出现内核信息就说明第一步对了,如果什么也没出现就重启接着第一步的内容试,直到出现为止。完整的输入是kernel   /vmlinuz-2.6.32-358.el6.i686  ro  root=LABEL=/   rhgb  quiet
这里:
ro --- 只读
rhgb --- redhat graphics boot 就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后dmesg也可以看到。
quiet --- 表示在启动过程中只有重要信息显示,类似硬件自检的消息不显示
而且root后要跟上根分区文件所在位置,我用的是卷标,网上也有人试了/dev/sda2不过我试了不行,所以只好用卷标LABEL了,当然也可以用UUID号,出现图示内容即可;

(3)完成上述两步后输入initrd   /init按下TAB键出现图示内容即可

(4)最后都无误后输入boot让系统重启,然后即可进入系统了,如果出现图示内容,说明出错误了,需要重新做;


(5)进入系统后在/boot/grub目录中可以新建一个grub.conf文件(注意文件格式),也可以拿别人的grub.conf文件来改一下放到这个目录都行;
这样问题就解决了

阅读(1177) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~