我怎样才能安全地删除额外的 GRUB 安装?

我怎样才能安全地删除额外的 GRUB 安装?

我使用的是 Macbook Pro 6.2。我安装了 Ubuntu 12.04,它运行良好。我重新调整了分区大小(为 Linux 腾出更多空间),当然也弄乱了 GRUB。这没问题。我纠正了这个问题,但经过多次尝试和错误。因为 Mac 有 efi,安装程序尝试安装 grub-efi,这没问题,但我需要 grub-pc(Mac 必须在 BIOS 模式下启动,X 才能正常工作)。

所有这些尝试和错误都让我在多个分区和 MBR 上安装了多个 GRUB。我当前的设置是:

/dev/sda - GRUB /dev/sda1 - (OS X 的 efi 分区) GURB /dev/sda2 - Mac OS X /dev/sda3 - GRUB (也是 Linux 分区)

我需要从 /dev/sda、/dev/sda1 中删除 GRUB,并将其保留在 /dev/sda3 上。

我使用 ReFIT。如何安全地删除 grub 的额外安装,而不会损害 /dev/sda3 上 OS X、refit 或 grub 的安装

答案1

您是否在 rEFIt 中看到多个 Linux 图标?如果没有,我会让它保持原样,因为额外的引导代码不会造成任何损害。但是,如果您看到额外的 Linux 图标,则应首先检查它们是否都未指向您未使用的 EFI 引导加载程序。(检查突出显示条目时 rEFIt 显示的描述;EFI 引导加载程序通常会显示引导加载程序的路径,如EFI/ubuntu/grubx64.efi。)杂散的 EFI 引导加载程序最容易删除,因为它只是磁盘上的一个文件(可能在/dev/sda1,您的 ESP 上)。

如果您确定 rEFIt 中显示了额外的 BIOS /传统引导加载程序,则可以使用 删除不必要的代码dd,如下所示:

sudo dd if=/dev/zero of=/dev/sda2 bs=512 count=1

不过,具体细节取决于您要擦除的内容。应用于 MBR ( /dev/sda),您需要设置bs=440而不是bs=512,以便只擦除 440 字节而不是 512 字节。

此程序是非常危险。错误可能会导致分区甚至整个硬盘无法访问。因此,您应该非常确定你删除的数据是正确的。你没有提供足够的证据让我有足够的信心建议删除任何特定位置。如果你想要更多建议,请发布RESULTS.txt运行生成的文件的链接启动信息脚本。这将生成有关您所安装的引导加载程序的详细分区信息和数据。

还有一条评论:如果您在安装 Ubuntu 12.04 之前确定 Mac 需要在 BIOS 模式下启动才能获得 X 显示,您可能需要重新检查该问题。这些问题往往会随着时间的推移而得到解决,因此 Ubuntu 12.04(或 12.10,如果您愿意再次升级)在这方面可能比您过去尝试过的任何产品都要好。在 EFI 模式下启动将使您能够消除您现在可能正在使用的不稳定的混合 MBR。

相关内容