无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
151#
发表于 2021-6-16 18:51:39 | 显示全部楼层
wintoflash 发表于 2021-6-16 10:51
试试这个外部命令获取efi命令行

经 试验   这个 和 我说的 那个 (md)法,  都 躲不 过   set  *


不过write (md)  法
  1.  是容量大,( 和map内存区 并存,方便 驱动自定义 数据的回找)
  2.  set *  消失 后可以重建  (数据还在那里,只是变量名 没有了,重建即可)
回复

使用道具 举报

152#
发表于 2021-6-16 18:55:43 | 显示全部楼层
本帖最后由 2011whp 于 2021-7-16 20:40 编辑
fmwqsn 发表于 2021-6-16 18:51
flash大威武。
我做了个实验性的脚本试了下,可以生效。
我看看继续折腾折腾。

折腾了个 什么 uefi系统呢,

基于什么,IPxe  还是  UEFIshell

ipxe    论坛的网络启动区,能启pe ,你的目标 是 安装系统 ?
意思 是  wintoflash 这个外部命令,不管是什么环境启动g4e, 都 能找到,(或者说,实质是找到了 标准的bios环境句柄了)

点评

我没搞那么高深的东西啦…… 单纯就是为了自己能偷懒,想弄个机房里能自动下载镜像自动启动机器的玩意来着。 目标是基于uefi shell,获取自己的目标镜像名,然后起一个P2P给下载下来,最后用g4e给启动起来。 我到  详情 回复 发表于 2021-6-16 19:15
回复

使用道具 举报

153#
发表于 2021-6-16 19:16:41 | 显示全部楼层
本帖最后由 2011whp 于 2021-6-16 20:40 编辑
wintoflash 发表于 2021-6-15 21:32
我是用 grub2 加载 g4e 的。

测试用外部命令:


2011yaya2007777  有什么办法看这个变量的 二进制呢


不过,功能性的,就不用汉字了,没什么影响  

点评

不是,我前面说过了,是 grub2 的 chainloader 自己的问题。它的转码代码只适用于 ASCII 码。 uefi cmdline 是 UTF-16 LE 编码的,且只支持 UCS-2 部分。(U+0000 ~ U+FFFF, 两个字节) grub2/grub4dos 内部字符串  详情 回复 发表于 2021-6-16 20:24
回复

使用道具 举报

154#
发表于 2021-6-16 20:24:09 | 显示全部楼层
fmwqsn 发表于 2021-6-16 19:15
我没搞那么高深的东西啦……
单纯就是为了自己能偷懒,想弄个机房里能自动下载镜像自动启动机器的玩意来 ...

可以 把  win10.iso 搞成 带 svbus 驱动的,这样g4e 就可以map 安装win10

这个道 是 试过
回复

使用道具 举报

155#
发表于 2021-6-19 12:41:30 | 显示全部楼层
本帖最后由 2011whp 于 2021-6-19 13:09 编辑

读文件 到内存

文件长度:
cat --length=0 /p  | set  len=
echo %len:~12%

回复

使用道具 举报

156#
发表于 2021-6-19 15:56:15 | 显示全部楼层
本帖最后由 2011whp 于 2021-6-20 14:31 编辑
ksafei 发表于 2021-6-19 15:11
他说的应该是这种情况(见下图)。20210426及以前版本的g4e可以自动连接EFI\gurb\menu.lst引导文件,新版 ...

default 0
timeout 1
configfile

把 标准 位置的 菜单启动 configfile 放到后面
定制   时  -p 参数 现在 好像是  个形式参数,不起作用

回复

使用道具 举报

157#
发表于 2021-6-19 16:11:25 | 显示全部楼层
fmwqsn 发表于 2021-6-19 15:23
换用了2021-06-02版本,在昨天出问题的机器上试了一下,顺利启动了。
不过在使用flash大的cmdline获取参 ...

真找到 一个 用UEFISHELL环境能下载  文件的 办法了?

你是 从什么地方引导g4e的
回复

使用道具 举报

158#
发表于 2021-6-19 18:03:56 | 显示全部楼层
本帖最后由 2011whp 于 2021-6-19 18:21 编辑
fmwqsn 发表于 2021-6-19 16:36
UEFI shell直接下载文件还有些较劲,受文件系统影响太大了。现有能找到的文件系统驱动大都只能读,写都不 ...

现在主流是: ipxe 网启PE  ,然后 ,利用  PE下的 CMD  自动化工具  自动安装
http://bbs.wuyou.net/forum.php?m ... 5473&extra=page%3D1


你现在的想法: 整个流程上  生态不 全,难办
问题:   UEFI shell 从哪里来 呢(不是每个主板都有) 但网启  是普及的
         g4e 从哪里来



要是  能不脱离 启动阶段  能下载个  镜像  到内存块  ,这个估计g4e给你 挂载成设备
  (改造 ISO 有 svbus驱动 ,有无人值守 有分区办法) 此情此境,微软没有方案?(有个 pxeboot.n12,也是没发展出什么 用法)
回复

使用道具 举报

159#
发表于 2021-6-19 21:28:10 | 显示全部楼层
本帖最后由 2011whp 于 2021-7-3 18:17 编辑

echo不出,在前几楼,读文件到内存  遇到过,
我是这么理解的, 人机shell的输出 总是按字符的编码处理的
这个估计不好改,是人机shell的一种精神(目前发现,只有引用内存时,按机内 数值处理)


echo 显示人类字符,如果,%?%里的字节都是超2的7次方,又不符合utf8,那输出是空的

办法是:写到内存计算一下, (起码32位以内的数可以)
如  前几楼,读文件到内存 那个贴  计算文件的起始位置

回复

使用道具 举报

160#
发表于 2021-6-21 14:00:40 | 显示全部楼层
本帖最后由 2011whp 于 2021-6-21 14:07 编辑
fmwqsn 发表于 2021-6-20 19:57
我自己编译了一套UEFI shell来用的。
目前试的几个设备,支持UEFI的都能跑起来。
g4e直接网起会随机卡 ...

怎么获取到 Ipxe 留下的信息呢, g4e内 有tftp的驱动

不过现在  没有 (pd)盘,  具体不太清楚


如果能得到,next-servce,   能够 tftp 请求文件,  估计 大神 们  又能折腾 一下


回复

使用道具 举报

161#
发表于 2021-6-23 18:08:42 | 显示全部楼层
fmwqsn 发表于 2021-6-23 16:22
ftp确实不能用。我最开始也很没脾气。而且我网起G4E会随机卡5-20分钟不等的时间,至今没摸到规律,也不知 ...

是 慢点,不到 1分钟吧,没你说的那么慢   

主板的 是 pxe2.1
回复

使用道具 举报

162#
发表于 2021-6-23 19:07:21 | 显示全部楼层
本帖最后由 2011whp 于 2021-6-23 19:12 编辑
fmwqsn 发表于 2021-6-23 18:59
只有一分钟么,不过也够慢了。
我倒是没用qemu试过,都是在真机上试的。
真的是不同的机器能试出来完全 ...

网启的,什么也没有

估计,命令,先在内部找,
找不到的话  要找磁盘上 命令
  就   死机了(容错性 不强的命令,估计也会 死机)
pxe help  现在也没有反应,  g4e 割掉 这块了?


实机 启动慢,
qemu 是本身慢,检测完 启动g4e  秒启
回复

使用道具 举报

163#
发表于 2021-6-24 15:16:57 | 显示全部楼层
title  启动 网络上的 镜像

chainloader /ipxe.efi
回复

使用道具 举报

164#
发表于 2021-6-26 14:36:26 | 显示全部楼层
xianglang 发表于 2021-6-26 13:16
看我1720楼的测试:映射 ISO 之类后,chainloader (hd0) (hd0为实际硬盘)的结果,就是引导映射出的 ISO ...

你这个情况,假定是单硬盘 时,chainloader提交给主板 会列出:
(因为  你的 nv存储上有三个 启动器    bios 内有通用 uefi启动器,共4个)

1. 微软uefi启动
2. 微软传统启动
3.  g4e 启动
4.  grub2启动
5.  通用UEFi启动 (提交的  不会列出)
6.  通用传统启动  (提交的  不会列出)

你这种情况,chainloader分区时,出错吗?

