无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
151#
 楼主| 发表于 2020-12-8 15:33:50 | 显示全部楼层
看看使用 map --mem --top 能不能强制加载到4GB以上内存。

BOOTX64.rar

137.5 KB, 下载次数: 19, 下载积分: 无忧币 -2

回复

使用道具 举报

152#
 楼主| 发表于 2020-12-8 18:40:32 | 显示全部楼层
我用g4e加载grubfm.iso不成功

在菜单第一行增加
debug=3
再测试,截图。
回复

使用道具 举报

153#
 楼主| 发表于 2020-12-8 18:50:27 | 显示全部楼层
然后启动的时候蓝屏了

不知是不是因为4GB以上内存被占用引起的。
记得以前在BIOS模式,启动Windows前,在内存高位空白处写入一些数据,就出现问题了。记不清当时是什么错误代码。
回复

使用道具 举报

154#
 楼主| 发表于 2020-12-9 08:40:14 | 显示全部楼层
在 issues#248 ,Taviruni 汇报:
title Mini-10-UEFI.vhd (2360 MB MB) SVBus RAMDISK UEFI boot from HD
find --set-root /VHD/Mini-10-UEFI.vhd
map --mem --top /VHD/Mini-10-UEFI.vhd (hd)
chainloader (hd-1)
成功。

这说明目前 grub2 或 grub4dos 已经解决给 SVBus 传递参数的任务。
至于0xc0000225的诡异问题,需要高人另行破解了。

点评

我看了https://github.com/chenall/grub4dos/issues/248 他的做法和我的区别是: 1、VHD里面有两个分区,FAT32+NTFS分区,我的只有一个NTFS分区。 2、WIN10用的compact lzx压缩模式安装的。 晚点我再试试看。  详情 回复 发表于 2020-12-9 10:27
回复

使用道具 举报

155#
 楼主| 发表于 2020-12-9 09:15:01 | 显示全部楼层
这是启动grubfm.ISO,加debug=3后的启动截图。换用启动grubfm.efi后启动成功。

你启动的是光盘镜像,可是截图只看到两个硬盘?
可否把相关的启动菜单贴出来。

点评

# 这是一个样品 menu.lst 文件。你应该对它做些改动。 # 它必须是 UTF-8 编码,以支持多种语言。 # 字体应该是 unifont.hex 格式。 # 默认menu.lst文件在/efi/grub/menu.lst /efi/menu.lst /menu.lst #设置  详情 回复 发表于 2020-12-9 12:34
回复

使用道具 举报

156#
 楼主| 发表于 2020-12-9 14:34:11 | 显示全部楼层
title 启动/pe/grubfm.iso
find --set-root /pe/grubfm.iso
map /pe/grubfm.iso (0xff)
chainloader (0xff)

使用683#的版本测试

点评

使用683#启动的截图  详情 回复 发表于 2020-12-9 20:17
回复

使用道具 举报

157#
 楼主| 发表于 2020-12-9 15:18:25 | 显示全部楼层
内存类型由 GRUB_EFI_RUNTIME_SERVICES_DATA
修改为 GRUB_EFI_PERSISTENT_MEMORY,虚拟机测试,分配不成功。
修改为 GRUB_EFI_RESERVED_MEMORY_TYPE,虚拟机测试,分配成功。

BOOTX64.rar

137.5 KB, 下载次数: 18, 下载积分: 无忧币 -2

点评

Good news!Good job! 用yaya2020.12.09分享的这个内存类型为GRUB_EFI_PERSISTENT_MEMORY的版本,成功进入UEFI-WIN10-RAMOS! 晚点我做个详细的教程贴上来。  详情 回复 发表于 2020-12-9 21:10
用这个版本,不加 --mem 参数 map win7x64.vhd(分两个区,NTFS 安装了朱玛修改的 SVBUS 驱动的 WIN 系统和30MB FAT EFI启动分区),成功进入桌面! 因为这个 VHD 有 10GB 个头,而我的电脑只得 12GB 内存,使用  详情 回复 发表于 2020-12-9 16:21
回复

