如何重新激活 GRUB 并更改其配置

一般而言,应从启动加载器的用户指南上查阅正确的操作方法。Acronis 网站上也提供了相关的知识库文章。

以下是在系统磁盘(卷)恢复至同一硬件时如何重新激活 GRUB 的例子。

  1. 启动 Linux 或从可启动媒体启动,然后按 CTRL+ALT+F2。
  2. 加载当前恢复的系统:

    mkdir /mnt/system/
    mount -t ext3 /dev/sda2 /mnt/system/ # root partition
    mount -t ext3 /dev/sda1 /mnt/system/boot/ # boot partition

  3. procdev 文件系统加载到当前恢复的系统:

    mount -t proc none /mnt/system/proc/
    mount -o bind /dev/ /mnt/system/dev/

  4. 运行以下命令之一,保存 GRUB 菜单文件的副本:

    cp /mnt/system/boot/grub/menu.lst /mnt/system/boot/grub/menu.lst.backup

    cp /mnt/system/boot/grub/grub.conf /mnt/system/boot/grub/grub.conf.backup

  5. 编辑 /mnt/system/boot/grub/menu.lst 文件(用于 Debian、Ubuntu 和 SUSE Linux 发行版本)或 /mnt/system/boot/grub/grub.conf 文件(用于 Fedora 和 Red Hat Enterprise Linux 发行版本),举例如下:

    vi /mnt/system/boot/grub/menu.lst

  6. menu.lst 文件中 (对应 grub.conf),查找与当前恢复的系统对应的菜单项。此菜单项采用以下形式:

    title Red Hat Enterprise Linux Server (2.6.24.4)
    root (hd0,0)
    kernel /vmlinuz-2.6.24.4 ro root=/dev/sda2 rhgb quiet
    initrd /initrd-2.6.24.4.img

    titlerootkernelinitrd 开头的列分别表示:

  7. 编辑文件 /mnt/system/etc/fstab 以更正因为恢复而更改的设备名称。
  8. 运行以下命令之一启动 GRUB shell。

    chroot /mnt/system/ /sbin/grub

    chroot /mnt/system/ /usr/sbin/grub

  9. 指定 GRUB 所在的磁盘,通常是启动或根分区:

    root (hd0,0)

  10. 安装 GRUB。例如,要在第一张磁盘的主启动记录 (MBR) 中安装 GRUB,请运行以下命令:

    setup (hd0)

  11. 退出 GRUB shell:

    退出

  12. 卸载加载的文件系统然后重启:

    umount /mnt/system/dev/
    umount /mnt/system/proc/
    umount /mnt/system/boot/
    umount /mnt/system/
    reboot

  13. 使用 Linux 发行版本的工具或文档重新配置启动加载器。例如,在 Debian 和 Ubuntu 中,您可能需要编辑 /boot/grub/menu.lst 文件中的某些注释行,然后运行 update-grub 脚本;否则更改将不起作用。