无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 158054|回复: 711
打印 上一主题 下一主题

[原创] GRUB2 UEFI 下的磁盘仿真

    [复制链接]
1#
发表于 2019-11-4 21:19:40 | 显示全部楼层
窄口牛 发表于 2019-11-4 20:48
我的efi十一兆,将所有模块的打包进去,这样就不需要insmod了。

我以前想把pe也打包进去,被楼主鄙视了
回复

使用道具 举报

2#
发表于 2019-11-6 19:43:29 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-6 16:38
led
我试了可以发送啊,难道对于windows和linux操作系统过滤的关键字还不同啊?

那个led是我call站长删掉的
回复

使用道具 举报

3#
发表于 2019-11-9 21:20:54 | 显示全部楼层
vhd这个虚拟盘win应该不认识吧

点评

wintoflash不是已经启动了吗?win不认是什么意思,直接从C盘可以启动这个vhd。  详情 回复 发表于 2019-11-9 21:25
回复

使用道具 举报

4#
发表于 2019-11-9 21:28:49 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-9 21:25
wintoflash不是已经启动了吗?win不认是什么意思,直接从C盘可以启动这个vhd。

他启的是iso啊

点评

一楼二楼明显说的是vhd啊,怎么是iso,pe.iso,pe.wim我这边启动没问题。  详情 回复 发表于 2019-11-9 21:30
回复

使用道具 举报

5#
发表于 2019-11-9 21:33:01 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-9 21:30
一楼二楼明显说的是vhd啊,怎么是iso,pe.iso,pe.wim我这边启动没问题。

加载啊,不是启动

点评

我怎么看帖子好像是能够启动~~~我误会了?  发表于 2019-11-9 21:37
回复

使用道具 举报

6#
发表于 2019-11-10 15:29:15 | 显示全部楼层
hilsonma 发表于 2019-11-10 15:24
g4d是支持vhdx的,我试过。只是不知道是不是通过map支持的,因为我用的是外部命令siso

ntboot siso run模块之类用的是bootmgr启的vhd

点评

那它们也要内置bootmgr和bcd呀,如果有人能把xorboot那套内置方法搞出来当成grub2外部程序用那也相当于grub2支持这类启动了。 那怕是外置的bootmgfw.efi和bcd也行,象wimboot那样,总之能通用启动就行,不需要每个v  详情 回复 发表于 2019-11-10 15:57
回复

使用道具 举报

7#
发表于 2019-11-20 12:09:39 | 显示全部楼层
楼上这提示应该是传统引导模式的吧。。
回复

使用道具 举报

8#
发表于 2019-12-21 18:01:52 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-21 17:16
问下wintoflash大神,你修改的grub2,UEFI下面怎么实现网启PE.ISO?能否支持http协议?

map --mem (http)/xxoo.iso

点评

引导文件选择编译出来的grubx64.efi?他会找本地配置文件/boot/grub/grub.cfg,不会找webserver上面的grub.cfg,怎么办,找不到就进入了rescue。 葱大可有详细点的教程?你分享的经验太多了,看得目不暇接啊!  详情 回复 发表于 2019-12-21 18:10
回复

使用道具 举报

9#
发表于 2019-12-21 18:55:39 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-21 18:39
能详细说下吗?或者有没有网址或者教程之类的?网上的知识太多,找起来太费劲了。
葱大有没有整理好的教程 ...

efi下网启我是用ipxe带参数启grub2的 ,Grub2在efi下目前不支持proxydhcp..
反正grub2下用(http),net_default_server对应http服务器的ip

比如取http://192.168.1.200/grub.cfg

net_default_server必须是192.168.1.200
就可以configfile (http)/grub.cfg取文件。。

就算你是本地启,执行一下net_dhcp,也可以取文件
回复

使用道具 举报

10#
发表于 2019-12-21 19:09:22 | 显示全部楼层
liuzhaoyzz 发表于 2019-12-21 19:01
为什么要用ipxe.efi来启动grub2?grub2.efi直接pxe启动,添加http模块不行吗?
为什么要来回倒腾?

如果局域网中有路由,开了dhcp的话grub2就启不来了,
ipxe.efi支持proxydhcp啊,然后proxydhcp作为参数 把net_default_server弄成正确的ip地址,

所以和g4d一样来回倒腾一下。
回复

使用道具 举报

11#
发表于 2019-12-21 20:01:41 | 显示全部楼层
本帖最后由 江南一根葱 于 2019-12-21 20:12 编辑
liuzhaoyzz 发表于 2019-12-21 19:23
对于tinypxeserver,有路由器dhcp的环境,我感觉开启了proxydhcp,客户端反而获取不到ip地址,跟官网说的反 ...