使用道具 举报

158#
 楼主| 发表于 2020-12-9 15:58:03 | 显示全部楼层
grub4dos 里面的文件 build 是否可以传递参数?
如果可以的话,在 build 里面如何使用这个参数?

点评

$1 $2之类的吧  详情 回复 发表于 2020-12-9 16:10
回复

使用道具 举报

159#
 楼主| 发表于 2020-12-9 18:48:38 | 显示全部楼层
$1 $2之类的吧

现在使用 ./build i386 就可以编译 BOOTIA32.EFI 了。
在你的环境里是否解决了编译 32 位的问题?

点评

我这几天研究svbus呢,没弄这个,你应该可以直接推送代码。  详情 回复 发表于 2020-12-9 19:07
回复

使用道具 举报

160#
 楼主| 发表于 2020-12-9 19:54:57 来自手机 | 显示全部楼层
你使用 --mem 参数了吗

点评

是PE 光盘内的全复制 g4e 版本是最近的 菜单: map --mem --top  详情 回复 发表于 2020-12-9 19:59
回复

使用道具 举报

161#
 楼主| 发表于 2020-12-9 20:05:37 来自手机 | 显示全部楼层
你的内存超过4G了吗

点评

一台 8G 一台 16G 上面是 dism 注入 boot.wim 试验的结果 不是启动后安装的  详情 回复 发表于 2020-12-9 20:08
回复

使用道具 举报

162#
 楼主| 发表于 2020-12-9 20:08:55 来自手机 | 显示全部楼层
你这个与liuzhaoyzz的情况一样吗?他是加载windows引起的吧。
回复

使用道具 举报

163#
 楼主| 发表于 2020-12-9 20:23:56 来自手机 | 显示全部楼层
你这个grubfm.iso有多大尺寸?要不发个空壳上来。

点评

nivigo 的iso 是 wintofash 的 grub2 文件管理器,不支持uefi  详情 回复 发表于 2020-12-9 20:28
回复

使用道具 举报

164#
 楼主| 发表于 2020-12-9 20:33:58 来自手机 | 显示全部楼层
2011whp  我明白了,2025及17错误是否得到解决,还没有答案。
回复

使用道具 举报

165#
 楼主| 发表于 2020-12-9 20:41:43 来自手机 | 显示全部楼层
那nivigo还要左试有试,我说.iso文件怎么会没有光盘设备呢。
回复

使用道具 举报

166#
 楼主| 发表于 2020-12-9 21:17:16 来自手机 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2020-12-9 21:20 编辑

好消息,棒棒哒!关键是你搜索到精准的能定位问题的信息。

点评

