无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
1741#
发表于 2021-7-21 13:59:04 | 只看该作者
liuzhaoyzz 发表于 2021-7-21 10:28
g4e启动wim,需要依赖于wintoflash的ntloader模块,你在g4e帖子里面反馈,有何意义?!g4e已经完成了他作 ...

十分感謝!!成功了!
我隨身碟是分ESP(FAT32)/Data(NTFS)槽
開機檔放ESP,只有PE用到的外置程式檔放Data

我原本是用範本去改,如下:

uuid %@root%
kernel  /EFI/grub/ntloader uuid=%?_UUID% file=/ISO/10PE.wim
initrd  /EFI/grub/initrd.lz1

無法成功.爬帖時發現要WIM要在NTFS下才可以?
把WIM放到NTFS槽下 還是失敗
想說是沒找到ISO 也改過第一行

find --set-root /ISO/10PE.wim
uuid %@root%
kernel  /EFI/grub/ntloader uuid=%?_UUID% file=/ISO/10PE.wim
initrd  /EFI/grub/initrd.lz1

也是失敗
但現在使用大大給的去改就成功了!

find --ignore-floppies --ignore-cd /EFI/grub/ntloader | set bd= ;; echo bd=%bd%
find --ignore-floppies --ignore-cd --set-root /iso/10pe.wim
uuid ()
chainloader %bd%/EFI/grub/ntloader initrd=/EFI/grub/initrd.lz1 uuid=%?_UUID% hires=0 file=/iso/10pe.wim
boot
回复

使用道具 举报

1742#
发表于 2021-7-21 15:23:24 | 只看该作者
saiz 发表于 2021-7-21 13:59
十分感謝!!成功了!
我隨身碟是分ESP(FAT32)/Data(NTFS)槽
開機檔放ESP,只有PE用到的外置程式檔放Data

恭喜你,台湾那边访问大陆的网址,似乎很卡?我看同样的帖子内容你发了两遍,前面的前面,我删除了多余的重复帖子,你也可以自己删除的。高级模式→附加选项→删除重复发帖即可。      
回复

使用道具 举报

1743#
发表于 2021-7-21 15:46:53 | 只看该作者
剛剛趁勝追擊.
一併做好了LENOVO DiagTool及KasperskyResuceDisk的開機!!
不過在做Acronis 2021開機時失敗了
不知有人有成功嗎?find --set-root /ISO/ATI2021.iso
map --mem /ISO/ATI2021.iso (0xff)
chainloader (0xff)

以上會看到ISO檔載入MEM的文字畫面.但跑完後就停止不動了?
LOADING完成後等了至少5分鐘也沒反應


也有改用其它指令.會執行一堆linux載入指令
但跑到最後變SHELL了.也沒GUI出現
find --set-root /ISO/ATI2021.iso
map --mem /ISO/ATI2021.iso (0xff)

kernel (0xff)/dat14.dat
initrd (0xff)/dat15.dat (loop)/dat16.dat



IMG_20210721_153938.jpg (398.3 KB, 下载次数: 305)

IMG_20210721_153938.jpg
回复

使用道具 举报

1744#
发表于 2021-7-21 16:20:05 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-7-21 16:34 编辑
saiz 发表于 2021-7-21 15:46
剛剛趁勝追擊.
一併做好了LENOVO DiagTool及KasperskyResuceDisk的開機!!
不過在做Acronis 2021開機時失 ...

看了你的截图,似乎你说的这个ATI2021.iso是基于linux内核的?
UEFI下面,g4e/grub2用map --mem方式仿真到内存启动xxxx.iso,map命令工作与保护模式下,它会向UEFI固件申请/开辟一块未使用的内存,如果有保护模式下的驱动,比如微软的ramdisk.sys或者第三方的svbus驱动,有了这一类的驱动的加持,windows才能把这块内存识别为内存盘,并继续启动的流程。
而对于linux.iso,一般是没有这样子的驱动的,linux发行版那么多,这样的驱动适配起来估计比较困难,因此
UEFI下面,g4e/grub2用map --mem方式开辟的内存盘(0xff),或者直接仿真的iso,在进入linux之后会失效,启动盘(0xff)失效了当然难以继续linux的启动流程
有些linux内核会用某些cheatcode来找到这个iso并挂载,从而继续启动的流程。
比如说ubuntu里面的iso-scan/filename这个参数:
title /linux/ubuntu/ubuntu-20.10-desktop-amd64.iso
find --ignore-floppies --ignore-cd --set-root /linux/ubuntu/ubuntu-20.10-desktop-amd64.iso
map /linux/ubuntu/ubuntu-20.10-desktop-amd64.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/linux/ubuntu/ubuntu-20.10-desktop-amd64.iso noprompt noeject
initrd (hd32)/casper/initrd

那么你所说的这个ATI2021.iso有没有类似的cheatcode呢?我估计是够呛,你可以解开这个iso,看下他的启动菜单。


partnew方案可能能够启动你的这个iso,但是需要iso存放在MBR分区表的硬盘,而且要求MBR主分区小于等于3个,这个要求太苛刻,我也不喜欢这个partnew方案。

综上所述,我的建议还是用7z解开ATI2021.iso,然后参照里面的启动菜单编写其引导菜单。


另外也可以尝试用ventoy方案启动,如果启动不了,给longpanda反馈即可,他的ventoy现在是成套的、成熟的解决方案,添加某个linux.iso启动支持应该很简单。

以上回帖,如果有错误,敬请大神们批评指正。


        




回复

使用道具 举报

1745#
发表于 2021-7-21 17:14:50 | 只看该作者
liuzhaoyzz 发表于 2021-7-21 16:20
看了你的截图,似乎你说的这个ATI2021.iso是基于linux内核的?
UEFI下面,g4e/grub2用map --mem方式仿真 ...

了解~我再解開後試試
因為我原本用wintoflash大的GRUB2 UEFI是OK的
所以我是拿原本測試OK的移過來測試看看
看來LINUX LIVECD都還是要解開放隨身碟中再啟動才行
回复

使用道具 举报

1746#
发表于 2021-7-22 08:04:41 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-7-22 14:19 编辑
saiz 发表于 2021-7-21 17:14
了解~我再解開後試試
因為我原本用wintoflash大的GRUB2 UEFI是OK的
所以我是拿原本測試OK的移過來測試 ...

用wintoflash大的GRUB2 UEFI是OK

你指的是用map --mem  ATI2021.iso启动成功?g4e似乎不支持loopback模式启动linux.iso,但是grub2是支持的,ATI2021.iso里面是否存在\boot\grub\loopback.cfg这个文件?如果存在这个文件,一般地内核支持loopback启动,就可以用grub2+loopback的方式启动ATI2021.iso。     
回复

使用道具 举报

1747#
发表于 2021-7-22 10:01:21 | 只看该作者
很给力
回复

使用道具 举报

1748#
发表于 2021-7-22 13:34:23 | 只看该作者
liuzhaoyzz 发表于 2021-7-22 08:04
你指的是用map --mem  ATI2021.iso启动成功?g4e似乎不支持loopback模式启动linux.iso,但是grub2是 ...

是的.用GURB2是可以用LOOPBACK去啟動
不過ISO檔內沒有你說的LOOPBACK.CFG
回复

使用道具 举报

1749#
发表于 2021-7-22 14:02:25 | 只看该作者
saiz 发表于 2021-7-22 13:34
是的.用GURB2是可以用LOOPBACK去啟動
不過ISO檔內沒有你說的LOOPBACK.CFG

那就奇怪了。没有\boot\grub\loopback.cfg文件,不依赖这个启动,那么grub2能够启动的情况,g4e应该也可以启动。        
回复

使用道具 举报

1750#
发表于 2021-7-22 15:17:02 | 只看该作者
saiz 发表于 2021-7-22 13:34
是的.用GURB2是可以用LOOPBACK去啟動
不過ISO檔內沒有你說的LOOPBACK.CFG

具体是用什么命令启动的,贴出来。
回复

使用道具 举报

1751#
发表于 2021-7-22 17:55:05 | 只看该作者
给大神赞一下。
回复

使用道具 举报

1752#
发表于 2021-7-22 19:42:18 | 只看该作者
wintoflash 发表于 2021-7-22 15:17
具体是用什么命令启动的,贴出来。


        submenu "1.AcronisTrueImage 2021      磁碟備份還原工具" --class recovery --hotkey=1{
                        set quiet=1
                        set default=0
                        set timeout=5
                        set isofile="(hd0,3)/ISO/ATI2021.iso"

                        menuentry "1. Acronis True Image (32-bit)"  --class recovery --hotkey=1{
                        echo "讀取中...請耐心等候..."
                        loopback loop $isofile
                        linux (loop)/dat10.dat
                        initrd (loop)/dat11.dat (loop)/dat12.dat
                        boot
                        }       

                        menuentry "2. Acronis Universal Restore"  --class recovery--hotkey=2{
                        echo "讀取中...請耐心等候..."
                        loopback loop $isofile
                        linux (loop)/ur32ker.dat
                        initrd (loop)/ur32ram.dat (loop)/dat4.dat
                        boot
                        }

                        menuentry "3. Acronis TrueImage 2021 (ISO啟動)"  --class recovery--hotkey=3{
                        echo "讀取中...請耐心等候..."
                        map --type=CD $isofile
                        boot
                        }

        }
回复

使用道具 举报

