3

是否可以从 USB 磁盘挂载 ISO 映像并在启动时将其用作文件系统(使用 grub)?我问它是因为我想将内核 linux 映像和一个用作文件系统(使用 fedora 引导程序)的 ISO 放入 USB 磁盘(不创建新分区等),就像使用 Qemu 可以做到的那样, 例如。

4

2 回答 2

1

Qemu 是一个虚拟化/仿真环境。Grub 是一个引导加载程序,旨在将内核加载到内存中并开始执行。这两个程序都与您的问题没有直接关系,尽管您当然可以使用 Qemu 来执行使用 Grub 启动 Linux 来执行您想要的操作的 VM。

现代 Linux 发行版创建一个initrd,引导加载程序将其放入内存中,供内核用作其初始根文件系统。initrd 执行诸如加载访问真正根文件系统所在的硬盘所需的模块之类的事情。在您的情况下,您应该让 initrd 找到您的 ISO,挂载它,并将其用作根。

initrd 的内容因您使用的发行版而异。我会从某个地方抓取一个 livecd,用 转储它的 initrd 内容zcat /boot/initrd-2.6.whatever.img | cpio -id,然后检查它在做什么。查找init文件,这将是内核运行的第一个用户空间进程。

于 2011-03-21T22:46:09.143 回答
0

Grub 的环回功能应该允许您从 ISO 映像中引导内核和 initrd。不幸的是,没有办法让内核将环回设备挂载为根文件系统,所以我认为你不走运。

于 2011-03-22T17:25:03.307 回答