是否可以从USB磁盘挂载ISO镜像并将其用作引导时的文件系统(使用grub)?我之所以这样问,是因为我想将内核linux镜像和一个ISO用作文件系统(带有fedora bootstrap )放入USB磁盘(不创建新分区等)中,因为可以使用Qemu来做到这一点。 , 例如。

最佳答案

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

现代Linux发行版创建了一个initrd,引导加载程序将其放入内存中,以供内核用作其初始根文件系统。 initrd会执行一些操作,例如加载访问实际根文件系统所在的硬盘所需的模块。在您的情况下,您应该考虑让initrd找到您的ISO,将其挂载,并将其用作根目录。

根据所使用的发行版,initrd的内容会有所不同。我从某个地方抓取了一个livecd,并使用zcat /boot/initrd-2.6.whatever.img | cpio -id转储了它的initrd的内容,并查看它的作用。查找init文件,它将是内核运行的第一个用户空间进程。

07-27 23:46