无忧启动论坛

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

基于svbus驱动+grub4dos或grub2制作的UEFI-RAMOS和BIOS-RAMOS教程

    [复制链接]
发表于 2020-12-30 17:10:56 | 显示全部楼层
@liuzhaoyzz @2011yaya2007777 谢谢两位!
用这个菜单(grub4dos里面抄的,修改:graphicsmode 3(百度来的,几年前,bios时代有人这么设,我一菜鸟,也不知道是啥意思)),可以启动见到菜单(见下图),但进不了svbus vhd(直接返回菜单),“命令行”及“重启”菜单可以用。

color normal=0xff9933 highlight=0xffff00 helptext=0xff00ff heading=0x66ff00
graphicsmode 3
font /efi/grub/unifont.hex.gz
setmenu --box x=4 w=40 y=6 h=9 l=2
setmenu --lang=zh

#设置自动菜单编号
setmenu --auto-num-on

#设置字符串信息
setmenu --string=10=3=0x0000000000ffff="GRUB4DOS 维  护  菜  单"

#设置日期时间
setmenu --string=s=0=0x8800000000ffff="date&time=yyyy-MM-dd  HH:mm:ss"

#设置倒计时
setmenu --timeout=45=6=0x88000000ffff

#设置倒计时(秒)
timeout 30

#设置第一项为默认值
default 1

title WIN7X64-SVBUS (/ram.vhd)
find --ignore-floppies --ignore-cd --set-root /EFI/grub/ntfs_x64.efi
load /EFI/grub/ntfs_x64.efi
find --ignore-floppies --ignore-cd --set-root /ram.vhd
map --mem --top /ram.vhd (hd)
chainloader (hd-1)

title 命令行
commandline

title 重启
reboot

title 关机
halt



IMG_20201230_165618.png
回复

使用道具 举报

发表于 2020-12-30 17:19:22 | 显示全部楼层
本帖最后由 2012ccharles 于 2020-12-30 17:20 编辑

不点大师给出的命令graphicsmode 3解决了gfxmenu加载message卡死的问题
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=368876
感觉黑屏出在这个graphicsmode命令上。
回复

使用道具 举报

发表于 2020-12-30 17:31:11 来自手机 | 显示全部楼层
不支持图形模式,加载字库无效,不能使用中文。进不了 svbus vhd,帮不上忙。

点评

谢谢。  详情 回复 发表于 2020-12-30 17:34
回复

使用道具 举报

发表于 2020-12-30 17:33:09 | 显示全部楼层
根据2011yaya2007777的建议,将菜单精简如下:

timeout 5
default 0

find --ignore-floppies --set-root /efi/grub/unifont.hex.gz
font /efi/grub/unifont.hex.gz

setmenu --string=m=2=0x0000000000ffff="G4D维护菜单"
setmenu --string=s=1=0x8800000000ffff="date&time=yyyy-MM-dd  HH:mm:ss"

title WIN10-SVBUS (/ram.vhd)
find --ignore-floppies --ignore-cd --set-root /EFI/grub/ntfs_x64.efi
load /EFI/grub/ntfs_x64.efi
find --ignore-floppies --ignore-cd --set-root /ram.vhd
map --mem --top /ram.vhd (hd)
chainloader (hd-1)

title ^Ctrl+d commandline
commandline

title [F3] reboot
reboot

title halt
halt


启动后可见到以下菜单界面,WIN10-SVBUS (/ram.vhd)不能启动(直接返回菜单)。


IMG_20201230_172453.jpg
回复

使用道具 举报

发表于 2020-12-30 17:34:37 | 显示全部楼层
本帖最后由 2012ccharles 于 2020-12-30 17:41 编辑
2011yaya2007777 发表于 2020-12-30 17:31
不支持图形模式,加载字库无效,不能使用中文。进不了 svbus vhd,帮不上忙。

谢谢。不管怎么说,能见到菜单了。

点评

你的ram.vhd是否放在某个根目录下?vhd有多大?你的高位内存有多大?一般地高位内存=总内存-4GB估算。  详情 回复 发表于 2020-12-30 18:02
回复

使用道具 举报

 楼主| 发表于 2020-12-30 18:02:55 来自手机 | 显示全部楼层
2012ccharles 发表于 2020-12-30 17:34
谢谢。不管怎么说,能见到菜单了。

你的ram.vhd是否放在某个根目录下?vhd有多大?你的高位内存有多大?一般地高位内存=总内存-4GB估算。      
回复

使用道具 举报

发表于 2020-12-30 18:36:05 | 显示全部楼层
本帖最后由 2012ccharles 于 2020-12-30 18:38 编辑

是的,ram.vhd放在(hd1,3)的根目录下,7.5G。高位内存=16G-4G=12G?刚才又试了一下,加载这个ram.vhd菜单项时,会闪显:out of map memory 800000000, 因为是一闪而过,8后面几个零不确定。

点评

你的高位内存看起来是足够的,如果map过程中出现out of memory一般地表示没有足够连续的内存块,可是为啥grub2都可以呢?奇怪的很。你在选择菜单的时候按c键进入命令行,输入displaymem,截屏看看。看看length,最大  详情 回复 发表于 2020-12-30 19:30
回复

使用道具 举报

 楼主| 发表于 2020-12-30 19:30:31 来自手机 | 显示全部楼层
2012ccharles 发表于 2020-12-30 18:36
是的,ram.vhd放在(hd1,3)的根目录下,7.5G。高位内存=16G-4G=12G?刚才又试了一下,加载这个ram.vhd菜单 ...

你的高位内存看起来是足够的,如果map过程中出现out of memory一般地表示没有足够连续的内存块,可是为啥grub2都可以呢?奇怪的很。你在选择菜单的时候按c键进入命令行,输入displaymem,截屏看看。看看length,最大的那个倒底是多少。      
回复

使用道具 举报

发表于 2020-12-30 20:00:20 | 显示全部楼层
有点难为情,耽误你不少的时间。


IMG_20201230_195520.jpg

点评

0x30F340000,大概就是12G,看起来是够的。  详情 回复 发表于 2020-12-30 20:20
回复

使用道具 举报

发表于 2020-12-30 20:20:10 | 显示全部楼层
2012ccharles 发表于 2020-12-30 20:00
有点难为情,耽误你不少的时间。

0x30F340000,大概就是12G,看起来是够的。
回复

使用道具 举报

 楼主| 发表于 2020-12-30 20:23:27 来自手机 | 显示全部楼层
      实在是匪夷所思
回复

使用道具 举报

发表于 2020-12-30 20:53:43 | 显示全部楼层
本帖最后由 2012ccharles 于 2020-12-30 20:57 编辑

换了个6.5G的vhd(最初安装好的系统),还是显示:out of map memory。确认所有分区根目录下只有一个分区有ram.vhd这个文件,而且启动时也显示是加载(hd1,3)上的ram.vhd。Grub2没问题。


sshot-1.png
回复

使用道具 举报

发表于 2020-12-30 21:49:46 来自手机 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2020-12-30 22:14 编辑

使用这个试一试。https://github.com/chenall/grub4dos/issues/248
另外,不使用  --top 参数试一试。
回复

使用道具 举报

发表于 2020-12-30 22:37:36 | 显示全部楼层
本帖最后由 2012ccharles 于 2020-12-30 22:55 编辑

谢谢。

下载了下面图片中的文件,去txt扩展名解压后的BOOTX64.EFI,置于esp分区EFI\boot\中。



以下列菜单启动:

timeout 5
default 0

find --ignore-floppies --set-root /efi/grub/unifont.hex.gz
font /efi/grub/unifont.hex.gz

setmenu --string=m=2=0x0000000000ffff="G4D维护菜单"
setmenu --string=s=1=0x8800000000ffff="date&time=yyyy-MM-dd  HH:mm:ss"

title WIN10-SVBUS
find --ignore-floppies --ignore-cd --set-root /EFI/grub/ntfs_x64.efi
load /EFI/grub/ntfs_x64.efi
find --ignore-floppies --ignore-cd --set-root /ram.vhd
map --mem --top /ram.vhd (hd)
chainloader (hd-1)

title WIN10-SVBUS no top
find --ignore-floppies --ignore-cd --set-root /EFI/grub/ntfs_x64.efi
load /EFI/grub/ntfs_x64.efi
find --ignore-floppies --ignore-cd --set-root /ram.vhd
map --mem /ram.vhd (hd)
chainloader (hd-1)

title test
find --set-root /ram.vhd
map --mem /ram.vhd (hd)
chainloader (hd-1)

title ^Ctrl+d commandline
commandline

title [F3] reboot
reboot

title halt
halt



以title WIN10-SVBUS及title WIN10-SVBUS no top启动项启动均显示:
error: no such command
(hd1,3)
然后返回菜单。
以title test启动显示:
out of memory
(hd1,0)
然后返回菜单。
显示的提示一闪而过,不一定看得真切,大致内容应当是这样。
sshot-1.png

点评

这是哪个命令拼写打错了的原因。注意下空格,不能用中文空格。  详情 回复 发表于 2020-12-31 08:44
回复

使用道具 举报

发表于 2020-12-31 05:49:33 来自手机 | 显示全部楼层
这个截图发错了吧。测试时,在要执行的菜单项第一行,放置debug  3,它会返回调试信息。
回复

使用道具 举报

发表于 2020-12-31 07:58:20 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2020-12-31 08:55 编辑

timeout 5
default 0

title WIN10-SVBUS
find --set-root /EFI/grub/ntfs_x64.efi
load /EFI/grub/ntfs_x64.efi
map --mem --top /ram.vhd (hd)
pause top 1
chainloader (hd-1)
pause top 2

title WIN10-SVBUS no top
find --set-root /EFI/grub/ntfs_x64.efi
load /EFI/grub/ntfs_x64.efi
map --mem /ram.vhd (hd)
pause no top 1
chainloader (hd-1)
pause no top 2

title commandline
commandline

title reboot
reboot

title halt
halt


按以上2个菜单分别试一试,注意截图。如果信息量不大,就抄下来。

使用这个测试吧。

BOOTX64.rar

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

回复

使用道具 举报

发表于 2020-12-31 08:03:44 | 显示全部楼层
2012ccharles :
你在这个电脑上,启动过 grub2 没有?是否可以加载图像和中文字库?

grub4dos for uefi 内置 GOP (图形输出协议),但是你的电脑不支持。
但是 grub2 还有一种图形模式 UGA,grub4dos for uefi 没有选择。

点评

他说grub2可以启动vhd-ramos,应该是加载了中文字库的。 set default=0 set fallback=1 set timeout=2 set pager=20 set grub_draw_border=1 #设定菜单字体及背景颜色 set menu_color_normal=white/black  详情 回复 发表于 2020-12-31 08:38
回复

使用道具 举报

 楼主| 发表于 2020-12-31 08:38:52 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-31 08:52 编辑
2011yaya2007777 发表于 2020-12-31 08:03
2012ccharles :
你在这个电脑上,启动过 grub2 没有?是否可以加载图像和中文字库?

他说grub2可以启动vhd-ramos,应该是加载了中文字库的。
set default=0
set fallback=1
set timeout=2
set pager=20
set grub_draw_border=1

#设定菜单字体及背景颜色
set menu_color_normal=white/black
set menu_color_highlight=white/blue

loopback -m ramdisk/boot/grub/unicode.xz
loadfont (ramdisk)/grub2/fonts/unicode.pf2
set locale_dir=(ramdisk)/grub2/locale
set lang=zh_CN
terminal_output gfxterm

一楼的这个unicode.xz,里面就是字库。

        
回复

使用道具 举报

 楼主| 发表于 2020-12-31 08:44:03 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-31 09:04 编辑
2012ccharles 发表于 2020-12-30 22:37
谢谢。

下载了下面图片中的文件,去txt扩展名解压后的BOOTX64.EFI,置于esp分区EFI\boot\中。
error: no such command

这是哪个命令拼写打错了的原因。注意下空格,不能用中文空格。

1、方法一:
title WIN10-SVBUS
debug 3
find --set-root /EFI/grub/ntfs_x64.efi
load /EFI/grub/ntfs_x64.efi
map --mem --top /ram.vhd (hd)
pause top 1
chainloader (hd-1)
pause top 2

2、方法二
选择g4e菜单的时候,按e键进入命令行,逐一输入下面的命令:
debug 3
find --set-root /EFI/grub/ntfs_x64.efi(这一句不一定必要)
load /EFI/grub/ntfs_x64.efi
find --set-root /ram.vhd
map --mem --top /ram.vhd (hd)
chainloader (hd-1)
boot
截图发上来,给yaya提供定位错误的依据。这样能够看到准确的错误信息。
注意大小写不能错,文件名字输入的时候可以用TAB键补全。







回复

使用道具 举报

发表于 2020-12-31 08:52:11 | 显示全部楼层
他说grub2可以启动vhd-ramos,应该是加载了中文字库的

那就是他的电脑支持 UGA 图形模式,我抽空试的补上。

点评

应该不是 UGA。 liuzhaoyzz 生成的 grub2 efi 应该没有添加 efi_uga 模块。  详情 回复 发表于 2020-12-31 09:09
回复

使用道具 举报

发表于 2020-12-31 09:09:19 | 显示全部楼层
2011yaya2007777 发表于 2020-12-31 08:52
那就是他的电脑支持 UGA 图形模式,我抽空试的补上。

应该不是 UGA。
liuzhaoyzz 生成的 grub2 efi 应该没有添加 efi_uga 模块。

点评

用的是grub2默认的那些模块,确实没有efi_uga模块。 F:\bak\grub2\grub2-latest2020-12-28\arch\x64\builtin.txt acpi all_video blocklist boot cat chain configfile cpio echo efiload efi_gop exfat ext2 extc  详情 回复 发表于 2020-12-31 10:24
回复

使用道具 举报

发表于 2020-12-31 09:29:42 | 显示全部楼层
应该不是 UGA。
liuzhaoyzz 生成的 grub2 efi 应该没有添加 efi_uga 模块。

那就奇怪了。grub2 有2种图形模式,如果没有加载 UGA 模式,那只能是 GOP 模式。怎么 g4e 会黑屏?
回复

使用道具 举报

 楼主| 发表于 2020-12-31 10:24:37 | 显示全部楼层
wintoflash 发表于 2020-12-31 09:09
应该不是 UGA。
liuzhaoyzz 生成的 grub2 efi 应该没有添加 efi_uga 模块。

用的是grub2默认的那些模块,确实没有efi_uga模块。
F:\bak\grub2\grub2-latest2020-12-28\arch\x64\builtin.txt
acpi all_video blocklist boot cat chain configfile cpio echo efiload efi_gop exfat ext2 extcmd fat fb file font getkey gfxmenu gfxterm gfxterm_background gfxterm_menu gzio halt help hexdump iso9660 jpeg linux linuxefi loadenv loopback ls lzopio map minicmd newc normal ntboot ntfs part_gpt part_msdos png probe progress reboot regexp sbpolicy search tar terminal terminfo test tga udf vhd video video_colors video_fb videoinfo wimboot xzio crscreenshot
回复

使用道具 举报

