解决Linux Grub启动问题

简介:

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图形界面恢复。





      本文转自glying 51CTO博客,原文链接:,http://blog.51cto.com/liying/967696如需转载请自行联系原作者





相关文章
|
安全 Linux Windows
Linux科普扫盲系列(Linux启动安装U盘的制作)
Linux科普扫盲系列(Linux启动安装U盘的制作)
670 0
Linux科普扫盲系列(Linux启动安装U盘的制作)
|
Linux
Linux系统无法启动问题及解决方案(/etc/fstab文件损坏,GRUB文件损坏)
Linux系统无法启动问题及解决方案(/etc/fstab文件损坏,GRUB文件损坏)
509 0
|
NoSQL Linux Redis
Linux系统Redis安装教程-附带后台启动
Linux系统Redis安装教程-附带后台启动
Linux系统Redis安装教程-附带后台启动
|
存储 NoSQL Linux
Linux 系统中的安装启动和连接 | 学习笔记
快速学习 Linux 系统中的安装启动和连接
94 0
Linux 系统中的安装启动和连接 | 学习笔记
|
Linux Windows
双系统删除Linux进入Grub无法启动Windows的解决方案
双系统删除Linux进入Grub无法启动Windows的解决方案
|
Java Linux Shell
Linux下启动java程序的通用脚本
Linux下启动java程序的通用脚本
357 0
|
安全 Linux
linux 安装Elasticsearchhe和kibana以及启动遇到的错误解决(已成功运行)
linux 安装Elasticsearchhe和kibana以及启动遇到的错误解决(已成功运行)
302 0
|
存储 NoSQL Linux
【Redis】简介、linux下安装启动、性能测试工具redis-benchmark
【Redis】简介、linux下安装启动、性能测试工具redis-benchmark
【Redis】简介、linux下安装启动、性能测试工具redis-benchmark
|
应用服务中间件 Linux nginx
【Linux系列】Linux启动nginx
1,首先找到nginx的安装目录 which nginx 会找到对应的目录,如图 2,查看进程是否存在 ps -ef|grep nginx 3,杀死进程 kill -QUIT 1282 强制停止 kill -9 1282 4,进入到nginx 的sbin 目录,启动nginx cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload 4,但是上面这个..
124 0
【Linux系列】Linux启动nginx
|
NoSQL Linux Redis
关于redis-server服务启动之后,无法再输入Linux命令的问题!
关于redis-server服务启动之后,无法再输入Linux命令的问题!
136 0
关于redis-server服务启动之后,无法再输入Linux命令的问题!