如何在 U 盘上安装 Grub2?

如何在 U 盘上安装 Grub2?

如何在可启动 USB 记忆棒上安装 Grub2?

我听说 Grub2 可以直接从“.iso”映像启动,因此我希望 Grub2 能够轻松地将多个“liveCD”iso 映像拖放到可启动 USB 记忆棒上并试用它们。

答案1

  1. 在 USB 驱动器上安装 Grub2(用正确的安装点和 USB 设备替换/USBDRIVE和)/dev/sdx

    sudo grub-install --boot-directory=/USBDRIVE/boot /dev/sdx
    
  2. 创建所需目录

    mkdir /USBDRIVE/iso
    mkdir /USBDRIVE/boot/grub/scripts
    
  3. 保存这个自动ISO配置文件/USBDRIVE/boot/grub/scripts目录中的脚本

  4. 在目录中创建一个grub.cfg包含以下内容的文件/USBDRIVE/boot/grub

    configfile /boot/grub/scripts/autoiso.cfg
    

现在您可以将多个“liveCD”iso 映像拖放到isoUSB 记忆棒的目录中并启动它们。支持以下实时系统:

  • 格罗姆
  • 分开的魔法
  • 斯莱克斯
  • 微小核心
  • 乌班图
  • 实时系统环回配置文件

答案2

如果初始化系统将扫描硬盘驱动器设备以及光学媒体设备(似乎是根文件系统),那么您应该能够调整现有的可引导 ISO 映像以在任何硬盘驱动器类型设备(例如 USB 记忆棒)上工作。 Ubuntu 使用 Casper 作为其可启动安装/实时 ISO 映像,并在各处查找它想要挂载的 ISO 文件系统。我已经成功地将它们从普通 ISO 转换为混合 ISO/IMG 文件,该文件可以直接写入 USB 记忆棒,并且仍然可以刻录到 CD 或 DVD。我通过将内核(和内存测试器映像)附加到 ISO(因此它变得更大)来实现这一点,为 stage2 映像分配一个扇区位置,修改 GRUB 源,以便所有扇区都内置(直接在 stage1 中并通过stage2 的构建配置),编译并完成附加 stage2 的映像,并使用 stage1 替换扇区 0。

不过,我是用 GRUB Legacy (v1) 做到的。此后,我已经将可启动项目转移到 SYSLINUX,因此我从未真正研究过 GRUB2 的流程。只要它有办法设置默认值或执行内置配置,或者有办法引用配置文件,这应该是可行的,而无需重建 ISO。

这仅适用于每个 USB 记忆棒一个 ISO 映像。多重是合理的。如果它们共享相同的内核(例如在同一设备上安装 Ubuntu 和 Kubuntu),这可能会很容易。

我不知道有任何拖放工具。我用一个在 root 命令 shell 上运行的脚本构建了我的脚本。我没有将其打包到发布项目中,也从未打算这样做。没有文档,只有“构建”脚本本身的注释,所以你只能靠自己了。请随意下载它以查看我所做的具体细节:http://ubuntu.slashusr.org/iso-for-hd-2010-10-11-225024.tar.gz

我上次使用它为 Ubuntu 11.04 构建映像,您可以查看该脚本的最终产品。他们在http://ubuntu.slashusr.org/11.04/ .map 文件显示扇区布局。

相关内容