从 DOS 启动 Linux(使用 loadlin.exe 等)

从 DOS 启动 Linux(使用 loadlin.exe 等)

我一直在使用最新版本loadlin.exe(1.6e 版)。它在某些机器上可以运行,但在其他机器上,我得到“内核后无 initrd 位置”的提示。内核大小约为 5MB(非模块化),我的 initrd 映像(解压后)约为 8MB。我可以采取的一种方法是启用模块支持并将部分内核的负担转移到 initrd 映像中,但我不确定这是否能解决问题。有没有其他方法loadlin.exe可以从启动的 DOS 会话中加载 Linux?我基本上有一系列 DOS 工具,我想一个接一个地运行它们,然后启动到 Linux,这loadlin.exe似乎对某些机器来说运行得很好。

答案1

如果仍然感兴趣:

尝试用该linld.com命令启动 Linux。它可以处理大内核映像(>4 MB)和大内核映像initrd(>10 MB)。

在我的系统中,我使用以下命令:

c:\loadlin\mandrake\linld image=C:\loadlin\mandrake\linuz263.889 initrd=c:\loadlin\mandrake\init-263.889 "cl=root=/dev/sdc14 ro video=1024x768"

linld.com可以从以下网址下载这里

答案2

最后,我不得不缩小内核的大小。当你loadlin.exe不带任何参数运行时,它会打印出可用的内存量(这是 DOS 看到的内存量,而不是机器中安装的内存量)。在某些机器上,只有 16MB 可用,而在其他机器上,有 64MB 可用。我猜它实际上可以是任何值。

loadlin.exe假设内核的压缩率为 1:2,并且因为 Linux 加载在地址0x00100000(1MB) 处,那么您需要确保:

kernel_size * 2 + initrd_size < available_ram - 0x00100000

如果您有一个模块化内核,将内核模块卸载到 initrd 中而不是将其构建到内核中可能会有所帮助。选择不同的内核压缩也可能有帮助。

答案3

尝试系统Linux相反,它对我来说效果更好。

答案4

您尝试过 grub4dos 吗?grub4dos 有一个可执行文件。我以前从未尝试过,但它应该可以立即加载 grub4dos。从那里,加载 linux 非常容易。配置文件中可以进行各种配置和奇特的内容。

相关内容