无忧启动论坛

标题: g4d0.46a 20140116内置菜单怎么改 [打印本页]

作者: mdyblog    时间: 2014-2-18 15:35
标题: g4d0.46a 20140116内置菜单怎么改
会用最新 G4D ,内置菜单有2个问题
1: 怎么禁止 pxe
    现在出来  "begin pxe scan..." (好像是,太快了)
   怎么去掉

2: 出来 “Processing the preset-menu  ...”
怎么去掉。
该行到底说的什么东西?  是说在运行 “我改后的内置菜单”, 还是 G4D另外还有一个"preset-menu".
如果是后者, 怎么不运行他,而直接运行我改的内置菜单。

我需要的内容是(不要菜单形式,直接运行):
if exist (hd0,5)/boot/grub/menu.lst  root  (hd0,5) &&  configfile /boot/grub/menu.lst   && boot
root  (hd0,4)
configfile /boot/grub/menu.lst
boot
内置的实际形式:
_xe_detect_configfile
if exist (hd0,5)/boot/grub/menu.lst  root  (hd0,5) &&  configfile /boot/grub/menu.lst   && boot
root  (hd0,4)
configfile /boot/grub/menu.lst
boot
--------------完毕---------------
_xe_detect_configfile  是原来的(2行)内容,用这样奇怪的方式禁止他们。
上面的意思,完整的内置菜单怎么写。

作者: pseudo    时间: 2014-2-18 16:39
那些信息是不点大人特意显示的。为了万一死机,好知道死在哪阶段。
不点极力主张要显示出来不要屏蔽。所以他不会提供屏蔽方法。

实在不想显示的话,自己把相关字符串改成空白串算了。

作者: mdyblog    时间: 2014-2-18 19:15
pseudo 发表于 2014-2-18 16:39
那些信息是不点大人特意显示的。为了万一死机,好知道死在哪阶段。
不点极力主张要显示出来不要屏蔽。所以 ...

哦。
\r\nAAA可以改成 "                                                                                    \rABC"
这样始终显示在一行。 死机也能看到最后的信息。

作者: pseudo    时间: 2014-2-19 12:09
好像不点已经设计好,那些信息总是在第一行覆盖式显示,启动正常的话后面会消失。
仅过程中显示,不影响用户后面的界面设计。
但要过程中不显示,就得做点手脚了。
作者: mdyblog    时间: 2014-2-19 13:49
pseudo 发表于 2014-2-19 12:09
好像不点已经设计好,那些信息总是在第一行覆盖式显示,启动正常的话后面会消失。
仅过程中显示,不影响用 ...

怎么禁止 pxe ?
    现在出来  "begin pxe scan..." (好像是,太快了)
    怎么写才能去掉 .

其内置菜单怎么写。 给个最简单的实例吧。

作者: pseudo    时间: 2014-2-19 14:15
这个应该是执行内置菜单之前显示的,不受内置菜单控制。
硬编码改grldr内部字符串为空格吧。
作者: 不点    时间: 2014-2-19 16:37
单纯禁止 PXE 功能,即可禁止显示 PXE 信息。

GRLDR 的控制字节(即偏移 0x2005 处的一个字节),即可用来控制 PXE 等功能。该字节通常是 00,如果把最低位改成 1,即,变成 01,就表示禁止 PXE 功能。既然禁止了 pxe 功能,那么这个 grldr 就无法支持 (pd) 设备了,也就不能从 pxe 进行网络启动了。


作者: 不点    时间: 2014-2-19 16:47
Processing the preset-menu  ...

这条信息可以屏蔽,以前公布了屏蔽的方法,应该是很多人都知道的吧。但是,屏蔽了之后,你就不要来论坛报告问题了,你的用户也不要来报告问题了。你来报告的话,就不要屏蔽,否则,我认为是属于故意捣乱的一种行为。虽然我离开了开发团队,但是我相信,我的这个理念,有可能被开发团队的成员采纳。因此,你屏蔽了这个信息之后随随便便就来论坛报告问题,被开发团队的成员发现,你有可能受到痛贬。自己的事,自己做主,别人只能提意见和建议,不能替你做主。


作者: sxgpic    时间: 2014-2-19 17:04
不点 发表于 2014-2-19 16:47
Processing the preset-menu  ...

这条信息可以屏蔽,以前公布了屏蔽的方法,应该是很多人都知道的吧。 ...

请给 grub4dos 增加 btrfs 读取支持。
作者: mdyblog    时间: 2014-2-19 18:23
pseudo 发表于 2014-2-19 12:09
好像不点已经设计好,那些信息总是在第一行覆盖式显示,启动正常的话后面会消失。
仅过程中显示,不影响用 ...

我看了一下, 好像不是在第一行。会换行的。 原来是多了个\n(0xA)
GRUB4DOS 0.4.6a 2014-01-16, root is (0x%X,%d)%s\n
\rProcessing the preset-menu ...


显示 【Processing the preset-menu ...】自动到行首,覆盖。
但是 显示前一行时后面的\n,使得已经换行了。所以还是换行显示的。
简单的话,前面的\n也换成\r


这样 就在一行 显示, 有改进。


但是会出现 叠加显示的  垃圾 字符
Processing the preset-menu ... (0x%X,%d)%s
单的话,后面的行只覆盖了前面的行的前面部分, 后面的还在,就是垃圾。


所以,1) 改成一样长。这样恰好覆盖。


2) 或者, 显示前先80字符清一下该行.
void ClearLine()
{
   putc('\r');
   for(int i=80;--i>=0;  i++)  putc(' ');
   putc('\r');
}
//或者 printf("\r%80s\r"," ")

//或者 printf("\r                                                                                \r"); //80个空格



void ShowMsg(char*msg)
{
    if('\r'==*msg) ClearLine();
    printf(msg);  
}


作者: 不点    时间: 2014-2-19 18:40
这条信息超过一行,占据两行,因此,必须回车换行。

你也不会在乎究竟是一行还是两行。反正瞬间就要被显示的菜单淹没掉。只有死机时才能看到这个信息。

死机时,你可以知道当前工作的默认 root 设备等关键信息,从而定位死机原因。

我已经说过,你可以搜索以前的帖子,找到屏蔽的方法,你提到的两行信息其实是一条信息,会同时屏蔽掉。只要你保证不来论坛报告问题,一切都是没问题的。用不着你自己再搞什么字符修改之类的。







欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3