您的位置:首页 > 运维架构 > Linux

grub修复与grub.conf

2012-04-05 13:22 190 查看
[align=center]grub修复与grub.conf[/align]
grub修复这个问题一般发现在双系统上,也就是说在一台电脑上共存windows操作系统和linux操作系统,由于装系统时先装linux操作系统后装windows系统或者是windows操作系统出问题了,重装windows系统导致无法识别linux操作系统(由于装windows系统时,会直接把磁盘的MBR中的引导程序替换成windows的引导程序,而windows的引导程序无法识别linux操作系统,linux操作系统的引导程序(一般是grub程序)既会识别linux系统,也会识别windows系统),这时就需要grub程序修复。

Grub引导程序执行分为两个部分,stage1和stage2。

stage1是grub程序的主程序,这个程序必须要安装在开机区,一般安装在MBR或者boot sector。这是最小的程序,没有配置文件。

stage2是主引导程序加载的配置文件,一般来说,配置文件存放在/boot下。

用系统光盘启动,进入援救模式。

1.#chroot /mnt/image 使用磁盘上的文件系统中的根为根目录,默认是使用光盘上系统的根目录。

2.1#grub 进入grub shell进行grub的修复

2.2grub>root (hd0,0) 指定核心在哪里,也就是/boot这个目录在哪个分区中。

2.3grub>setup (hd0) 将grub主引导程序安装在MBR上;也可以是setup(hd0,n),安装在某个分区的boot seter上。

2.4grub>kernel /vmlinuz-2.6.18-164.e15 ro root=LABEL rhgb quiet 指定加载的内核。

2.5grub>initrd /initrd-2.6.18-164.e15.img 指定开机过程中需要的仿真驱动。

2.6grub>boot 离开grub shell

grub-install直接安装stage2中的配置文件

3.1#grub-install /dev/had 更新/boot/grub目录中的所有文件(在虚拟机上不能生效)

或者#grub-install –root-directory=/home /dev/hda3 在独立的/dev/hda3的/home目录下生成/boot/grub中所有的文件;可通过ll /home/boot/grub验证。

grub.conf配置文件
default=0 默认加载title中的第一个

timeout=30 加载内核时30秒的倒计时

splashimage=(hd0,0)/grub/splash.xpm.gz 开机时背景图片

#hiddenmenu 是否隐藏菜单

password --md5 $1$osddslaj(用grup-mdt-crypt算出的md5值);开机时要修改菜单,必须提
供密码验证。

title CentOS (2.6.18-92.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790

(vga用来调整tty1~tty6的终端分辨率;用grep “FRAMEBUFFER_CONSOLE”/boot/config—2.6.18-92.e15查看是否支持;CONFIG_FRAMEBUFFER_CONSOLE=y说明支持vga功能

initrd /initrd-2.6.18-92.el5.img

title Windows partition

root(hd0,0) 使用此分区

chainloader +1 指定boot sector

hide (hd0,4) 隐藏 (hd0,4) 这个分区

rootnoverify (hd0,0) 不检查些分区

makeactive 设定这个分区为开机活动
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息