修复 grub2 引导程序

最近升级安装了 debian 6,不料因为对 grub2 不太了解,一次操作失误,致使 grub2 发生致命错误,无法引导系统。好在经过一番胡乱折腾,总算是修复了引导程序。现在记录如下,以备后用。

简单情况:250G 硬盘,分成3个主分区,分别是

  • /dev/sda1 (hd0,0),Windows C 系统盘
  • /dev/sda2 (hd0,1),Windows D 数据盘
  • /dev/sda3 (hd0,2),Windows E 数据盘

然后是5个逻辑分区。分别安装了:

  • /dev/sda5 (hd0,4),Ubuntu 10.10
  • /dev/sda6 (hd0,5),Fedora 14
  • /dev/sda7 (hd0,6),openSUSE 11.3
  • /dev/sda8 (hd0,7),Debian 6
  • /dev/sda9 (hd0,8),Swap 交换分区

原来一直是用 /dev/sda5 的 Ubuntu 10.10 的 grub2 作为引导程序,升级安装 Debian 6 以后,覆盖了原来的 grub2。Debian 6 也采用了最新的 grub2 引导技术,不过奇怪的是,在安装 Debian 6 生成 grub2 菜单的时候,Debian 可以扫描出其它的全部系统,唯独它派生的 Ubuntu 无法识别!只好在安装完毕以后,自己手动修改 Debian 的 grub2 引导程序。结果这一修改出了毛病。

grub2 已经无法再通过直接修改 /boot/grub/menu.lst 文件来修改启动菜单了,/boot/grub/ 目录下倒是有一个 grub.cfg 文件可以直接修改,不过一般是不建议直接修改这个文件的。需要修改的是 /etc/grub.d/ 目录下的文件。也怪自己事先没查清楚资料,胡乱拿了一文件开刀:/etc/grub.d/40_custom,在文件后面添加了如下指令:

title Ubuntu 10.10
root (hd0,4)
linux /boot/grub/core.img
boot

用过 grub1 引导 grub2 系统的朋友估计对这几句指令比较熟悉呵呵,确实是不伦不类,Debian 6 是用 grub2 引导的,第一条指令,title Ubuntu 10.10 就不对头了,grub2 已经用 menuentry 代替了 title 指令。第二条指令 root (hd0,4) 也不正确,参考 Ubuntu 的启动菜单,grub2 已经使用 (hd0,msdos5) 代换了 (hd0,4);第三,原来用 grub1 引导 grub2 系统的时候,kernel /boot/grub/core.img 这个指令是正确的,不过 grub2 已经使用 linux 代替了 kernel 这个指令,所以这里用 linux /boot/grub/core.img 代替 linux /boot/grub/core.img 倒也不错。

杯具的是运行完些命令以后:

update-grub

然后 reboot,完了,进了 initramfs 黑屏,完全没有了启动菜单,只有一些内置命令,我这种水平如何能对付的了。赶紧找安装光盘,光驱启动,重新修复 grub。偏偏光驱罢工,凡是带 grub2 系统的安装光盘全部读不出来,原来当初买刻录碟不慎,贪便宜,买到的全部是只能读1-2次的光盘!!这些死 JS!!我一边划个圈圈诅咒,一边继续尝试其它的安装光盘。终于读起了张 Fedora 13 的光盘!内心一阵狂喜。好在还装有 Fedora 14 和 openSUSE 这两个操作系统,它们都是 grub1 引导,相对来说比较熟悉。修复其中的一个引导程序,然后再手工修改,引导其它系统吧。

进入 Fedora 13 的 LiveCD 桌面,赶紧打开终端,立马输入期待已久的命令(嘿嘿):

su -
password<直接回车>
grub
W E L C O M E ... (此处省略 N 字节)
root (hd0,5)
setup (hd0)
quit
rebo ...

等会!不要重启先。顺便把错误修改 Debian 引导文件也改回来了吧。

mount /dev/sda8 /mnt/
vi /mnt/etc/grub.d/40_custom
xxxxxxxxx

保存退出,重启,哈哈大功告成。原以为修改掉 Debian 下的 /etc/grub.d/ 文件,就能直接从 Fedora 引导进 Debian,结果还是和原来的一样黑屏。原来没有在 Debian 系统下运行 update-grub 命令之前,对 grub 文件做任何修改都没用!

没办法还是只能手工敲命令吧:

