【发布时间】:2011-03-23 01:25:03
【问题描述】:
是否可以从 USB 磁盘挂载 ISO 映像并在启动时将其用作文件系统(使用 grub)?我问它是因为我想将内核 linux 映像和用作文件系统(使用 fedora 引导程序)的 ISO 放入 USB 磁盘(不创建新分区等),就像使用 Qemu 可以做到的那样,例如。
【问题讨论】:
标签: linux filesystems linux-kernel boot
是否可以从 USB 磁盘挂载 ISO 映像并在启动时将其用作文件系统(使用 grub)?我问它是因为我想将内核 linux 映像和用作文件系统(使用 fedora 引导程序)的 ISO 放入 USB 磁盘(不创建新分区等),就像使用 Qemu 可以做到的那样,例如。
【问题讨论】:
标签: linux filesystems linux-kernel boot
Qemu 是一个虚拟化/仿真环境。 Grub 是一个引导加载程序,旨在将内核加载到内存中并开始执行。这两个程序都与您的问题没有直接关系,尽管您当然可以使用 Qemu 来执行使用 Grub 启动 Linux 来执行您想要的操作的 VM。
现代 Linux 发行版创建一个 initrd,引导加载程序将其放入内存中,供内核用作其初始根文件系统。 initrd 执行诸如加载访问真正根文件系统所在的硬盘所需的模块之类的事情。在你的情况下,你应该看看让 initrd 找到你的 ISO,挂载它,并将它用作根。
initrd 的内容因您使用的发行版而异。我会从某个地方抓取一个 livecd,将其 initrd 的内容转储为 zcat /boot/initrd-2.6.whatever.img | cpio -id,然后查看它在做什么。查找init 文件,这将是内核运行的第一个用户空间进程。
【讨论】:
Grub 的环回功能应该允许您从 ISO 映像中引导内核和 initrd。不幸的是,没有办法让内核将环回设备挂载为根文件系统,所以我认为你不走运。
【讨论】: