yaya2007
yaya2007
在uefi状态,没有常规内存、上位内存,扩展内存一说。 一般可以使用0x10000-0x90000区间。 使用其他内存,需要使用函数分配与释放。 .extent ABS(EXT_C(grub_zalloc)) //49 .extent ABS(EXT_C(grub_malloc)) //50 .extent ABS(EXT_C(grub_free)) //51 extern void *grub_malloc(grub_size_t size); extern void *grub_zalloc(grub_size_t size); extern void grub_free(void *ptr);
你也观察到了,内存是由许多碎片组成的。报告一个由碎片组成的总内存,没有任何意义。 以前g4d自由使用内存,比较关心内存分布。但是由于内存不连续,只了解基本内存,上位内存,扩展内存远远不够。正确的做法,是看内存分布表。 现在g4e自动分配内存,不需要用户干涉,就像个魔盒。其实,也不允许个人任意分配内存,否则,必然遭殃。
使用gcc-4.6版本编译。 使用 map --mem --top 注意4Gb问题。
可以使用uuid,vol,map --status函数获得有关驱动器的信息。 具体还想知道什么?
嗷,明白了。搞笑了。
是不是你想要的. [BOOTX64.rar.txt](https://github.com/chenall/grub4dos/files/7025176/BOOTX64.rar.txt)
在我的惠普笔记本上,无论是是 COMPONENT_NAME2_PROTOCOL 还是 COMPONENT_NAME_PROTOCOL,都不支持。不知道EfiDriverBindingProtocol 是否会普遍支持(如果仍然要打开ComponentName2Protocol,估计够呛)。 使用 COMPONENT_NAME2_PROTOCOL 或者 COMPONENT_NAME_PROTOCOL,返回的列表信息已经可以判断 UEFI 是否支持 NTFS 或者 exFAT 启动,继而加载相关缺失的驱动。 上一版本是为了充分利用屏幕,一行显示2项内容。但是保存到内存,丢失排版信息,所以显示混乱。 这一版是一行显示一项内容。 如果觉得使用EfiDriverBindingProtocol比较妥当,那就等a1ive有时间再打补丁,我不想费神了。 [BOOTX64.rar.txt](https://github.com/chenall/grub4dos/files/7026477/BOOTX64.rar.txt)
can Have a try title ccc root () pause
You compile g4e yourself? Need to link the preset menu. mkimage.exe -d directory -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -c preset_menu.lst