无忧启动论坛

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

[分享] 我这样制作启动U盘

    [复制链接]
1#
发表于 2020-3-15 09:24:34 | 显示全部楼层
ksafei 发表于 2020-3-15 01:26
29楼方案测试反馈(替换bootmgfw.efi、boot.sdi):

1.环境:secureboot开启

grubfm 启 gpt 分区 wim (NTBOOT) 是否报错?
回复

使用道具 举报

2#
发表于 2020-3-16 09:00:20 | 显示全部楼层
hilsonma 发表于 2020-3-15 10:04
我刚下载了grubfm-zh_CN.7z,提取grubfmx64.efi 改名为bootx64.efi 放到u盘fat32分区,用此u盘开机后不论 ...

https://support.microsoft.com/en ... ll-or-start-an-oper
回复

使用道具 举报

3#
发表于 2020-3-16 18:01:05 | 显示全部楼层
hilsonma 发表于 2020-3-16 17:49
谢谢。我搜到一些答案,但说的解决办法是换内存和更新bios。
奇怪的是我用20200229的grub2没有问题,用 ...

那只能从0229之后每天的版本都拉下来编译测试一遍。
这个错误是内存碎片过多的意思。


回复

使用道具 举报

4#
发表于 2020-3-16 20:25:29 | 显示全部楼层
本帖最后由 wintoflash 于 2020-3-16 20:27 编辑
hilsonma 发表于 2020-3-16 19:41
我想做测试,但看了一下https://github.com/a1ive/grub,不知道怎么拉每天的版本,然后也不懂怎样编译

这个是用git做的版本管理,搜索git的用法即可。
如果不想学git的用法,可以网页操作切过去然后 git clone。
编译也不难,
./bootstrap
./configure --prefix=$HOME/PKG --target=x86_64 --with-platform=efi
make -j8 && make install
常见的 Linux 软件编译三部曲。

由于我现在完全不用windows了,所以没法自己测试。
另外最近一段时间有些事情,所以也没空写代码,如果有人愿意接手这个项目就更好了。逐版本编译测试还是比较麻烦的,很浪费时间,没时间的话还是算了吧。





回复

使用道具 举报

5#
发表于 2020-4-9 08:34:33 | 显示全部楼层
本帖最后由 wintoflash 于 2020-4-9 08:36 编辑
hilsonma 发表于 2020-4-8 23:28
这样说我明白了,你所说的我真的一窍不通,只能放弃了。感谢你的解答。

1) 换 Win8/8.1 的 bootmgfw.efi 试试。
2) 进 grub 控制台 执行以下命令,截图(输出有好几页)。(需要 lsefimmap 模块)
        set pager=1
        lsefimmap

点评

图是截出来了,但是不会看。 刚新下载的grub2,就是启动失败的,截图18张,共573行(纯地址段,不含表头) [attachimg]415887[/attachimg] 之前的老版本,就是能正常启动的,截图13张,共309行(纯地址段,不含表  详情 回复 发表于 2020-4-10 07:52
回复

使用道具 举报

6#
发表于 2020-4-11 16:06:08 | 显示全部楼层
本帖最后由 wintoflash 于 2020-4-11 16:09 编辑
hilsonma 发表于 2020-4-10 07:52
图是截出来了,但是不会看。

看得出从b020000那一段开始不一样。最后5行是一样的。
你这个固件有毒啊,搞出这么多 16KB 4KB 的碎片。
fixmmap.7z (944 Bytes, 下载次数: 5)
试试这个模块。
  1. insmod /fixmmap
  2. fixmmap
复制代码

然后再执行其他的 比如启动 Windows。

此模块会占用所有小于 100MB 的可用内存片段。


点评

有fixmmap刷屏,但问题依旧。使用lsefimmap查看还是有18页,照样很多4k,8k16k的。  详情 回复 发表于 2020-4-11 16:29
回复

使用道具 举报

7#
发表于 2020-4-11 16:36:39 | 显示全部楼层
执行完 fixmmap 之后截图。

点评

grub.cfg里执行过fxmmap后在命令行再执行的截图: [attachimg]416047[/attachimg] [attachimg]416048[/attachimg] [attachimg]416049[/attachimg] ... ... grub.cfg里没有执行过fxmmap,在命令行执行的截  详情 回复 发表于 2020-4-11 16:59
回复

使用道具 举报

8#
发表于 2020-4-11 17:07:17 | 显示全部楼层
那就奇怪了。看起来小的片段都已经被填上了。
显示 "conv-mem" 的是可用内存。填充之后就变成了 "ldr-data"。
那我也没办法了。

点评

使用AllocatePage,以EFI_ALLOCATE_ADDRESS 指定地址,使用 EFI_BOOT_SERVICE_DATA 类型进行申请,就可以填平中间的缝隙。我早先之前是这样临时解决这个问题的。代码找不着了,我记得是这样。  详情 回复 发表于 2020-4-12 13:30
虽然没办法,还是感谢帮忙,你已经努力了,谢谢。  详情 回复 发表于 2020-4-11 18:39
虽然没办法,还是感谢帮忙,你已经努力了,谢谢。  详情 回复 发表于 2020-4-11 18:39
回复

使用道具 举报

9#
发表于 2020-4-12 14:18:19 | 显示全部楼层
longpanda 发表于 2020-4-12 13:30
使用AllocatePage,以EFI_ALLOCATE_ADDRESS 指定地址,使用 EFI_BOOT_SERVICE_DATA 类型进行申请,就可以 ...

EfiLoaderData 不行吗,非得是 EfiBootServicesData?
@hilsonma 试试? fixmmap.tar.gz (1 KB, 下载次数: 3)


点评

成功启动,非常感谢!!! 终于可以用上最新版的grub2了!!! fixmmap前lsefimmap有18页,这次fixmmap后lsefimmap只有9页,成功启动。  详情 回复 发表于 2020-4-12 18:28
loader data 和 bsdata系统不会给你合并在一起。 从前面的截图看好像也是如此  详情 回复 发表于 2020-4-12 15:30
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-3 16:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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