grub2(实际上是 burg)无法看到 GPT 外部硬盘上的分区

grub2(实际上是 burg)无法看到 GPT 外部硬盘上的分区

我发现了一个 sata 驱动器、一个半坏的硬盘电源和一根 esata 电缆,所以我决定在其上安装 Arch。

所以我有带有 MBR 和 grub2 (burg) 的 sda,然后还有另一个 hdd (下面)。Burg 安装在 Ubuntu 12.10 下。

该驱动器已使用 GPT 格式化。以下是 parted 的输出:

(parted) print                                                            
Model: ATA MAXTOR STM316081 (scsi)
Disk /dev/sdd: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  3146kB  2097kB                     bios_grub
 2      3146kB  21,5GB  21,5GB  ext4
 3      21,5GB  160GB   139GB   ext4

在 Arch 安装过程中,grub legacy 告诉我 GPT 驱动器需要一个 2MB 的分区(上面的分区 1)。它似乎没有文件系统,所以我无法挂载它。

现在我试图从 grub2 链式加载 Arch 的 grub,因为我无法真正让 os-prober 正常工作。

这是 burg.cfg 中的 grub2 菜单项:

menuentry "Arch Linux (esata hdd, usually /dev/sdd)" --class arch --class os {
    insmod ext2
    set root='(hd3,2)'
    set OS_Boot_config='/boot/grub/grub.cfg'
    multiboot /boot/grub/i386-pc/core.img
}

这里的第一个问题是,就 grub2 而言,(hd3,2) 不存在。ls在 grub2 控制台中给出(hd0,msdos1) (hd2) (hd3)。换句话说,grub2 看不到 sdd 上的分区。我该怎么办?

第二个问题是 grub legacy 声称已将 core.img 安装到分区 1(没有文件系统)。我不知道如何安装它,所以我使用根分区中的 core.img。我不知道这是否正确,我应该更改它吗?

答案1

已修复,原因很愚蠢。您需要该行insmod part_gpt以便它识别 GPT。我从未在互联网上任何地方见过这种情况。

相关内容