在 grub 引导界面,敲入 c 键进入命令行模式:

root (hd0,7)
kerenl /boot/vmlinuz-2.6.32-5-686 root=/dev/sda8 ro quiet
initrd /boot/initrd.img-2.6.32-5-686
boot

好了,一切正常的话,可以进入 Debian 了,然后再运行 update-grub 修复受伤的 grub 引导程序吧。这次教训是:一张安装光盘在手是不可或缺的,或许还应该考虑 USB 启动器做备用,现在的光驱和刻录碟太不靠谱了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Grub2是一种常用的系统引导程序,可以用于修复Linux系统的引导问题。修复Grub2引导问题的方法包括使用Live CD或USB启动系统,进入恢复模式,使用命令行工具修复Grub2配置文件等。具体操作步骤可以参考相关的教程或手册。 ### 回答2: GRUB2是一种通用的启动加载程序,可让您引导多个操作系统。如果您的Linux系统无法引导,您可以使用GRUB2进行修复,以便重新访问系统。下面是使用GRUB2修复系统引导Linux的步骤: 第一步:准备LiveCD 下载适用于您的Linux版本的LiveCD,将其烧录到USB闪存驱动器或CD / DVD上,并引导到它。建议选择与您的系统相同的LiveCD版本,以避免不必要的问题。 第二步:打开终端并安装GRUB2 打开LiveCD终端,并使用包管理器安装GRUB2。具体方法取决于您的Linux发行版,但通常是通过包管理器在终端输入命令。 例如,在DebianUbuntu上,您可以运行以下命令: sudo apt-get update sudo apt-get install grub2 在Fedora或Red Hat Enterprise Linux上,您可以运行以下命令: sudo yum install grub2 第三步:获取系统磁盘信息 使用以下命令来获取系统磁盘信息: sudo fdisk -l 请注意,此密令需要root访问权限。 此命令将显示您系统上所有可用的磁盘设备。请记录下您要修复的磁盘分区设备的名称,例如/dev/sda2。 第四步:修复GRUB2引导终端输入以下命令来重新安装GRUB2引导: sudo grub-install /dev/sda 请注意,此处的设备名称应该是您要修复的磁盘分区设备名称。 接下来,您需要更新GRUB2配置文件,以确保其与您的系统完全兼容。 输入以下命令来更新GRUB2配置文件: sudo update-grub2 完成后,退出终端,将LiveCD移除并重新启动系统。您的系统现在应该可以正常引导Linux操作系统。 总之,GRUB2是一种可靠的工具,可以稳定地修复和管理系统引导。无论您是初学者还是有经验的用户,使用这个工具来修复系统引导是非常方便的。 ### 回答3: GRUB2是Linux系统的一款引导程序,它的主要功能是在计算机启动时加载操作系统,并为用户提供多个操作系统的选择,它对Linux系统的正常运行起着至关重要的作用。然而,在一些特殊情况下,GRUB2可能会出现故障,导致Linux系统无法正常引导,这时需要进行修复。 首先,我们需要准备一张Linux LiveCD。将LiveCD插入电脑,进入LiveCD环境。打开终端,输入命令sudo fdisk -l,查看Linux磁盘所在的分区号。例如,如下所示: /dev/sda1 * 2048 1026047 1024000 500M 83 Linux /dev/sda2 1026048 5124095 4098048 2G 83 Linux /dev/sda3 5124096 27647999 22523904 10.8G 83 Linux /dev/sda4 27650046 31258143 3608098 1.7G 5 Extended /dev/sda5 27650048 31258143 3608096 1.7G 82 Linux swap / Solaris 可以看到,Linux系统所在的分区为/dev/sda3。接下来,我们需要挂载这个分区: sudo mount /dev/sda3 /mnt 然后,我们需要安装GRUB2: sudo grub-install --boot-directory=/mnt/boot /dev/sda 这里的/boot是Linux系统的引导文件所在的目录,/dev/sda是Linux系统所在的磁盘。执行完上述命令后,我们需要更新GRUB2的配置文件: sudo update-grub 这时,重新启动电脑,就可以看到GRUB2引导程序已经恢复了原有的功能,我们可以正常地进入Linux系统。 需要注意的是,GRUB2修复过程出现任何错误,都可能导致系统无法正常引导,因此在进行修复操作前,请务必备份重要数据并谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值