回复

使用道具 举报

165#
发表于 2021-6-27 12:12:02 | 显示全部楼层
本帖最后由 2011whp 于 2021-7-16 20:37 编辑
xianglang 发表于 2021-6-26 13:16
看我1720楼的测试:映射 ISO 之类后,chainloader (hd0) (hd0为实际硬盘)的结果,就是引导映射出的 ISO ...

title 启动第一硬盘的 bootx64.efi
!BAT
command
# 无害命令command 使菜单可选中
set @extend 0x60200 1
#  利用,定义扩展变量,清空 (md)0x301+1 扇区的内容
find /efi/boot/bootx64.efi > (md)0x301+1
set @extend 0x60000 1
#  定义扩展变量
write (md)0x300+1 hdaaaa
#  强制写入 变量名 hdaaaa , 下面 开始 逐字符循环
:forstar
if "%%hdaaaa%%a"=="a" goto :end
# 下面的 hd0 改为 hd1 即为启动 第二硬盘
if "%%hdaaaa:~0,4%%"=="(hd0" chainloader %%hdaaaa:~0,7%%/efi/boot/bootx64.efi && boot
set hdaaaa=%hdaaaa:~1%
goto :forstar
:end


附加: 内存观察

查看   0x60200  开始的 16字节
cat  --hex (md,0x60200,0x200)0x0+1,16
(详见:2015版帮助 4.1节   5.5节  6.14节  10章)

字节输入方式:
echo -e \x00\x65   管道至变量 或 内存 文件


内存是 数值时  的提取(要计算一下), 同样适用 @retval 变量 存储  的是数值时
set  /a  syz=*0x60000
内存数值引用是 32位的小端序数值
回复

使用道具 举报

166#
发表于 2021-8-2 12:18:17 | 显示全部楼层
本帖最后由 2011whp 于 2021-8-2 12:27 编辑

g4e  2021-7-28版  启动PE 蓝屏 (多行多列 ,图文混排 能对齐了)   (2021-7-23版  正常)

map --mem /src/z.iso (0xff)
chainloader (0xff)



回复

使用道具 举报

167#
发表于 2021-8-2 22:12:27 | 显示全部楼层
本帖最后由 2011whp 于 2021-8-3 11:43 编辑

蓝屏 效果  和  前面的一样



用 2021-7-23 版 启动时,读完 iso到内存 会有  两 秒  停息,然后出现 转圈后,正常启动。

这个  蓝屏 是读iso到内存  后即 蓝屏了,esc键 能返回到 bios ,不算是死机
回复

使用道具 举报

168#
发表于 2021-8-3 12:03:58 | 显示全部楼层
本帖最后由 2011whp 于 2021-8-3 12:22 编辑

换 PE 后 也 启动不了 ,

   图文混排  的那个 特供版2021-7-20  也有问题
   估计  对齐 图文 引入的 bug( 2021-7-23版 没问题)


PE 还是以前那个试用的
链接:https://pan.baidu.com/s/1vOHmKJ2OxV2CZcg8scjV0g
提取码:eruh
回复

使用道具 举报

169#
发表于 2021-8-3 19:59:00 | 显示全部楼层
svbusPE.iso   是有  svbus驱动的  190.4MB

svbusventoyPE  是有  svbus驱动的 ,和 ventoy启动后的votydump式的GUID变量挂载, 193.6MB(好像ventoy不提倡这么用了)

要试的话  用那个 190.4MB的

不可能是我 这 一个人 启动不了吧,  
你先试下, 要不等更多人反馈
回复

使用道具 举报

170#
发表于 2021-8-3 20:39:39 | 显示全部楼层
本帖最后由 2011whp 于 2021-8-3 20:51 编辑

单是 2021-7-28版 有问题
2021-7-23版是可以的

我知道与svbus无关,但以前是一样能启动的
那个svbusPE.iso 就是 用dism 解开,用dism 加上 svbus驱动,然后再 dism打包,
在非纯UEFI下 map  --mem    /svbus.iso   (0xff) 是能挂载出光盘的  
测试 svbus 用了  无数次了,应该没问题



