无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 37702|回复: 180

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

    [复制链接]
发表于 2020-12-11 12:05:25 | 显示全部楼层 |阅读模式
本帖最后由 liuzhaoyzz 于 2020-12-31 08:42 编辑

基于svbus驱动+grub4dosgrub2制作的UEFI-RAMOSBIOS-RAMOS教程
用grub4dosUEFI或grub22020-12-10版本搭配svbus驱动,在wintoflash、2011yaya2007777 、sunsea等诸位大神的努力下,终于攻克了UEFI-RAMOS制作,这是不依赖于微软的ramdisk.sys驱动的全内存的UEFI-RAMOS全新方案,其实制作方法很简单,就是安装驱动+写引导菜单而已,只是还有很多方面没有进行具体验证,有待通过大家的讨论和实战进一步验证其稳定性、兼容性等各个方面,同时期待这个帖子的发布能够进一步引领大家研究基于primo驱动的全内存UEFI-RAMOS方案,起到一个抛砖引玉的作用。本文同时附带地讲了下BIOS-RAMOS下面的引导菜单。
1、软硬件要求
UEFI启动,现在的UEFI固件一般都是64位的,一般需要64位的WIN7、8、10操作系统,目前我成功地制作了基于svbusWIN7、WIN8、WIN10X64-RAMOS(注意WIN7企业版和旗舰版原生支持VHD启动,WIN7家庭版和专业版原生不支持VHD启动;WIN8专业版以上似乎都是原生支持VHD启动)推荐用WINNTSETUP安装在固定大小的VHD中,安装的时候优化设置中建议勾选关闭虚拟内存和休眠,物理内存≥VHD盘总空间的50%~70%+4GB,物理内存推荐8G或以上(越大越好),推荐用精简系统。
BIOS启动,WIN7企业版和旗舰版以上因为原生支持VHD启动,制作起来较为方便;XP/2003因为原生不支持VHD启动,需要离线注入svbus驱动才可以(这个我没有尝试),或者在线安装驱动之后拷贝到VHD中(这个我没有尝试),BIOS-RAMOS制作,还是推荐大家直接用芈员外的《RAMOS一键批处理多合一V3.8.7》的方案更好。
2、可能用到的工具和软件
grub4dos UEFI2020-12-15之后的版本或grub22020-12-15之后的版本,bootice,WINPE,WINNTSETUP单文件版,Windows安装包(可能是iso、esd、wim格式)、double drive或者驱动精灵,对于WIN7可能需要红毛樱木的ceomsx或者sinoxer的usb3驱动注入工具备用(WIN8以上不需要)。
我把部分工具分享到网盘里。https://cloud.189.cn/t/m6J3EvFnmIvu
微信扫描二维码登录即可下载。(免费的)
3VHD系统安装
WINNTSETUP安装系统教程(RAMOS新手入门帖) - RAMOS - 无忧启动论坛http://wuyou.net/forum.php?mod=viewthread&tid=411864&extra=page%3D1
需要注意:建议采用固定大小的VHD。
3.1如果VHD内部采用MBR分区表,只有一个NTFS分区方案(推荐)
对于g4e2020-12-15以后版本,需要用load/EFI/grub/ntfs_x64.efi加载ntfs_x64.efi驱动,否则g4e会出现” boot_image_handle notfound”的错误。
对于grub2,需要加载grub2-latest2020-12-17\arch\x64\builtin.txt最后加上 efiload模块,用build_grub.bat定制得到grubx64.efi,然后用efiload/EFI/grub/ntfs_x64.efi加载ntfs_x64.efi驱动,否则g4e在加载vhd镜像到内存之后会跳转回菜单。
3.2如果VHD内部采用MBR分区表,一个激活的FAT32分区+NTFS分区方案(不推荐)
(1)WIN7、WIN8的VHD内部要用FAT32+NTFS双分区,WIN10的VHD我测试了NTFS单分区也可以,分区格式我用的是MBR,这样子可以确保BIOS/UEFI双启动。(2)采用FAT32+NTFS双分区VHD内部的BCD和VHD外部的BCD都需要做相应调整,否则VHD和RAMOS无法启动。具体如下:
1)如果原来VHD内部是单分区,可以进入PE,挂载该VHD,用傲梅分区助手在硬盘前部划分出一个分区出来,创建一个新的FAT32分区,然后格式化,然后用bcdboot修复引导,bcdboot%windisk%:\windows /s %bootdisk%: /l zh-CN /f %bootmode%,注意windows所在的盘符,要选择VHD的NTFS所在分区的那个盘符。批处理网盘里面有。
然后删除NTFS分区里面的EFI和boot目录,(改个名字也可以),否则对于WIN7、WIN8,grub4dos UEFI版本加载的时候仍然会出现” boot_image_handlenot found”的错误。
2)分区调整好之后,还要调整VHD内部的BCD,(VHD的FAT32/ESP)\EFI\Microsoft\Boot\BCD,手工选择启动磁盘和启动分区,启动分区就是VHD内部的那个NTFS分区:
vhd内部的启动分区手工选择.jpg
(3)VHD内部的启动分区调整好之后,还要调整VHD外部的BCD,否则用bootmgfw.efi启动vhd的时候会提示0xc000000f错误,(主硬盘FAT32/ESP)\EFI\Microsoft\Boot\BCD:
VHD双分区-要引导分区选择.png