发表于 2020-12-31 11:50:30 | 显示全部楼层
本帖最后由 2012ccharles 于 2020-12-31 12:26 编辑

谢谢两位。

以本贴76楼的菜单和引导文件,启动结果如下:

菜单(从notepad++里复制过来的):[url=]menu.rar menu.rar (417 Bytes, 下载次数: 1)
IMG_20201231_113829.jpg
IMG_20201231_113757.jpg
IMG_20201231_113716.jpg
IMG_20201231_113631.jpg
sshot-1.png
sshot-1.png
回复

使用道具 举报

发表于 2020-12-31 12:16:12 | 显示全部楼层
本帖最后由 2012ccharles 于 2020-12-31 12:17 编辑

用76楼的引导文件,按79楼的建议:

方法1的结果:





方法2手工输入以下命令,然后按“b”,一闪而过返回菜单。


IMG_20201231_120832.jpg
IMG_20201231_120523.jpg
回复

使用道具 举报

发表于 2020-12-31 15:33:51 来自手机 | 显示全部楼层
liuzhaoyzz:你使用上面这个新版本帮忙测试一下,只测试一步,map  --mem /vhd  (hd)  ,这个vhd要大一些,比如2Gb。如果平常加载需要1分钟,那么请等待2分钟,最好打表。看看比平常快了,还是慢了,或者是死机了。

点评

我的vhd都比较大,都是超过4GB的,用map --mem --top测试可以吗? 你所说的快慢相比,是跟谁相比?跟哪个版本的G4E相比? 2020-12-31版本,我测试过了,可以成功启动。  详情 回复 发表于 2020-12-31 16:10
回复

使用道具 举报

发表于 2020-12-31 15:35:25 来自手机 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2020-12-31 15:51 编辑

2012ccharles:
请你帮忙按上一楼的请求,测试一步。谢谢。

点评

不客气。用这个菜单: title test mapmem map --mem /ram.vhd (hd) 结果:error 15 file not found.  详情 回复 发表于 2020-12-31 17:25
回复

使用道具 举报

 楼主| 发表于 2020-12-31 16:10:00 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-31 16:37 编辑
2011yaya2007777 发表于 2020-12-31 15:33
liuzhaoyzz:你使用上面这个新版本帮忙测试一下,只测试一步,map  --mem /vhd  (hd)  ,这个vhd要大一些, ...

我的vhd都比较大,都是超过4GB的,用map  --mem --top测试可以吗?
你所说的快慢相比,是跟谁相比?跟哪个版本的G4E相比?
76楼,2020-12-31版本,我测试过了,可以成功启动。启动速度从0~100%,一个7GB的vhd,加载速度23秒,和2020-12-29日的没有什么很明显的变化。

和2020-12-15日的g4e相比,提高了31秒,2020-12-15日的加载用了56秒。

以上测试,都是基于同一个连续存放的vhd,放在ssd里面,里面有svbus驱动加持。用的手机秒表记录结果的。软件是StopWatch Timer+挺好用的,在办公室里面用是静音的,挺好的。

2020-12-30日分享给alacran的版本,无法启动,启动出错。



IMG_20201231_111440.jpg
回复

使用道具 举报

发表于 2020-12-31 16:28:44 | 显示全部楼层
我的vhd都比较大,

我已经修正了,请使用76#的版本测试。跟G4E比较。

点评

哦,我的测试结果已经在楼上了。用的就是76楼的版本,2020-12-31日的版本。  详情 回复 发表于 2020-12-31 16:33
回复

使用道具 举报

 楼主| 发表于 2020-12-31 16:33:36 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-31 16:35 编辑
2011yaya2007777 发表于 2020-12-31 16:28
我已经修正了,请使用76#的版本测试。跟G4E比较。

哦,我的测试结果已经在楼上了。用的就是76楼的版本,2020-12-31日的版本。测试结果我编辑过了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 05:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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