无忧启动论坛
标题:
Grubutil FAT outdated?
[打印本页]
作者:
不点
时间:
2020-4-22 09:32
标题:
Grubutil FAT outdated?
英文论坛上有人提问,不知 chenall 或 yaya 能否去回答一下。
http://reboot.pro/topic/22279-grubutil-fat-outdated/
I have following question about Grubutil fat.
If I set debug on and using fat on the command-line I get following warning: Warning! The program is outdated!
Fat works fine for me. :unsure: Any clue?
I am using latest version I could find (fat 2015-02-15) and Grub4Dos 2019-09-09.
作者:
chishingchan
时间:
2020-4-22 10:22
翻译
我有以下关于Grubutil fat的问题。
如果我在命令行中设置调试并使用fat,我得到以下警告。警告! 该程序已经过期了!
Fat对我来说很好,:不确定。有什么线索吗?
我使用的是我能找到的最新版本(fat 2015-02-15)和Grub4Dos 2019-09-09-09。
复制代码
作者:
2011yaya2007777
时间:
2020-4-22 11:28
在 grub4dos 的 builtins.c 文件里,有相关的一段语句:
if (*end_signature == 0xBCBAA7BA03051805ULL) //hotkey
{
if (*(unsigned long long *)(program + prog_len - 0x20) == 0x646E655F6E69616D) /* main_end New Version*/
{
char * tmp1;
char * program1;
unsigned long *bss_end = (unsigned long *)(program + prog_len - 0x24);
if (prog_len != *bss_end){
grub_free(tmp);
prog_len = *bss_end;
tmp1 = (char *)grub_malloc(prog_len + 4096 + 16 + psp_len);
if (tmp1 == NULL)
{
goto fail;
}
program1 = (char *)((int)(tmp1 + 4095) & ~4095); /* 4K align the program */
if (tmp1 != tmp)
{
grub_memmove (program1, program, (unsigned long)filemax);
program = program1;
tmp = tmp1;
}
psp = (char *)((int)(program + prog_len + 16) & ~0x0F);
}
} else {//the old program
char *program1;
printf_warning ("\nWarning! The program is outdated!\n");
psp = (char *)grub_malloc(prog_len + 4096 + 16 + psp_len);
grub_free(tmp);
if (psp == NULL)
{
goto fail;
}
program1 = psp + psp_len;
grub_memmove (program1, program, prog_len);
program = program1;
tmp = psp;
}
}
看来是与热键有关。
0xBCBAA7BA03051805ULL 是热键文件结束签名。
0x646E655F6E69616D 这个没有查到,grub4dos,hotkey,fat 文件里都没有找到。
看代码,只是提出警告,并没有退出程序,而是进行了有效的处理。
作者:
2011goodluckwxl
时间:
2020-10-10 17:59
很不错,收藏起来备用
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3