如果是楼主的grub2,这个放进去生成就行了,取tftp上的,grub.cfg的。
build_netgrub.7z (483 Bytes, 下载次数: 15)

因为cfg是echo >暴力生成的,所以会提示奇怪的内容,删掉这几行自己编辑那两个cfg,保存成什么utf8无bom格式就不会提示奇怪的东西了。

点评

感谢分享!  详情 回复 发表于 2019-12-21 21:51
回复

使用道具 举报

12#
发表于 2020-5-13 11:38:42 | 显示全部楼层
wintoflash 发表于 2020-5-13 11:13
我喜欢调试信息,所以不让屏蔽。

要不弄个动态图,盖住

点评

不用。 menuentry "WePE_64_V2.0.iso" "WePE_64_V2.0.iso" { strconv --gbk --set=file "(http)/imgs/WePE_64_V2.0.iso";for dev in (cd*); do map -x $dev;done;map --mem --type=CD ${file} } 用这样子的  详情 回复 发表于 2020-5-13 11:45
回复

使用道具 举报

13#
发表于 2020-5-13 18:06:43 | 显示全部楼层
liuzhaoyzz 发表于 2020-5-13 17:18
这样子的菜单,大大增加了菜单的复杂度,少个空格都出错。
本来一句map -x ${dev}就能够搞定的,现在要 ...

写成fuck函数,各个菜单调用,能极大缩简语句
只需要输fuck

点评

菜单里面再搞函数,感觉可读性较差,就一两条语句,没必要搞函数啊。  详情 回复 发表于 2020-5-13 18:57
回复

使用道具 举报

14#
发表于 2020-5-13 18:59:57 | 显示全部楼层
liuzhaoyzz 发表于 2020-5-13 18:57
菜单里面再搞函数,感觉可读性较差,就一两条语句,没必要搞函数啊。

不是要弄在菜单里搞啊,写在别处,多个菜单里使用啊你不是说有七条语句

点评

写在别处不是更乱了吗?一个grub.cfg已经够我折腾的了。  详情 回复 发表于 2020-5-13 20:20
回复

使用道具 举报

15#
发表于 2020-11-6 22:54:53 来自手机 | 显示全部楼层
不加mem也可以拔掉u盘的,毕竟最后都是由bootmgfw.efi载入内存,快慢。这就看grub2和微软启动器那个读盘能力强了

点评

全内置的PE,一般都是可以拔掉优盘的,外置版本的PE,拔掉优盘可能外置软件找不到,严重的可能会导致蓝屏。我更加喜欢全内置版本的PE。  详情 回复 发表于 2020-11-9 10:21
回复

使用道具 举报

16#
发表于 2020-11-9 17:54:15 | 显示全部楼层
liuzhaoyzz 发表于 2020-11-9 10:21
全内置的PE,一般都是可以拔掉优盘的,外置版本的PE,拔掉优盘可能外置软件找不到,严重的可能会 ...

外置版的,加了mem照样不能拔。。。

点评

外置版的,BIOS启动,如果集成了firadisk这样的驱动,可以拔盘。xppe有继承这样的驱动的,WIN7 8 10PE好像很少见了。  详情 回复 发表于 2020-11-10 07:55
回复

使用道具 举报

17#
发表于 2020-11-10 15:15:50 | 显示全部楼层
liuzhaoyzz 发表于 2020-11-10 07:55
外置版的,BIOS启动,如果集成了firadisk这样的驱动,可以拔盘。xppe有集成这样的驱动的,WIN7 8 ...

能拔的。。那就不叫外置版了。。。
回复

使用道具 举报

18#
发表于 2020-11-29 10:11:47 | 显示全部楼层
本帖最后由 江南一根葱 于 2020-11-29 10:13 编辑
hilsonma 发表于 2020-11-29 08:06
使用ntboot/wimboot直接引导wim镜像是不是就不用纠结光驱问题了

玩量产的一般不玩这个
不过如果有维护dell的老服务器,只能玩量产,不量产装系统会纠结死,对了,还有水果机,量产可以一劳永逸,不过我现在已没有这种应用场景了,所以不玩量产好几年

点评

玩量产的也玩这个。 wimboot/ntboot也试过。麻烦但有效,把PE ISO拆开,把wim提出来。 以grub2为引导,重做ISO,wmboot引导*.wim...  详情 回复 发表于 2020-11-29 11:45
哦。我没有接触过这些机器,所以没有用过量产,没有这种需求。 一直在疑问为什么还要将wim放进iso,现在才明白应用场景。  详情 回复 发表于 2020-11-29 10:29
回复

使用道具 举报

19#
发表于 2020-11-29 10:34:37 | 显示全部楼层
hilsonma 发表于 2020-11-29 10:29
哦。我没有接触过这些机器,所以没有用过量产,没有这种需求。
一直在疑问为什么还要将wim放进iso,现在 ...