再反馈个问题,UEFI-WIN7+SVBUS,map --mem --top加载vhd没问题,过了100%,马上就启动提示出错,boot_image_handle not found10GB固定大小的VHD,32GB内存。 title WIN7X64-SVBUS (/VHD/SXWIN7X64EN20181104.v  详情 回复 发表于 2020-12-10 13:16
感谢!点赞!  详情 回复 发表于 2020-12-9 21:36
回复

使用道具 举报

167#
 楼主| 发表于 2020-12-10 11:58:53 来自手机 | 显示全部楼层
wintoflash 没有事,那是把复制到临时文件夹的文件改名了。下一次编译,还要重新复制一个。
回复

使用道具 举报

168#
 楼主| 发表于 2020-12-10 14:56:14 | 显示全部楼层
改 Makefile.in-i386,全部加上 -m32 就好了。

32位环境没有-m32或-m64,默认是-m32;
64位环境没有-m32或-m64,默认是-m64;
我明白是哪里错了。
回复

使用道具 举报

169#
 楼主| 发表于 2020-12-10 15:04:29 | 显示全部楼层
再反馈个问题

你在前面加  debug=3 看看。
好像是加载虚拟磁盘出了错。
WIN7X64支持4gb以上内存吗?

点评

直接上图8GBVHD, 20GB内存,WIN7X64  详情 回复 发表于 2020-12-10 17:08
晚上回去看看。 所有64位的系统,都支持4GB以上的内存啊。WIN7X64支持的。  详情 回复 发表于 2020-12-10 15:47
回复

使用道具 举报

170#
 楼主| 发表于 2020-12-10 18:57:27 | 显示全部楼层
直接上图8GBVHD, 20GB内存,WIN7X64

你执行 map --mem --top (hd0,1)/VHD/SX70211.vhd (hd) 后,执行一下 find ,看看虚拟盘在哪个驱动器,哪个分区,比如是 (hd2,1),然后执行 chainloader (hd2,1) 看看。

点评

只有一个分区的,就只有(hd2,0) 刚才我试了WIN8.1.VHD,也是类似的结果,boot_image_handle not found  详情 回复 发表于 2020-12-10 19:33
回复

使用道具 举报

171#
 楼主| 发表于 2020-12-11 07:02:35 来自手机 | 显示全部楼层
改变字体大小,或者调整行间距。有一个专门讨论菜单的帖子,搜一搜。
回复

使用道具 举报

172#
 楼主| 发表于 2020-12-11 07:44:45 来自手机 | 显示全部楼层
liuzhaoyzz:你把WIN81.VHD里的大文件都去除,体积不要改变,然后用其他工具压缩,发上来,我研究一下。
回复

使用道具 举报

173#
 楼主| 发表于 2020-12-11 12:20:04 来自手机 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2020-12-11 12:22 编辑

因为失败在chainloader,所以不需要启动windows,可能与vhd结构有关,我瞎猜。
回复

使用道具 举报

174#
 楼主| 发表于 2020-12-11 13:28:27 来自手机 | 显示全部楼层
加载了一个光盘镜像,还有一个软盘镜像,就是启动分区,或者叫启动软盘。
回复

使用道具 举报

175#
 楼主| 发表于 2020-12-11 15:18:05 来自手机 | 显示全部楼层
Taviruni 说,有可能是WIN7,8只支持旧版本的UEFI,新的扩展函数不支持。
回复

使用道具 举报

176#
 楼主| 发表于 2020-12-11 16:34:16 来自手机 | 显示全部楼层
这个问题困扰我多时了,就是没有答案。
回复

使用道具 举报

177#
 楼主| 发表于 2020-12-11 16:56:25 来自手机 | 显示全部楼层
在代码层次有区别。代码就是移植自GRUB2,当然做了一些调整。问题是没有看出本质区别。
回复

使用道具 举报

178#
 楼主| 发表于 2020-12-12 09:21:55 | 显示全部楼层
wintoflash :
你看看我修改的这个Makefile.in-i386,在你的电脑环境可否编译成功。
或者把你修改成功的发过来。

file.rar.txt

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

回复

使用道具 举报

179#
 楼主| 发表于 2020-12-12 16:38:58 | 显示全部楼层
liuzhaoyzz :
vhd 搞两个分区,其中 fat32 分区放置什么文件?

点评

启动vhd-ramos的时候,能否优先搜索FAT32/ESP分区里面的bootx64.efi,如果找不到再找NTFS分区里面的bootx64.efi? 对于g4e,我发现如果优先查找NTFS里面的bootx64.efi会出错,就是VHD里面双分区FAT32/NTFS,似乎会优  详情 回复 发表于 2020-12-13 12:18
J:\>tree /f >c:\1.txt 卷 FAT32 的文件夹 PATH 列表 卷序列号为 00000200 0EA7:15BE J:. └─EFI ├─Microsoft │ ├─Boot │ │ │ boot.stl │ │ │ bootmgfw.efi │ │  详情 回复 发表于 2020-12-12 17:44
FAT32 分区应该就是存放EFI启动相关的文件的分区,我使用 G4E + SVBUS 做的系统,就是这样的操作。  详情 回复 发表于 2020-12-12 17:36
回复

使用道具 举报

180#
 楼主| 发表于 2020-12-12 18:26:40 来自手机 | 显示全部楼层
谢谢,我大致了解了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-29 16:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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