当前位置:操作系统 > Unix/Linux >>

解决LinuxGrub启动问题

1.问题的提出

  笔者的电脑是Windows 2000和Linux双系统,由于前段时间“冲击波”的冲击,笔者决定重装Windows 2000,顺便对分区进行容量调整――合并两个分区,由原来的C、D、E 、F、G调整成了C、D、E、F。

  安装完Windows 2000之后,由于以前安装Linux时选择把Grub装在Linux分区的第一扇区,因此直接在Windows 2000下安装BootMagic8.0建立Linux启动链接(若Grub不是装在Linux分区的第一扇区而是装在MBR中,则须对Grub执行Setup或Install),此时只能进入Grub控制台,进入不了Grub图形界面,启动Linux时需要手动输入命令:

  root(hd0,7)

  kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/

  initrd /boot/initrd-2.4.18-14.imgo

  2.分析解决

  仔细分析,原因应该是合并分区后,Grub配置文件中的(hd0,?)跟现在的分区不能对应,所以不能正常启动。在笔者的电脑中,原Windows分区D、E、F、G在Linux下分别对应hdb5、hdb6、hdb7、hdb8,调整后的D、E、F则对应hdb5、hdb6、hdb7。于是按照前述方法进入Linux,打开/boot/grub/grub.conf文件,内容如下:

  default=0/?默认选项为Red

  Hat Linux

  timeout=10

  /?10秒后进入选

  定项

  splashimage=(hd0,8)/boot/grub/splash.xpm.gz

  /*指定Grub图形

  界面文件

  title Red Hat Linux(2.4.18-14)

  root ?hd0,8?

  kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/

  initrd /boot/initrd-2.4.18-14.img

  title windows

  rootnoverify(hd0,0)

  chainloader +1

  Windows 2000安装在C盘,有关Windows的部分不需要修改;在有关Linux的部分中,将(hd0,8)改成(hd0,7)。

  接着修改Grub的重要的文件stage2。重新启动到Windows 2000下,用explore2fs-1.00-pre4(用Windows访问ETX分区)导出stage2,然后用UltraEdit打开该文件(见图),将其中的(hd0,8)改成(hd0,7),保存退出。

  

  再次进入Linux,用修改后的stage2文件覆盖原文件,重新启动Linux,Grub图形界面恢复

  

上一个:Linux下硬件的自动检测与配置
下一个:文件编辑器vi之使用方法简介

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,