我估计是最早把grubfm.iso量产到u盘用的,虽然那时候功能还太弱。
ventoy和grubfm如果都能这样用,也是不错的应用方式了
回复

使用道具 举报

20#
发表于 2020-12-9 20:54:40 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-8 18:50
等我试试看。
I:\boot\grub\grub.cfg
set default=0

你这个是我vhd有碎片时的错误,
没碎片时的错误不是这样的
回复

使用道具 举报

21#
发表于 2020-12-10 12:58:15 | 显示全部楼层

我tm才制作成功,才知道在前部调整分区的时候把vhd上的win10搞坏了,
在后部划出fat分区就成功了。
10真脆弱

点评

VHD里面应该不需要FAT32分区吧,VHD外面可能需要FAT32分区,保存启动文件比如grubx64.efi  详情 回复 发表于 2020-12-10 13:39
回复

使用道具 举报

22#
发表于 2020-12-10 13:42:10 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-10 13:39
VHD里面应该不需要FAT32分区吧,VHD外面可能需要FAT32分区,保存启动文件比如grubx64.efi

估计放一个启动比较省事,直接可以map后马上boot,
不放的话,还要手chainloader一下

点评

vhd单分区,也是直接map即可,不需要chainloader  详情 回复 发表于 2020-12-10 17:56
回复

使用道具 举报

23#
发表于 2020-12-10 13:43:21 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-10 13:26
只有晚上看看了。
我很好奇,为什么WIN10+SVBUS就可以成功,为啥WIN7+SVBUS就不行?会不会与sunsea提到 ...

csm不开的话要有显卡驱动吧,不然貌似会黑屏
我纯uefi下启过wim格式的ramoswin7
回复

使用道具 举报

24#
发表于 2020-12-10 14:20:52 来自手机 | 显示全部楼层
wintoflash 发表于 2020-12-10 13:46
必须有/EFI/BOOT/BOOTX64.EFI,位于 UEFI 认可的分区里 (FAT)。
如果用 NTBOOT 启动VHD的话可以不需要这 ...

efiload那个 ntfs驱动后会不会可以认ntfs分区里的

点评

intel 就是这么造的(我想开源后,也是这样的),只是没人用,(我这么用了一段时间了)  详情 回复 发表于 2020-12-11 11:35
可以。那ntfs里面也得有/efi/boot/bootx64.efi啊。  详情 回复 发表于 2020-12-10 14:35
回复

使用道具 举报

25#
发表于 2020-12-10 20:08:22 | 显示全部楼层
  • 通过ipxe高速下载并网启3g大的ramosvhd成功
回复

使用道具 举报

26#
发表于 2020-12-12 19:08:19 | 显示全部楼层
哈哈,起初我也遇到过你们在说的问题
我的解决过程是,pe下chkdsk一下vhd所在分区,然后强制trim一下vhd所在的SSD,重建一个vhd,问题解决

点评

晚点试试看  详情 回复 发表于 2020-12-12 20:30
回复

使用道具 举报

27#
发表于 2020-12-13 10:06:57 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-12 20:30
晚点试试看

试过了,chkdsk /f没用,从github下载grub2 1212版本结果一样。

是vhd要重做,坏了,
我遇到的情况是启动失败后,再把vhd挂载出来,再用dism++查看添加驱动页面,提示不支持该接口

点评

没有道理怀疑vhd坏了。 因为同一个vhd,用bootmgfw.efi启动它没有问题;用g4e的map --mem --top启动它也没问题。  详情 回复 发表于 2020-12-13 10:27
回复

使用道具 举报

28#
发表于 2020-12-13 10:07:48 | 显示全部楼层
我怀疑是这样“操作内存”后,uefi固件和windows其中之一疯了。
回复

使用道具 举报

29#
发表于 2020-12-13 15:00:58 | 显示全部楼层
假设一下,直接map不mem启动后,vhd会产生碎片吧,

点评

只是启动下VHD,读写一般不多,临时文件基本不怎么影响碎片的,很早以前g4d+firadisk就是这样子,不会产生什么碎片。 大不了就用wincontig整理下。  详情 回复 发表于 2020-12-13 16:49
回复

使用道具 举报

30#
发表于 2020-12-13 17:06:17 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-13 16:49
只是启动下VHD,读写一般不多,临时文件基本不怎么影响碎片的,很早以前g4d+firadisk就是这样子, ...

我只不过往vhd加了几个文件,就产生碎片了
直接就蓝屏,

点评

不会吧?!你的vhd是不是放在ssd上面?ssd有FTL中间层会影响碎片。  详情 回复 发表于 2020-12-13 18:19
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-20 00:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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