1753#
发表于 2021-7-22 20:26:07 | 只看该作者
各位大大.我突然遇到一個新問題...
原本WIM類型已OK可啟動.
我在研究LINUX類型OK後
想說整理一下指令/變數
改著改著 發現WIM不能開了?!
原本10PE.WIM是可開機.
指令執行後會跳轉黑畫面
數分鐘後進入WIN LOGO

現在卻是指令行後就卡住了...
等十分鐘以上無法啟動
改成一開始指令亦同
後來使用Qemu發現 會有NTLOADER畫面及錯誤訊息
所以這是問題 為什麼我的筆電不會有錯誤訊息呢?

我目前是使用VM player測試可用WIM開機了.
但在筆電中實際實用 依然無法啟動....
我要如何提供LOG之類方便除錯?
SORRY我只會皮毛...不知怎麼叫LOG之類

VM_10PE_5.jpg (254.74 KB, 下载次数: 158)

VM_10PE_5.jpg

VM_10PE_4.jpg (224.14 KB, 下载次数: 164)

VM_10PE_4.jpg

VM_10PE_3.jpg (220.92 KB, 下载次数: 157)

VM_10PE_3.jpg

VM_10PE_2.jpg (242.63 KB, 下载次数: 165)

VM_10PE_2.jpg

VM_10PE_1.jpg (324.07 KB, 下载次数: 177)

VM_10PE_1.jpg

筆電_一直卡在此處20分鐘以上.jpg (201.8 KB, 下载次数: 166)

筆電_一直卡在此處20分鐘以上.jpg

点评

vmware和一些机器的bios有点问题,必须切到文本模式才能正常显示输出。 grub4dos不要加载图形模式。 grub2 可以用 terminal_output console。  详情 回复 发表于 2021-7-22 21:10
回复

使用道具 举报

1754#
发表于 2021-7-22 21:10:38 | 只看该作者
saiz 发表于 2021-7-22 20:26
各位大大.我突然遇到一個新問題...
原本WIM類型已OK可啟動.
我在研究LINUX類型OK後

vmware和一些机器的bios有点问题,必须切到文本模式才能正常显示输出。
grub4dos不要加载图形模式。
grub2 可以用 terminal_output console。

点评

wintoflash大大 我依你說的把grub4efi menu.lst內有關圖形介面的先//掉了 開機也是變文字介面了.連中文都不支援了 不過10PE啟動一樣是卡住了... 沒有跳轉到NTLOADER畫面.沒有任何新訊息  详情 回复 发表于 2021-7-22 22:29
回复

使用道具 举报

1755#
发表于 2021-7-22 22:29:50 | 只看该作者
本帖最后由 saiz 于 2021-7-22 22:44 编辑
wintoflash 发表于 2021-7-22 21:10
vmware和一些机器的bios有点问题,必须切到文本模式才能正常显示输出。
grub4dos不要加载图形模式。
gr ...

wintoflash大大
我依你說的把grub4efi menu.lst內有關圖形介面的先//掉了
開機也是變文字介面了.連中文都不支援了
不過10PE啟動一樣是卡住了...
沒有跳轉到NTLOADER畫面.沒有任何新訊息
find --ignore-floppies /EFI/grub/ntloader | set bd=
find --set-root --ignore-floppies /SelfPe.ico
uuid ()
kernel %bd%/EFI/grub/ntloader uuid=%?_UUID% hires=0 file=/iso/10PE.wim
initrd %bd%/EFI/grub/initrd.lz1

但如果我改成
find --ignore-floppies /EFI/grub/ntloader | set bd=
find --set-root --ignore-floppies /SelfPe.ico
uuid ()
chainloader %bd%/EFI/grub/ntloader initrd %bd%/EFI/grub/initrd.lz1 uuid=%?_UUID% hires=0 file=/iso/10PE.wim

會出現NTLOADER畫面
但錯誤訊息"Invalid initrd path"
但我initrd.lz1跟ntloader放一起的啊...?

点评

仔细看我在1751楼回帖,我只让你修改红色的字体部分啊,你为啥改其他的?改了肯定不行的,wintoflash帖子里面有说到。  详情 回复 发表于 2021-7-23 08:10
[attachimg]483861[/attachimg] 看仔细。 另外 initrd=xxx 参数是传递给 ntloader 进行解析的,所以不能用 grub 格式的路径。  详情 回复 发表于 2021-7-22 22:54
回复

使用道具 举报

1756#
发表于 2021-7-22 22:54:14 | 只看该作者
saiz 发表于 2021-7-22 22:29
wintoflash大大
我依你說的把grub4efi menu.lst內有關圖形介面的先//掉了
開機也是變文字介面了.連中文 ...