如果你原来的VHD系统是BIOS模式启动的,想增加UEFI启动模式,可以挂载VHD之后,用bcdboot命令一键修复引导,因为我记住不命令参数,为了方便,我提供一个《一键修复引导.bat》的批处理。
bcdboot %windisk%:\windows/s %bootdisk%: /l zh-CN /f %bootmode%

4svbus驱动安装
VHD系统安装好之后,进入VHD系统,安装svbus驱动,因为WIN10有比较严格的驱动签名机制,关闭BCD中驱动签名验证实测无效(可能需要按F8关闭签名验证吧,没有实际测试),开源的原版svbus没有通过win10的签名,我联系了朱玛,给svbus驱动添加了HT Srl证书签名。
(1)首先双击EVRootCA.reg注册表文件导入到注册表,否则svbus安装的时候可能会出现“试图将驱动程序添加到存储区时遇到问题”的错误。
image2.png    
(2) 直接右击安装svbus.inf,选择安装,可能会提示“系统策略组禁止安装此设备”,百度了下,开始——运行 ,输入 gpedit.msc 确定——计算机配置——管理模板——系统——设备安装——设备安装限制——禁止安装未有其他策略组描述的设备(在右边),双击后设置为“未配置”或“禁用”——确定。重启下电脑再次安装签名的svbus驱动。
    image3.png
(3)如果上面的方法安装失败,用添加过时硬件的方法添加,右击我的电脑→属性→设备管理器→选择本机→操作→添加过时硬件→安装我手动从列表选择的硬件(高级)→从磁盘安装→选择svbus.inf,信任HT Srl证书确认即可。
image4.png   
【温馨提示】svbus安装好之后最好重启下电脑,以确保驱动生效。
5VHD碎片消除(不一定必须)
VHD安装好之后可能有碎片,BIOS下启动如果碎片超过32个可能不行;UEFI下未验证,消除碎片的办法,不要挂载VHD,在PE中:
方法一,复制粘贴该vhd,副本就是没有碎片的,前提是需要硬盘有足够的剩余空间用于腾挪。
方法二,直接用wincontig分析并整理文件。前提也是需要硬盘有足够的剩余空间。
一般地来说,上面的方法对于机械硬盘很有效。对于ssd不一定有效果,因为ssd有FTL逻辑转换电路中间层,ssd直接格盘拷贝文件进去,应该就是连续的吧。
6、复制引导文件并建立引导菜单
上面的网盘里面有grub4dos和grub2引导器目录结构及其引导菜单示例.rar,解压缩到ESP或者FAT32引导分区,然后对照着自己vhd的路径作相应修改既可,grub4dos、grub2引导器最新版可以从官网下载更新。
(1)  UEFI可以用grub4dosUEFI来作为主引导。从grub4dosUEFI官网:http://grub4dos.chenall.net/categories/0-4-6a-for-UEFI/,下载grub4dos UEFI2020-12-09之后的版本,把bootx64.efi放到(ESP或者FAT32引导分区)\EFI\boot\目录下面,并用Bootice添加UEFI引导序列,指向(ESP或者FAT32引导分区)\EFI\boot\bootx64.efi,(有些主板能够自动添加这个UEFI引导序列)。
image5.jpg

grub4dos UEFI默认引导菜单是\EFI\grub\menu.lst文件,文件要用utf-8编码,示例如下:
timeout 5
default 0
graphicsmode -1 800
#graphicsmode -1 -1 -1 24:32
#graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
find --ignore-floppies --set-root /efi/grub/unifont.hex.gz
font /efi/grub/unifont.hex.gz
#splashimage /efi/grub/lt.jpg
color normal=0x55ffff highlight=0xff00ff helptext=0xffff55 standard=0x55ffff border=0xaaaaaa
#color normal=0x07 highlight=0xE1 helptext=0x07 heading=0x02
setmenu --box x=4 w=60 y=6 h=9 l=2
setmenu --keyhelp=1 --lang=zh
setmenu --auto-num-on
setmenu --keyhelp=1=0x66ff00
setmenu --string=m=2=0x0000000000ffff="G4D维护菜单"
setmenu --string=s=1=0x8800000000ffff="date&time=yyyy-MM-dd  HH:mm:ss"
setmenu --timeout=90=2=0x88000000ffff
setmenu --hotkey -A [F4] commandline

title WIN7X64-SVBUS (/VHD/SX70211.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 /VHD/SX70211.vhd
map --mem --top /VHD/SX70211.vhd (hd)
chainloader (hd-1)

(2)UEFI也可以用grub2来引导,wintoflash大神在官方的grub2.04的基础上做了大量的修改,使之支持map,代码已开源https://github.com/a1ive/grub/releases/tag/latest,若下载慢可用 http://gitd.cc/ 下载。把grubx64.efi放到(ESP或者FAT32引导分区)\EFI\boot\目录下面,并用Bootice添加UEFI引导序列,指向(ESP或者FAT32引导分区)\EFI\boot\grubx64.efi。
image6.jpg

grub2默认引导菜单是\boot\grub\grub.cfg文件,文件要用utf-8编码,示例如下:
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

#loadfont /boot/grub/fonts/unicode.pf2
#set locale_dir=/boot/grub/locale
#set lang=zh_CN
#set gfxmode=auto,800x600,1024x768
#terminal_output gfxterm

menuentry "0.Windows" "/EFI/Microsoft/Boot/bootmgfw.efi" --hotkey=0 {
        search --no-floppy --set --file $2
        chainloader $2
}

menuentry "SX70211.vhd-svbus" "/VHD/SX70211.vhd" {
search --no-floppy --set=ntfs --file /EFI/grub/ntfs_x64.efi
efiload ($ntfs)/EFI/grub/ntfs_x64.efi
search --no-floppy --set --file $2
map --mem --rt -l $2
}

menuentry "SX70211.vhd-svbus-ntboot" "/VHD/SX70211.vhd" {
search --no-floppy --set --file $2
map --mem --rt -l $2
ntboot --win --highest=no --efi=(vd0,1)/EFI/boot/bootx64.efi --winload=\\Windows\\System32\\winload.efi (vd0,1)
}


(3)BIOS下可以用grub4dosBIOS版本来引导。Grub4dosBIOS版本下载地址:http://grub4dos.chenall.net/categories/0-4-6a/,以常用的引导流程为例,一般是windows的bootmgr→BCD→grldr→menu.lst,从压缩包提取到任意分区根目录,推荐直接放到引导分区根目录下面,用bootice编辑\boot\bcd,添加“实模式启动项grub”,如下图所示。
   image7.png

grldr会依次查找\menu.lst→\boot\menu.lst→\boot\grub\menu.lst文件并加载,\menu.lst文件推荐用utf-8编码,菜单示例如下:
graphicsmode-1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
#foregroundFFFFFF
#background0000AD
find--ignore-floppies --set-root /EFI/grub/unifont.hex.gz
font/EFI/grub/unifont.hex.gz
#colorwhite/blue blue/yellow light-red/blue 10
#colornormal=0x07 highlight=0xF1 helptext=0x07 heading=0x02 standard=0x07 border=0x09
colornormal=0x07 highlight=0xE1 helptext=0x07 heading=0x02
timeout5
default0

title0 boot Windows by zhaohj
find--set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
map() (hd0)
map(hd0) ()
map--rehook
find--set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
#rootnoverify(hd0,0)
chainloader/ntldr || chainloader /bootmgr

title WIN10X64-SVBUS (/VHD/ltsb-svbus.vhd)
find --ignore-floppies --ignore-cd --set-root /VHD/ltsb-svbus.vhd
map --mem --top /VHD/ltsb-svbus.vhd (hd0)
map (hd0) (hd1)
map --e820cycles=-1
map --hook
root (hd0,0)
chainloader (hd0,0)/bootmgr

7BIOS设置
前面我们安装系统都是用的windows的bootmgr/bootmgfw.efi作为主引导,微软的引导体系能够过“安全启动”,“安全启动”实质是微软为了加强其垄断地位打压linux,收取保护费的肮脏手段,grub4dos/grub2没有给微软交保护费,因此不能直接通过安全启动,一般地建议在BIOS设置中关闭安全启动,我随便从论坛找了个截图设置来说明问题。启动→安全启动→操作系统类型选择OtherOS。有的BIOS直接有Secure Boot的disable选项更直接。
论坛里面有绕过安全启动的方法,我感觉被微软封杀只是早晚的事情,我没什么研究,在此略过不表(惭愧)。
image8.jpeg


8、重启进入RAMOS
开机出现logo的时候按F12/F8/F9/F10启动快捷键选择从bootx64.efi或者grubx64.efi启动,然后选择想要启动的VHD-RAMOS即可。
image9.jpeg

不同品牌电脑的 U盘启动项快捷键http://wuyou.net/forum.php?mod=viewthread&tid=410907
   image10.png

  Svbus-UEFI-WIN10-RAMOS测速:
image11.jpeg

g4e+UEFI-WIN7-RAMOS
svbus-WIN7X64-UEFI-RAMOS.jpg

g4e/grub2+svbus+win8.1RAMOS
32GB内存=vhd占用6GB+Windows使用了1.6GB+剩余可用24.3GB
svbus-uefi-win8.1-ramos.jpg

9UEFI-RAMOS未来的技术展望
基于svbus的UEFI-RAMOS启动原理是,grub4dos_UEFI或者grub2_UEFI用EFI_RESERVED_MEMORY类型的map --mem –top xxx.vhd (hd0)加载vhd到内存,配合svbus驱动,让windows识别这个内存盘,并从这个内存盘上面启动。这个启动流程类似于grub4dos_BIOS的map--mem+firadisk/winvblock/svbus磁盘仿真启动。
(1)svbus驱动速度的优化和提升还有一定的空间,svbus内存盘连续读写我测试大概4~5GB/S,而primo6.3.1驱动可以达到16GB/S,是svbus的4倍。
(2)基于svbus制作的RAMOS把物理内存分成了三部分:第一部分是grub4dos/grub2仿真到内存盘;第二部分是windows本身及其应用程序占用的内存;第三部分是剩余可用内存。第一部分内存盘中剩余部分只能用来安装程序,不能转化为第三部分剩余可用内存,造成浪费;而第三部分剩余可用内存也不能转化为第一部分内存盘空间,想安装程序在RAMOS_C盘,剩余空间又太小。
对比下BIOS下primo驱动制作的RAMOS,第一部分和第三部分内存可以互为转化,内存即硬盘,硬盘即内存,你有多大的内存就可以建立多大的内存盘,比如你有32GB内存,就可以建立32GB的内存盘,扣除windows本身运行所需的1.5GB内存之后,RAMOS的C盘空间可以和剩余可用内存在保持总和32-1.5=30.5GB不变的情况下,可以互为转化,C盘大可以安装测试很多软件,充分利用内存。
未来展望(已实现):grub4dos_UEFI或者grub2_UEFI的map xxx.vdf (hd0)加载vdf到虚拟磁盘C:盘,windows从这个虚拟磁盘C:盘接着启动,加载,比如primo内存盘驱动,由primo驱动把xxx.vdf加载到内存盘比如R:盘,这个xxx.vdf里面互换了C:盘和R:盘的mounteddevice,windows可以从这个内存盘C:盘继续启动,这个primo驱动是现成的,速度很快。
Svbus驱动方案,内存盘是由grub4dos/grub2创建的,而primo驱动方案内存盘则是由primo驱动创建的,这是这两个方案的区别。

10、特别鸣谢
不点——grub4dos项目发起人
Bean——grub4dos开发者
Chenall——grub4dos开发者
2011yaya2007777——grub4dos开发者
Wintoflash——grub2开发者
Pauly——bootice作者
Kai Schtrom——开源SVBus驱动作者,来自德国。
Sunsea——超版,svbus源代码级别的解读支持。
朱玛12345678——超版,给svbus驱动制作了签名,确保顺利安装。
Sinoxer——USB3_Drivers_Smart_Install_For_Win7
红毛樱木——ceomsx(USB3及NVME等驱动注入工具)
xyzy1008——飞天舞,1.9GB WIN8.1极限精简版,用于测试。
alacran——svbus-UEFI-RAMOS大量测试和反馈,来自墨西哥。
Liuzhaoyzz——超版,grub4dos/grub2+svbus-UEFI-RAMOS大量测试和反馈。
Wuwuzz——grub4dos/grub2问题反馈。
Xianglang——NTFS_x64.efi驱动加载测试和反馈。
t5481194版主——不同品牌电脑启动热键。
等等等等……


评分

参与人数 11无忧币 +65 收起 理由
amita + 5
yang77 + 5 百花齐放,争相斗艳!
caiiaccai + 5 很给力!
yanwc + 5 很给力!
xuxuezeng + 5 很给力!
ko20010214 + 5 很给力!
董大 + 5 赞一个!
luohanqing + 5 很给力!
freesoft00 + 5
朱玛12345678 + 10 前排支持!
20090101 + 10 很给力!

查看全部评分

 楼主| 发表于 2020-12-11 12:05:36 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2021-1-15 10:00 编辑

二楼备用
推荐用WINNTSETUP安装在固定大小的VHD中
推荐用WINNTSETUP安装在固定大小的VHD中
推荐用WINNTSETUP安装在固定大小的VHD中


RAMOS Win7企业版启动后出现重启电脑提示 - RAMOS - 无忧启动论坛 - Powered by Discuz! http://bbs.wuyou.net/forum.php?m ... &extra=page%3D9
回复

使用道具 举报

 楼主| 发表于 2020-12-11 12:05:48 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-13 14:17 编辑

三楼备用
大家可以尝试下,安装vhd的时候,用wimboot压缩模式,或者compact lzx形式,或者NTFS压缩形式安装系统,这样子RAMOS的C盘剩余空间能够大点,理论上来说NTFS压缩模式最稳定。

基于svbus驱动制作的RAMOS,windows开始菜单左键和右键都可以正常点开,系统托盘区的音量、WIFI也可以正常点开,基于微软的ramdisk.sys驱动的RAMOS则存在点击无效的问题。

svbus驱动制作的RAMOS可以看做是vhd系统的一个副本,这个副本直接运行于高位内存中,原系统是什么样子的,副本就是什么样子的。


回复

使用道具 举报

发表于 2020-12-11 12:48:17 | 显示全部楼层
非常好
回复

使用道具 举报

发表于 2020-12-11 13:04:24 | 显示全部楼层
前排支持!
回复

使用道具 举报

发表于 2020-12-11 13:44:12 | 显示全部楼层
p驱也行

点评

你试过了吗?来个教程  详情 回复 发表于 2020-12-11 13:50
回复

使用道具 举报

 楼主| 发表于 2020-12-11 13:50:19 | 显示全部楼层

你试过了吗?来个教程

点评

推测的  详情 回复 发表于 2020-12-11 13:55
回复

使用道具 举报

发表于 2020-12-11 13:55:44 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-11 13:50
你试过了吗?来个教程

推测的
回复

使用道具 举报

发表于 2020-12-11 14:47:28 | 显示全部楼层
BOOTICE 禁止签名是无用的,按 F8 选择禁止签名,只能当次有效。

至于 BIOS 下的 2003 安装,还是使用安装时选择软盘安装驱动比较好,而安装后注入驱动,无论是 2003 还是 7/10,我从来就没有成功过。

点评

F8还是太麻烦了,还是朱玛制作的代签名的驱动好啊!  详情 回复 发表于 2020-12-11 14:57
回复

使用道具 举报

 楼主| 发表于 2020-12-11 14:57:16 | 显示全部楼层
xianglang 发表于 2020-12-11 14:47
BOOTICE 禁止签名是无用的,按 F8 选择禁止签名,只能当次有效。

至于 BIOS 下的 2003 安装,还是使用安 ...

F8还是太麻烦了,还是朱玛制作的带签名的驱动好啊!
回复

使用道具 举报

发表于 2020-12-11 17:17:54 | 显示全部楼层
BOOTICE 禁止签名是无用的,按 F8 选择禁止签名,只能当次有效。
至于 BIOS 下的 2003 安装,还是使用安装时选择软盘安装驱动比较好,而安装后注入驱动,无论是 2003 还是 7/10,我从来就没有成功过。

越南的一个朋友跟我提过,BOOTICE 智能模式编辑 BCD 时"禁用签名验证"这个项目放的地方不对。
1.png
2.png
图1是错误的,图2是正确的。

点评

其实一半是对的,第一个适用于修改了bootmgr的情况,比如说替换bcd名字。第二个适用于装未签名驱动。  详情 回复 发表于 2020-12-11 19:03
回复

使用道具 举报

发表于 2020-12-11 17:37:51 | 显示全部楼层
多谢liuzhaoyzz版主总结的真详细……等电脑好了又可以折腾了……
回复

使用道具 举报

发表于 2020-12-11 17:38:05 | 显示全部楼层
本帖最后由 luohanqing 于 2020-12-11 17:49 编辑

      老虎看铜车似地看了一遍,学习了。
BIOS-RAMOS制作,还是推荐大家直接用芈员外的《RAMOS一键批处理多合一V3.8.7》的方案更好。V3.8.7在哪里下载?

点评

还真有,找到了版主发的3.8.7版 http://wuyou.net/forum.php?mod=viewthread&tid=410849  发表于 2020-12-11 18:03
我也没找到3.8.7,估计是3.8.6,可能是手误……  发表于 2020-12-11 17:54
回复

使用道具 举报

发表于 2020-12-11 19:03:51 来自手机 | 显示全部楼层
wintoflash 发表于 2020-12-11 17:17
越南的一个朋友跟我提过,BOOTICE 智能模式编辑 BCD 时"禁用签名验证"这个项目放的地方不对。



其实一半是对的,第一个适用于修改了bootmgr的情况,比如说替换bcd名字。第二个适用于装未签名驱动。

点评

svbus驱动速度能看下还有提升的空间吗?  详情 回复 发表于 2020-12-11 21:52
回复

使用道具 举报

发表于 2020-12-11 19:55:31 | 显示全部楼层
厉害厉害!老心在ramos道路上越走越远了,强烈支持!继续发扬这种研究精神!

点评

羋员外经常来论坛看看,回回帖子啊,很多问题我回答不了,我又成功的经验,但是没什么失败的教训。前期都是你从众多失败的路上一路摸索过来的。  详情 回复 发表于 2020-12-12 13:50
回复

使用道具 举报

 楼主| 发表于 2020-12-11 21:52:50 来自手机 | 显示全部楼层
sunsea 发表于 2020-12-11 19:03
其实一半是对的,第一个适用于修改了bootmgr的情况,比如说替换bcd名字。第二个适用于装未签名驱动。

        svbus驱动速度能看下还有提升的空间吗?

点评

应该还有,它用DO_DIRECT_IO的,如果用NETHEIR_IO的话应该能更快(少了处理内存映射的时间),但是代价就是蓝屏率更高……  详情 回复 发表于 2020-12-11 22:30
回复

使用道具 举报

发表于 2020-12-11 22:30:43 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-11 21:52
svbus驱动速度能看下还有提升的空间吗?

应该还有,它用DO_DIRECT_IO的,如果用NETHEIR_IO的话应该能更快(少了处理内存映射的时间),但是代价就是蓝屏率更高……

点评

如果你有兴趣,有时间的话,改下看看。  详情 回复 发表于 2020-12-12 13:51
回复

使用道具 举报

发表于 2020-12-12 00:35:46 | 显示全部楼层
大神威武!敬仰不止!
回复

使用道具 举报

发表于 2020-12-12 10:41:26 | 显示全部楼层
本帖最后由 2011whp 于 2020-12-12 14:10 编辑

两个U盘:
   一个盘:为 svbus imgpe  实体的
   一个盘:为 g4e    里边存一个 img (我试的是 500M 两分区),确保 img 无碎片

启动过程:
   1.  启动 g4e盘  map  /img.img  (hd)
   2.  转到  shell下   启动  svbus imgpe  实体的  (或  chainloader  (实体svbus pe盘)  )
   
结论:  挂的那img 是可写的。重启后不会丢失



回复

使用道具 举报

发表于 2020-12-12 12:50:33 | 显示全部楼层
经典文谢谢
回复

使用道具 举报

 楼主| 发表于 2020-12-12 13:50:46 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-12 17:58 编辑
y7y007 发表于 2020-12-11 19:55
厉害厉害!老心在ramos道路上越走越远了,强烈支持!继续发扬这种研究精神!

羋员外经常来论坛看看,回回帖子啊,很多问题我回答不了,我有成功的经验,但是没什么失败的教训。前期都是你从众多失败的路上一路摸索过来的。
回复

使用道具 举报

 楼主| 发表于 2020-12-12 13:51:22 | 显示全部楼层
sunsea 发表于 2020-12-11 22:30
应该还有,它用DO_DIRECT_IO的,如果用NETHEIR_IO的话应该能更快(少了处理内存映射的时间),但是代价就 ...

如果你有兴趣,有时间的话,改下看看。
回复

使用道具 举报

发表于 2020-12-12 17:34:28 | 显示全部楼层
期待早日技术成熟
回复

使用道具 举报

发表于 2020-12-12 19:39:13 | 显示全部楼层
谢谢楼主的无私奉献,学习了。
回复

使用道具 举报

发表于 2020-12-12 20:39:46 | 显示全部楼层
本帖最后由 2012wuzhong 于 2020-12-12 20:41 编辑

如果g4d-uefi能支持非mem仿真硬盘,p驱就能实现了,
map /VHD/SX10090329.vhd (hd)

点评

G4E支持这样 MAP 啊,不是非得映射到内存的。  详情 回复 发表于 2020-12-13 13:28
回复

使用道具 举报

发表于 2020-12-13 13:28:17 | 显示全部楼层
2012wuzhong 发表于 2020-12-12 20:39
如果g4d-uefi能支持非mem仿真硬盘,p驱就能实现了,
map /VHD/SX10090329.vhd (hd)

G4E支持这样 MAP 啊,不是非得映射到内存的。

点评

g4e确实支持直接map vhd启动,不带--mem的那种。reboot.pro似乎归类为“filedisk” 类别。  详情 回复 发表于 2020-12-13 16:52
回复

使用道具 举报

 楼主| 发表于 2020-12-13 16:52:44 来自手机 | 显示全部楼层
xianglang 发表于 2020-12-13 13:28
G4E支持这样 MAP 啊,不是非得映射到内存的。

       g4e确实支持直接map vhd启动,不带--mem的那种。reboot.pro似乎归类为“filedisk” 类别。
回复

使用道具 举报

 楼主| 发表于 2020-12-14 20:05:41 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-22 20:40 编辑

来自墨西哥的alacran朋友,把这篇教程翻译成了英文版,在此表示感谢!
我上传上来。
170楼:http://reboot.pro/topic/22400-grub4dos-for-uefi/?p=217354
220楼最新:http://reboot.pro/topic/22400-grub4dos-for-uefi/?p=217444

Turorial-2 docx.7z

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

Turorial-2 PDF.7z

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

回复

使用道具 举报

发表于 2020-12-15 08:15:21 来自手机 | 显示全部楼层
不好意思,g4e还没有用过,如果能直接
回复

使用道具 举报

发表于 2020-12-15 08:17:27 来自手机 | 显示全部楼层
map的话,p驱应该是可以的,现在不行可能是由于fat分区的缘故,如果将fat分区放在后面,或许就行了

点评

虎哥,要加fat只能放前面,不然动态不了,放后面镜像就过不了底位内存了,这样就出问题了  详情 回复 发表于 2020-12-17 20:53
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-16 14:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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