通过 USB 上的旧式 Grub 启动链式启动安装在 32GB SD 卡上的 Ubuntu

通过 USB 上的旧式 Grub 启动链式启动安装在 32GB SD 卡上的 Ubuntu

我在 32 GB SD 卡上安装了 Ubuntu(位于 Acer Aspire One 的存储扩展槽中),并在同一个分区中安装了 Grub2。我启动 USB 驱动器上的旧版 Grub,并希望通过从 Grub 链式加载 Grub2 进行启动(内核/initrd 或符号链接启动也可以),但我还没有弄清楚如何从旧版 Grub CLI 执行此操作。此分区的 blkid 输出为 /dev/mmcblk0p1:LABEL="Ubuntu" UUID="7ceb9fa7-238c-4c5d-bb8e-2c655652ddec" TYPE='ext4" / fdisk -lu information 启动指示器 ID 83。

grub.cfg中的相关条目:

搜索--no-floppy--fs-uuid--set-root 7ceb9fa7-238c-4c5d-bb8e-2c655652ddec

linux /boot/vmlinuz-3.5.0-17-generic root=UUID=7ceb9fa7-238c-4c5d-bb8e-2c655652ddec…

initrd /boot/initrd.img-3.5.0-17-generic


我似乎无法在旧版 Grub 中复制此内容。有没有办法让 Grub2 进行链式加载?如何在旧版 Grub 中使用 UUID 设置 root?

我更喜欢从 USB 启动。USB 上的 Grub2(复制安装期间生成的 grub.cfg)是一个选项吗?

答案1

尝试在 Legacy GRUB 的命令行中运行以下命令:

uuid {{device uuid here}}
kernel /boot/grub/core.img
boot

{{device uuid here}} 显然是您的 SD 卡的 UUID。这还假设您的 GRUB2 安装位于 {{sdcard}}/boot/grub。您也可以通过从 Legacy GRUB 进行链式加载来执行此操作:

uuid {{device uuid here}}
chainload +1

无论如何,如果您想从 UUID 启动,请确保您的 Legacy GRUB 是版本 0.97(否则您将无法访问 uuid 命令,这意味着您必须通过设备名称来搜索 SD 卡)。

答案2

我尝试了所有 Grub 版本(Grub4Dos、旧版 Grub 0.97 和 Grub2,其分区中安装了 grub.cfg Ubuntu),但似乎没有一个能够访问安装在我的 Acer Aspire One 存储扩展槽中的 SD 卡。哦,好吧,这是一个有趣的实验。这是 Grub 的问题,而不是 Ubuntu 的问题。

相关内容