我正在尝试找到一个通用解决方案来获得多启动 USB 记忆棒。我有一些 ISO 映像,例如:knoppix、debian、ubuntu 等。
有什么办法可以执行以下步骤:
- 项目清单
- 将微内核/引导加载程序从可启动记忆棒加载到 RAM 中
- 加载最必要的模块来挂载文件系统、iso 等。
- 直接从该 iso 启动。
我知道我已经找到了几种解决方案,但没有一个是通用的:
- grub4dos可以将整个图像加载到 RAM 然后启动它。-> 如果图像很小则没问题,但如果它有 4 GB 的 RAM,那么我们应该至少有 6-8GB 才能正常工作。
grub2可以从 iso 启动,但我们需要确切知道 syslinux 参数是什么。这是我为 Knoppix ISO 准备的 grub.cfg 的示例配置:
menuentry "Knoppix" { set isofile="/boot/iso/knoppix.iso" echo "Loading kernel.." loopback loop $isofile linux (loop)/boot/isolinux/linux64 boot=casper iso-scan/filename=$isofile ramdisk_size=100000 lang=en vt.default_utf8=0 acpi=off apm=power-off vga=791 nomce fromiso=$isofile noeject noprompt -- echo "Loading modified initrd.." initrd (loop)/boot/isolinux/minirt.gz
}
问题是,内核启动后,即使挂载的文件存在于我的回送挂载 iso 上,init 进程也无法找到它们。
我能成功启动一些 ISO,但这不是通用方法。有时会失败。
那么 Windows 安装程序呢?假设我的一些朋友没有 CD/DVD 设备,他们想让我重新安装系统。我可以用类似的方法吗?老实说,几年前我可能会解决这个问题,但我在 Linux 平台上工作多年,只在工作中接触过 Windows。