无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3225|回复: 2
打印 上一主题 下一主题

g4d的kernel命令读带续尾的批处理会失败

[复制链接]
跳转到指定楼层
1#
发表于 2019-8-22 09:40:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 指南针 于 2019-8-22 09:42 编辑

如题,grub4dos用的046a 20190809版本,
假设做个试验,menu.lst直接加载一个批处理命令,里面是正常的kernel命令启动linux,同时给做个批处理尾部加个软盘文件,然后就
kernel一个内核文件时,死机。。失败。。。报错找不到命令。。。

可以在软盘文件里填充一些文件,各种启动失败。。如果没用续尾文件,一切正常

提供能复现过程的fba文件,用fbinstool打开后模拟启动就能看到效果



以能正常把kernel文件加载到内存算正常。

20190819165346.part1.rar

2 MB, 下载次数: 5, 下载积分: 无忧币 -2

20190819165346.part2.rar

2 MB, 下载次数: 5, 下载积分: 无忧币 -2

20190819165346.part3.rar

2 MB, 下载次数: 5, 下载积分: 无忧币 -2

20190819165346.part4.rar

245.06 KB, 下载次数: 5, 下载积分: 无忧币 -2

2#
发表于 2019-8-22 11:09:33 | 只看该作者
本帖最后由 不点 于 2019-8-22 11:21 编辑

kernel 命令与批处理有冲突。建议不要在批处理之后运行 kernel 命令。

就是说,如果要运行 kernel 命令,请不要运行批处理。批处理会破坏 kernel 命令加载的内核和数据。两者会互相破坏。严重时,造成死机。

要知道,加载 kernel 是很繁重的。kernel 的加载,比 ntldr、bootmgr、等等都困难多了,占用的内存空间几乎是无限的,上不封顶。因为你事先不知道 Linux 的 kernel 究竟有多大。

grub4dos 没有内存管理,所以,只能简单为 kernel 分配一个固定地址,它被加载在 32M 开始的空间。批处理也是使用这个空间。


引申探讨:个人倾向于使用微软的加载方法(IO.SYS、NTLDR、bootmgr),这样,减轻了 boot loader 的负担,分步骤加载操作系统。

grub4dos 以及 wee 里面,支持 Linux kernel 的代码都很庞大,比支持其他格式的代码都大很多,甚至比支持其他各种格式的总和还要大。

我现在不喜欢 Linux 了,不喜欢复杂的系统。如果华为的 OS 真能放出来的话,还真想转向新的微内核系统。

点评

好的  详情 回复 发表于 2019-8-22 11:25
回复

使用道具 举报

3#
 楼主| 发表于 2019-8-22 11:25:59 | 只看该作者
不点 发表于 2019-8-22 11:09
kernel 命令与批处理有冲突。建议不要在批处理之后运行 kernel 命令。

就是说,如果要运行 kernel 命令 ...

好的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-26 03:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表