另一个问题:
   24字体
  设定 setmenu --font-spacing=0:10 之后
   1024分辨率下  计算 总计 22行
   这时  在   控制台(命令行模式) 只能显示22行,占不满屏(一直回车,占 2/3 屏)
    具体,我那个 抄作业 贴 的  清爽深灰   极简平铺  都有表现

回复

使用道具 举报

171#
发表于 2021-8-4 19:16:14 | 显示全部楼层
不知道你还想要什么测试?
不测试什么,单是  启动不了 iso 式的 PE了

大家  试下  g4e 2021-7-28版 启动 iso 式的 PE
(我试了几个PE不行,出错图 见前几楼)


回复

使用道具 举报

172#
发表于 2021-8-4 19:57:58 | 显示全部楼层
2011yaya2007777 发表于 2021-8-4 19:43
你没有正面回答我的问题。

只是 单纯 的 启动 iso PE   ,没有提取出 bootmgfw.efi 试

yaya你那边有,2021-7-28版g4e ,  能启动的 isoPE? 推荐下,以排除 是 PE.iso的问题
(今天 下载了  lightning 的那个PE  也启动不了)

我也觉得 邪门了,

回复

使用道具 举报

173#
发表于 2021-8-7 09:17:35 | 显示全部楼层
从2021-7-28版,

map  /pe.iso (0xff)  时的 启动软盘,怎么变成 (fd6)了,以前是  (fd0)

见 1776楼层图片:http://wuyou.net/forum.php?mod=r ... &fromuid=413782
回复

使用道具 举报

174#
发表于 2021-8-9 13:10:24 | 显示全部楼层

这个版本 ,正常了。
回复

使用道具 举报

175#
发表于 2021-8-12 13:09:47 | 显示全部楼层
最新版   有实光盘启动不了,    进入UEFIshell下 好像挂了 很多的 设备



map --unmap 无效  (光盘序问题)
回复

使用道具 举报

176#
发表于 2021-8-24 13:52:59 | 显示全部楼层
本帖最后由 2011whp 于 2021-8-24 14:38 编辑

批处理 RUN 尾随ntloader 不能用
命令   /mn /src/boot.wim

ls  已显示出文件,   chainloader 引用不上

run批处理中  wim引导的功能命令 在 570行前后





run尾随ntloader.rar (1.96 MB, 下载次数: 15)

照着  2015版帮助.chm   5.6节做的



回复

使用道具 举报

177#
发表于 2021-9-6 18:25:15 | 显示全部楼层
2011yaya2007777 发表于 2021-9-6 10:42
依据 chenall 的 NTBOOT 启动机理,采用了 wintoflash 在  ntloader 中 修改 BCD 的代码,作为练手,
在 G ...

qemu命令行下  chainloader /boot/imgs/boot.wim  提示找不到文件
多出一个 微软启动的 磁盘分区(约6MB),内部有 微软引导,chainloader /bootx64.efi 时,找不到bcd
用的qemu:预览 那有下载链接 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=423059
        15M的那个 ,能改内存大小,也能启动iso


实体机:死机

题外:
觉得 chainloader 功能还是 与grub2靠近:
      只作链式加载 efi启动器 并给启动器传参数
感觉 kernel 内核  +  initrd 虚根资源   是个方向 (wimboot 是不是这个模式呢?)
     这个好像就成了 ntloader 启动中的一种方式

或者 按照外部命令习惯:应该是:
/efi/grub/ext/ntboot  /boot/imgs/boot.wim
chainloader /bootx64.efi (这时 root成了 6MB的微软分区了)
boot
回复

使用道具 举报

178#
发表于 2021-9-6 19:54:55 | 显示全部楼层
本帖最后由 2011whp 于 2021-9-14 12:04 编辑











回复

使用道具 举报

179#
发表于 2021-9-6 20:46:16 | 显示全部楼层
本帖最后由 2011whp 于 2021-9-6 20:54 编辑

是从 (hd0,1)启动的, 上上楼补图了
(hd0,1)活动分区,一样的

现在 那个多出来的 (hd1,0),  没有bcd
回复

使用道具 举报

180#
发表于 2021-9-7 11:37:05 | 显示全部楼层


实体机,死机


回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-3 01:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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