看仔细。
另外 initrd=xxx 参数是传递给 ntloader 进行解析的,所以不能用 grub 格式的路径。

点评

orz 原來錯在這... 感謝指點 成功啟動了 但使用kernel ntloader不知為什麼不能啟動... 相容性問題嗎?  详情 回复 发表于 2021-7-23 00:34
回复

使用道具 举报

1757#
发表于 2021-7-23 00:34:28 | 只看该作者
wintoflash 发表于 2021-7-22 22:54
看仔细。
另外 initrd=xxx 参数是传递给 ntloader 进行解析的,所以不能用 grub 格式的路径。

orz 原來錯在這...
感謝指點 成功啟動了
但使用kernel ntloader不知為什麼不能啟動...
相容性問題嗎?
回复

使用道具 举报

1758#
发表于 2021-7-23 08:10:30 | 只看该作者
saiz 发表于 2021-7-22 19:42
submenu "1.AcronisTrueImage 2021      磁碟備份還原工具" --class recovery --hotkey=1{
                        set qu ...

你这个用grub2+loopback启动的,g4e是不行的,没有loopback命令。        

点评

#1762 wintoflash大想看看我grub2用的指令才PO的.因為ATI2021.ISO裡沒有Lookpback.cfg,結果是多加個vga=791,就可以不用解開ISO檔亦可啟動 期待kernel+initrd能有進一步改善 剛在Vmplayer 16內測試kernel+initrd  详情 回复 发表于 2021-7-23 08:38
回复

使用道具 举报

1759#
发表于 2021-7-23 08:10:56 | 只看该作者
本帖最后由 liuzhaoyzz 于 2021-7-23 11:30 编辑
saiz 发表于 2021-7-22 22:29
wintoflash大大
我依你說的把grub4efi menu.lst內有關圖形介面的先//掉了
開機也是變文字介面了.連中文 ...

仔细看我在1751楼回帖,我只让你修改红色的字体部分啊,你为啥改其他的?改了肯定不行的,wintoflash帖子里面有说到。

kernel+initrd命令目前有一定的兼容性问题,如果里面的原因找到了,攻克了,理论上来讲,要比chainloader+initrd命令兼容性更好。
        
回复

使用道具 举报

1760#
发表于 2021-7-23 08:38:48 | 只看该作者
liuzhaoyzz 发表于 2021-7-23 08:10
你这个用grub2+loopback启动的,g4e是不行的,没有loopback命令。

#1762 wintoflash大想看看我grub2用的指令才PO的.因為ATI2021.ISO裡沒有Lookpback.cfg,結果是多加個vga=791,就可以不用解開ISO檔亦可啟動

期待kernel+initrd能有進一步改善
剛在Vmplayer 16內測試kernel+initrd
會出現vm fireware有問題而自動關閉
實機在筆電Acer AO756上測試則是一樣會卡住 無錯誤訊息
回复

使用道具 举报

1761#
发表于 2021-7-23 12:28:15 | 只看该作者
大家不要忘了bootmgfw.efi也可以启动WIM的,ntloader最终也靠这个
回复

使用道具 举报

1762#
发表于 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)



回复

使用道具 举报

1763#
 楼主| 发表于 2021-8-2 19:04:55 | 只看该作者
试一试这个。

BOOTX64.rar

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

点评

蓝屏 效果 和 前面的一样 [attachimg]484383[/attachimg]  详情 回复 发表于 2021-8-2 22:12
回复

使用道具 举报

1764#
发表于 2021-8-2 22:12:27 | 只看该作者
本帖最后由 2011whp 于 2021-8-3 11:43 编辑

蓝屏 效果  和  前面的一样



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

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

使用道具 举报

1765#
 楼主| 发表于 2021-8-3 07:54:06 来自手机 | 只看该作者
我觉得你应当在iso镜像上找找问题,比如缺少驱动什么的。
回复

使用道具 举报

1766#
发表于 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
回复

使用道具 举报

1767#
 楼主| 发表于 2021-8-3 18:24:52 | 只看该作者
以 100kb/s 的速度,下载你提供的文件,具体是使用哪个?
回复

使用道具 举报

1768#
发表于 2021-8-3 19:59:00 | 只看该作者
svbusPE.iso   是有  svbus驱动的  190.4MB

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

要试的话  用那个 190.4MB的

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

使用道具 举报

1769#
 楼主| 发表于 2021-8-3 20:19:58 来自手机 | 只看该作者
你这不是一个简简单单的光盘镜像?与svbus驱动有关?ramos专区有讨论,视乎制作有奥秘。你能否测试一下,官网发布的版本,正确与错误的分界日期?
回复

使用道具 举报

1770#
发表于 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 屏)
    具体,我那个 抄作业 贴 的  清爽深灰   极简平铺  都有表现

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-30 19:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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