如何选择正确的内核参数从 Linux LiveCD USB 上的文件启动?

如何选择正确的内核参数从 Linux LiveCD USB 上的文件启动?

我想我已经浏览过这个网站上关于此问题的所有帖子,但找不到任何人能解释 grub 传递给 linux 内核的所有那些神秘参数!我想做的是 - 现在纯粹出于教育目的,因为我看到从 .iso 映像启动一切正常且容易 - 将文件从 .iso 文件复制到 USB 记忆棒上的分区,然后使用 grub 命令行(或自定义 grub 菜单)从这些文件启动。

我的设置是这样的:

/sdb - 16gb USB stick
/sdb1 - 1gb FAT32 "General"
/sdb2 - 12gb ext4 "Archive" (files to share between linux distros)
/sdb5 - 1.5gb ext4 "UbuntuLive"
/sdb6 - 1.5gb ext4 "FedoraLive"
/sdb7 - 1gb ext4 "PuppyLive"

我使用安装了 grub sudo grub-install --force --no-floppy --root-directory=/media/General /dev/sdb- 没有任何问题。然后我在 Ubuntu 中挂载了每个“Live”分区,并将每个相应 .iso 文件中的文件提取到其分区中,因此现在每个分区都镜像了一个 .iso 文件。我重新启动后,发现只需在出现的 grub 命令行中输入以下内容,就可以启动 Puppy linux:

set root=(hd0,msdos7)
linux /vmlinuz
initrd initrd.gz
boot

但是,当我尝试对 Ubuntu 或 Fedora 执行相同操作(不带任何参数)时,我得到了不同程度的内核恐慌。当我尝试在其 grub.cfg 中附加实际安装使用的参数时,我得到了不同的错误(通常是 ubuntu 的 busybox shell 或 fedora 的恢复 shell)。当我尝试在其 .iso 的 grub.cfg 中附加每个发行版使用的参数时,我仍然得到其他错误。我只是无法弄清楚哪些参数做什么:哪些是我需要的,哪些应该修改以及如何修改,等等。

所以问题的关键是:是否有任何文档可以解释为什么在启动时将参数传递给内核以及哪些参数起什么作用?如果我足够好的话,理论上这将允许我将任何发行版中的任何 LiveCD 文件复制到分区上并启动它,对吗?

谢谢!

答案1

相关内容