将预编译的 GRUB 2 安装到原始映像

Posted

技术标签:

【中文标题】将预编译的 GRUB 2 安装到原始映像【英文标题】:Install precompiled GRUB 2 to raw image 【发布时间】:2016-03-27 16:46:21 【问题描述】:

我有一个 ext4 映像文件,它想用作 qemu 的磁盘映像。我想给它安装 GRUB。经过一番研究,我发现了以下命令:

创建大小为 5 GB 的图像:

qemu-img create hd.img 5G

将其安装为循环设备:

sudo mount -o loop hd.img /mnt

安装 GRUB 到它:

sudo grub-install --root-directory=/mnt --no-floppy --recheck /dev/loop0

qemu 系统应该是 x86 系统。这就是问题所在:我不在 i386 上,也没有在我的主机系统上安装 GRUB。所以我正在寻找一个预编译版本的 GRUB 2,我可以将它复制到图像的文件系统中。有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

当然,如果您正在使用(例如)Debian,那么您已经拥有 grub 目标组件的每个架构/平台的软件包 - 在 x86 的情况下:

grub-efi-amd64 grub-efi-ia32 grub-pc

如果从源代码构建,只需在配置行中指定--target=<TARGET>,在您的情况下,目标是i386-pci386-efix86_64-efi

通过将--target=<TARGET> 传递给grub-install 进行安装。

【讨论】:

以上是关于将预编译的 GRUB 2 安装到原始映像的主要内容,如果未能解决你的问题,请参考以下文章

将预编译的 .NET 代码作为 Azure 函数执行

如何将预编译的二进制文件与电子捆绑在一起

在调试模式下尝试将预编译头文件与 VS2010 (VC100) 一起使用时,如何消除错误 C2859?

如何将预建库添加到 VC++ 解决方案?

verilog之预编译

Android Studio外部本机构建预编译头