grub
修复与
grub.conf
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
设定这个分区为开机活动
本文出自 “征服自己” 博客,谢绝转载!