Ubuntu 9.10:grub2 安装在错误的分区上,无法启动...(MacBook)

Ubuntu 9.10:grub2 安装在错误的分区上,无法启动...(MacBook)

我最近在我的 MacBook 上安装了 Ubuntu 9.10,希望创建一个双启动系统...我使用 rEFIt 来启动。

安装过程非常顺利,直到安装 grub。尝试创建双启动系统,我有几个分区,Ubuntu 没有询问将 grub 放在哪里;它只是选择一个分区并将其放在那里。

过去,Debian 可以在同一个分区中与 grub 和 Debian 很好地配合使用。(不过,Debian、macbook 和驱动程序是高维护的三部曲……)

分区检查器是这样说的:

*** Report for internal hard disk ***

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640    332556807  Mac OS X HFS+
 3      332820480    391414229  EFI System (FAT)
 4      391414230    440242355  Basic Data
 5      440242356    476678383  Basic Data
 6      476678384    488397134  Linux Swap

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2 *       409640    332556807  af  Mac OS X HFS+
 3      332820480    391414229  83  Linux
 4      391414230    440242355  83  Linux

MBR contents:
 Boot Code: Unknown, but bootable

Partition at LBA 40:
 Boot Code: None (Non-system disk message)
 File System: FAT32
 Listed in GPT as partition 1, type EFI System (FAT)

Partition at LBA 409640:
 Boot Code: None
 File System: HFS Extended (HFS+)
 Listed in GPT as partition 2, type Mac OS X HFS+
 Listed in MBR as partition 2, type af  Mac OS X HFS+, active

Partition at LBA 332820480:
 Boot Code: None
 File System: ext3
 Listed in GPT as partition 3, type EFI System (FAT)
 Listed in MBR as partition 3, type 83  Linux

Partition at LBA 391414230:
 Boot Code: None
 File System: ext3
 Listed in GPT as partition 4, type Basic Data
 Listed in MBR as partition 4, type 83  Linux

Partition at LBA 440242356:
 Boot Code: None (Non-system disk message)
 File System: FAT32
 Listed in GPT as partition 5, type Basic Data

Partition at LBA 476678384:
 Boot Code: None
 File System: Unknown
 Listed in GPT as partition 6, type Linux Swap

我很确定 grub 被放在了 GPT #3 中。我希望它位于 GPT #4 中,Ubuntu 也位于那里。我该如何移动它,即执行旧的卸载/安装?

LiveUSB?LiveCD?我在终端里该写些什么……?

干杯!

答案1

有一个很好的Grub 2 指南在 Ubuntu 论坛上;这是我在最近的 Grub2 冒险. 这是另一个很好的 Grub2 指南以及 Ubuntu 的Grub2 维基页面

  1. 您可以通过覆盖 Grub 写入该分区的引导扇区的引导代码来“卸载”该分区中的 Grub。理想情况下,您应该备份 Grub 安装到该分区之前的内容。我认为 Grub 不会为您创建此备份,因此如果您想要那里有某些特定的东西(Grub 除外),则需要另一个工具来提供它。

    如果您愿意,您可以完全卸载 Grub 包,然后重新安装(我怀疑这没有必要)。要从 LiveCD 系统执行此操作,您需要chroot进入您要修复的系统。

    # chroot (assumes you've mounted the partition to fix to /mnt)
    sudo mount --bind /dev /mnt/dev
    sudo chroot /mnt
    
    # backup!
    cp /etc/default/grub /etc/default/grub.old
    cp -R /etc/grub.d /etc/grub.d.old
    cp -R /boot/grub /boot/grub.old
    
    # purge
    apt-get purge grub2 grub-pc
    
    # reinstall
    apt-get install grub2 grub-pc
    
    # grub install -- make sure /dev/sda is the right drive!!
    grub-install /dev/sda4
    update-grub
    


    如果一切顺利,您可以退出chroot,卸载您的文件系统(首先是 /mnt/dev),然后重新启动。

  2. 如果你需要做的只是将 Grub 安装到正确的分区,那么真的您需要做的是启动 LiveCD/LiveUSB,挂载系统分区,检查系统/boot/grub是否正确设置,然后运行grub-setup。如果您需要重新配置 Grub 菜单或执行其他步骤,请使用chroot按照前面描述的步骤操作。

    假设您已启动 LiveCD 并将系统驱动器安装到/mnt。检查 是否/mnt/boot/grub存在,并包含正确的文件(一堆*.mod文件、一些.img文件和grub.cfg)。如果是,请运行此命令(不是chroot):

    # install grub to partition boot sector on sda4
    #    this assumes the partition table you show is on /dev/sda
    #    make sure path & device are correct !!!
    sudo grub-setup -d /mnt/boot/grub /dev/sda4
    


    (来源:从 Live CD 重新安装 GRUB 2(不使用 chroot)

相关内容