无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 11276|回复: 82
打印 上一主题 下一主题

WIN下安装UMBR

  [复制链接]
跳转到指定楼层
#
发表于 2021-9-22 08:22:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 szwp 于 2021-9-22 10:05 编辑

UMBR原帖:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=374547

在WIN系统或PE下安装,未分区已分区都可安装,已分区的要第一区起始在2048扇区后。

0扇区安装引导代码,3份grldr到68扇区和2048扇区之间。

U盘和硬盘都可安装,有些主板硬盘是GPT不会读取0扇区,可先用U盘测试。
附件下载任意一个即可,没找到删除的地方。

grldr2mbr.7z

203.94 KB, 下载次数: 106, 下载积分: 无忧币 -2

grldr2mbr.7z

203.94 KB, 下载次数: 45, 下载积分: 无忧币 -2

grldr2mbr.7z

203.94 KB, 下载次数: 44, 下载积分: 无忧币 -2

评分

参与人数 2无忧币 +10 收起 理由
879792799 + 5 很给力!
freesoft00 + 5

查看全部评分

50#
发表于 2023-7-28 16:23:19 | 只看该作者
很给力!
回复

使用道具 举报

49#
发表于 2022-4-3 19:58:40 | 只看该作者
本帖最后由 2011yaya2007777 于 2022-4-3 21:27 编辑
这是修改楼主的工具,修正了第3启动实际无效的问题。如果不是有意去删除第1、2启动文件的话,其实大家也很难会碰到这个问题。

使用33#的工具,安装gpt分区的U盘,其中有一个ext4分区。结果U盘被识别为mbr分区。看来脚本还有改进的余地。
回复

使用道具 举报

48#
 楼主| 发表于 2022-3-31 09:52:44 | 只看该作者
2011yaya2007777 发表于 2022-3-31 08:15
这个可以使用批处理实现吗?

可以,diskpart的list part可以查到偏移量,星语风修改版应该有检查,当时在群讨论过。
回复

使用道具 举报

47#
发表于 2022-3-31 08:15:19 | 只看该作者
看下第一区起始扇区号不能小于2048

这个可以使用批处理实现吗?
回复

使用道具 举报

46#
 楼主| 发表于 2022-3-29 18:29:56 来自手机 | 只看该作者
UMBR设计多引导和校验就是为了防止扇区被破坏,还可安装到其它分区间隙
回复

使用道具 举报

45#
发表于 2022-3-29 18:23:30 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2022-3-29 18:28 编辑
hilsonma 发表于 2022-3-29 18:13
你前面说的是对的,最后一句,chenall的方案只占用一个扇区,这个误解了。

上面讨论的各种方案都是只 ...


chelall写入的那一个扇区,应该是起到一个跳转启动的作用,就跟bootmgr位于MBR占用的0扇区一样,只是起个跳转作用,跳转到bootmgr实体文件上,然后启动。

另外,我也试了下,chenall的方案安装好之后,grldr实体文件删除之后也能够启动,这是因为他所在的扇区没有被新数据写入。挺神奇的!

要知道,以前的BIOS+grldr.mbr+grldr实体文件方案,如果删除了grldr实体文件,就会报找不到实体文件,不能继续启动了。
回复

使用道具 举报

44#
发表于 2022-3-29 18:13:20 | 只看该作者
本帖最后由 hilsonma 于 2022-3-29 18:16 编辑
liuzhaoyzz 发表于 2022-3-29 17:49
感谢回复,看样子我的理解基本上是对的。

我个人觉得chenall的方案更加健壮。为什么?因为分区之前的 ...

你前面说的是对的,最后一句,chenall的方案只占用一个扇区,这个误解了。

上面讨论的各种方案都是只占用一个扇区,就是mbr那部分。这部份或者是umbr,或者是grldr_gpt_boot.bin
然后这个扇区就引导grldr (我的方案是引导wee,再由wee实现后续引导)

chenall的方案中,已经预设grldr是现成的,只是在安装中把现成的grldr所在的位置换成绝对扇区地址写入umbr中。

szwp的方案中,是预设grldr放在分区前,将位置写好在umbr中,再按这个位置写入grldr文件

我的方案中,预设wee放在分区前,将位置写好在umbr中,再按这个位置写入wee文件。再由wee实现后续引导。

星语风的方案我还没有看,参考szwp的说法,应该是预设grldr.mbr放在分区前,将位置写好在grldr_gpt_boot.bin中,再按这个位置写入grldr.mbr,再由grldr.mbr寻找grldr引导。

点评

chelall写入的那一个扇区,应该是起到一个跳转启动的作用,就跟bootmgr位于MBR占用的0扇区一样,只是起个跳转作用,跳转到bootmgr实体文件上,然后启动。 另外,我也试了下,chenall的方案安装好之后,grldr实体  详情 回复 发表于 2022-3-29 18:23
回复

使用道具 举报

43#
发表于 2022-3-29 17:56:52 | 只看该作者
星语风 发表于 2022-3-29 15:59
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=421926
根据这里第4楼 2011yaya2007777 代码写的工具 ...

谢谢分享
回复

使用道具 举报

42#
发表于 2022-3-29 17:56:48 来自手机 | 只看该作者
szwp 发表于 2022-3-29 17:49
嵌入bios,无盘也能启,按快捷键进

最早的时候grub4dos开发者bean有过实战,似乎是把他精简过的127扇区的grldr写入网卡的ROM,成功启动过grldr。
回复

使用道具 举报

41#
 楼主| 发表于 2022-3-29 17:49:19 来自手机 | 只看该作者
嵌入bios,无盘也能启,按快捷键进
回复

使用道具 举报

40#
发表于 2022-3-29 17:49:14 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2022-3-29 18:00 编辑
hilsonma 发表于 2022-3-29 17:24
windows下的方案和chenall的方案没有本质的区别。

chenall的方案是只写了一个扇区,这个方案指向了grl ...


感谢回复,看样子我的理解基本上是对的。

我个人觉得chenall的方案更加健壮。为什么?因为分区之前的保留扇区,可能很多程序都会盯上他们,因为他们一般情况下不可见啊,做些小动作没人知道呀,比如病毒,一些软件会把注册信息写到保留扇区,等等,想当初wee的引导扇区就被ghost破坏了,后来不点大被迫减小了wee占用的扇区到了62扇区之内,才解决了问题。我碰到有些情况必须清除分区之前的保留扇区,然后写入g4d引导才会生效,写入保留扇区占用的扇区越多,我觉得越不可靠,各种软件只要有意或者无意地破坏某个扇区的数据,就可能导致grldr拿不到控制权,chenall的方案只占用一个扇区,我觉得被破坏的几率更低。
回复

使用道具 举报

39#
发表于 2022-3-29 17:34:53 | 只看该作者
本帖最后由 hilsonma 于 2022-3-29 17:38 编辑
szwp 发表于 2022-3-29 17:30
以前有过迷你g4d可嵌入主板bios,目前g4d基本需要几百K,只是选择放哪了

你说的迷你g4d会不会就是wee,wee刚开发时就是叫迷你g4d的


http://bbs.znpc.net/forum.php?mo ... muid=12697#pid45345
mini grldr以后会有对应的mini grub.exe吗(io.sys加载)?
现在就等几个常用的外部命令了,如:map、write、dd、chainloader...

【不点的回复】

这个精简版目的就是放在 MBR 上。在 DOS 命令行下没有意义。DOS 命令行下可以启动很大的文件,没有 63 扇区的限制。所以,DOS 命令行下应该使用完整版的 grub.exe。
等基本功能都稳定了,再考虑编写外部命令。

我其实已经准备了一个名称,就叫做 wee。因为新的 grldr 结构不同于完整版的 grldr 的结构,所以,有必要更改一下名字。

将来 wee 可能有 63 扇区的版本以及 64K 的版本。也分放在 MBR 上还是给 ROM 用。

放在 MBR 上的就叫 wee63.mbr 和 wee128.mbr
放在 ROM 中的就叫 wee63.rom 和 wee128.rom

我在考虑,是不是把提示符也改成 wee>
wee 翻译一下是“极小”,故名“小不点”,哈哈。

觉得精简版意义重大,万能启动。

wee:很少的,微小的,极小的,很早的。

有很多词汇都曾经被用于小的操作系统,比如 mini,tiny,nano,micro 等等,这类常用词都被用光了。

所以就找到这个无人问津的 wee 了。如果将来真的成为了一个操作系统,中文名字可以叫做“微”,与英文语音相近,词义也相近。

起初找这个 wee 不是想把它当作一个操作系统的名字,而是想把它当作一个后缀(wee是三个字母,作为后缀很合适,也很难得;其他的同义词都要超过三个字母):grldr.wee 以区别于 grldr.mbr。但是,后来,grldr 的开头 16 扇区不能存在了,精简为 2 扇区了,这样,就不能再用 grldr 作为主要名字了。所以,我就想,干脆就把主要名字叫做 wee 得了。

目前的第一扇区中启动失败时的提示字符串就是 “Urr! wee...”。
grldr.wee 不好,因为将来不利于区分 63 扇区和 128 扇区的版本。也不容易区分 ROM 版和 MBR 版。

grldrwee 也存在一样的问题:

grldrwee63.mbr、grldrwee63.rom 显然超过了 8.3 文件名的要求,不美观。

这个 wee,如果看成是一个独立的操作系统的话,它是从 grub4dos 发展而来的,或者说,是基于 grub4dos 的。一个东西基于另一个,新的不一定非得在名称上与旧的有牵连。ubuntu 基于 debian,但在名称上从未体现出 debian 字样。


回复

使用道具 举报

38#
 楼主| 发表于 2022-3-29 17:30:41 来自手机 | 只看该作者
以前有过迷你g4d可嵌入主板bios,目前g4d基本需要几百K,只是选择放哪了
回复

使用道具 举报

37#
发表于 2022-3-29 17:24:10 | 只看该作者
liuzhaoyzz 发表于 2022-3-29 16:54
这些windows下的方案和chenall的方案有哪些本质的区别?我没有搞懂。
我看chenall的方案,似乎只修改 ...

windows下的方案和chenall的方案没有本质的区别。

chenall的方案是只写了一个扇区,这个方案指向了grldr的1-3个绝对地址。这3个地址可以在bios可以识别的区域内,都可以启动。你的理解没有错。

我们的方案基本都是将那3个绝对地址都放在分区之前,这样可以避免损坏(在正常分区内容易被删除,单单删除都还是可以引导的,但被删除后,这些地址早晚会被其他数据填充,一被填充了就不能引导了。)

如果umbr引导的是grldr本身,而grldr已写在分区前,这样分区可见范围内是不需要grldr文件了的,可见的grldr文件被删除了也没事,你的理解对。

不过我做的umbr引导的不是grldr本身,而是wee,所以还是需要grldr的,或者bootmgr,或者ntldr,这3个有其中一个就可以了,不只一个的话就按找到的先后顺序,同一个地方有这3个的话我设定的优先次序是 grldr > bootmgr > ntldr

点评

感谢回复,看样子我的理解基本上是对的。 我个人觉得chenall的方案更加健壮。为什么?因为分区之前的保留扇区,可能很多程序都会盯上他们,因为他们一般情况下不可见啊,做些小动作没人知道呀,比如病毒,一些软  详情 回复 发表于 2022-3-29 17:49
回复

使用道具 举报

36#
发表于 2022-3-29 16:54:51 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2022-3-29 17:53 编辑
szwp 发表于 2022-3-29 16:21
俺写这个是抛砖引玉,星语风的增加了判断起始扇区。主要是用的人不多,不然应该会有GUI出现,能实现的功 ...


这些windows下的方案和chenall的方案有哪些本质的区别?我没有搞懂。
我看chenall的方案,似乎只修改并写入了一个扇区,这个扇区指向grldr的绝对扇区地址(可能是1个、2个、3个),BIOS加载后可以加载这3个里面任何一个有效地址的grldr?这3个grldr不一定位于2048扇区以内,可能超出2048扇区,如果放在靠前的分区,放在BIOS确定可以识别的127GB以内,都可以启动,是不是这样的?
你们的方案是把grldr写在了2048扇区以内的三个部分(区块),不需要grldr实体文件,这样子删除硬盘上的grldr文件也没事,我的理解对吗?
回复

使用道具 举报

35#
发表于 2022-3-29 16:36:47 | 只看该作者
星语风 发表于 2022-3-29 16:01
这是修改楼主的工具,修正了第3启动实际无效的问题。如果不是有意去删除第1、2启动文件的话,其实大家 ...

谢谢分享
回复

使用道具 举报

34#
 楼主| 发表于 2022-3-29 16:21:13 | 只看该作者
liuzhaoyzz 发表于 2022-3-29 15:44
我自己的GPT硬盘起始扇区是2048的,还有其他机械MBR硬盘可能有的是63扇区的,参差不齐,看了你们的介绍 ...

俺写这个是抛砖引玉,星语风的增加了判断起始扇区。主要是用的人不多,不然应该会有GUI出现,能实现的功能会更多,增加用户选择的机会。
回复

使用道具 举报

33#
发表于 2022-3-29 16:08:48 来自手机 | 只看该作者
星语风 发表于 2022-3-29 16:01
这是修改楼主的工具,修正了第3启动实际无效的问题。如果不是有意去删除第1、2启动文件的话,其实大家 ...

感谢分享!
回复

使用道具 举报

32#
发表于 2022-3-29 16:01:06 | 只看该作者
Grldr2Umbr.rar (581.68 KB, 下载次数: 81)

这是修改楼主的工具,修正了第3启动实际无效的问题。如果不是有意去删除第1、2启动文件的话,其实大家也很难会碰到这个问题。

回复

使用道具 举报

31#
发表于 2022-3-29 15:59:33 | 只看该作者
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=421926
根据这里第4楼 2011yaya2007777 代码写的工具
请谨慎试用,后果自负。 grldr_gpt_boot.rar (605.03 KB, 下载次数: 73)

其实,看懂了那个帖子后,很容易的事,只是为了写成批处理,搞得很复杂,伤了很多脑筋才写成。

回复

使用道具 举报

30#
发表于 2022-3-29 15:44:50 来自手机 | 只看该作者
hilsonma 发表于 2022-3-29 13:44
grldr能启动呀,是不能引导grldr.mbr
grldr要占用六百多个扇区呢。
楼主的批处理就是直接引导grldr的, ...


我自己的GPT硬盘起始扇区是2048的,还有其他机械MBR硬盘可能有的是63扇区的,参差不齐,看了你们的介绍,感觉挺复杂的,主要是我还是对umbr不懂。
回复

使用道具 举报

29#
 楼主| 发表于 2022-3-29 15:32:53 | 只看该作者
liuzhaoyzz 发表于 2022-3-29 12:31
看起来有些复杂啊。

那原来chenall的umbr在g4d下的安装器怎么能够启动grldr的呢?

启动是需要有grldr这个文件存在或占用其它扇区写完整的grldr,写的是绝对扇区,如有变化则可能启动不了,写了校验。详请可参照主页说明。因为引导代码少,读绝对扇区+长度,而不是文件,写后grldr更名不会影响启动。
回复

使用道具 举报

28#
 楼主| 发表于 2022-3-29 15:29:06 | 只看该作者
hilsonma 发表于 2022-3-29 11:46
经反复测试,umbr引导grldr.mbr失败,不知道是什么原因。如果是引导wee就能成功,这样也就只能做到34+62= ...

星语风后来的修改版就是用的YAYA方案。占用扇区少些。但依赖于硬盘上的文件。优点是利于更新。
回复

使用道具 举报

27#
发表于 2022-3-29 13:44:13 | 只看该作者
本帖最后由 hilsonma 于 2022-3-29 13:55 编辑
liuzhaoyzz 发表于 2022-3-29 12:31
看起来有些复杂啊。

那原来chenall的umbr在g4d下的安装器怎么能够启动grldr的呢?

grldr能启动呀,是不能引导grldr.mbr
grldr要占用六百多个扇区呢。
楼主的批处理就是直接引导grldr的,grldr写到分区前面。

用的都是chenall的umbr,只是将引导代码导出来成了文件,修改了参数,使用bootice来写入罢了。

chenall提供的不是umbr的引导代码,而是一个g4d下的安装器,通过安装器将umbr引导代码写到0扇区里。

因为我一开始用的就是wee,没有想过用grldr.mbr,以为可以引导的,现在测试结果umbr引导grldr.mbr失败,所以之前说的34+16是白说了。除非是用yaya的grldr_gpt_boot.bin。
我之所以想umbr引导grldr.mbr,就是考虑你的要求,尽量将扇区占用减少,但结果失败了。
其实我是建议umbr+wee的,那种分区起始扇区是63的做法是过时的,而且没有做到扇区对齐,这样的情况我是建议调整分区起始扇区并做到扇区对齐的。
回复

使用道具 举报

26#
发表于 2022-3-29 12:31:40 来自手机 | 只看该作者
hilsonma 发表于 2022-3-29 11:46
经反复测试,umbr引导grldr.mbr失败,不知道是什么原因。如果是引导wee就能成功,这样也就只能做到34+62= ...

看起来有些复杂啊。

那原来chenall的umbr在g4d下的安装器怎么能够启动grldr的呢?
回复

使用道具 举报

25#
发表于 2022-3-29 11:46:31 | 只看该作者
liuzhaoyzz 发表于 2022-3-29 06:41
你的代码能改成这个34+16=50扇区的吗?怎么改?

经反复测试,umbr引导grldr.mbr失败,不知道是什么原因。如果是引导wee就能成功,这样也就只能做到34+62=96扇区。

如果还是要34+16=50,可以改用yaya的grldr_gpt_boot.bin ,不过yaya的grldr_gpt_boot.bin 只能用于gpt盘,不能用于mbr盘,不象umbr那样通用。

至于怎么改,
就是先用winhex改umbr里的引导记录,将目标引导代码占用的起始扇区改为34,将目标引导代码占用的扇区数改为62 (如果是grldr.mbr的话就改为16,但经我测试umbr引导grldr.mbr会失败)
然后将批处理里的目标代码占用的起始扇区和总扇区数也做相应修改

如果改用yaya的grldr_gpt_boot.bin,就是将批处理里的umbr.mbr替换为grldr_gpt_boot.bin
yaya的grldr_gpt_boot.bin 默认就是grldr.mbr占用的起始扇区是34的,所以不用修改,如果grldr.mbr不是从34扇区写起,就要使用winhex修改grldr_gpt_boot.bin
回复

使用道具 举报

24#
发表于 2022-3-29 06:41:46 来自手机 | 只看该作者
hilsonma 发表于 2022-3-28 23:31
0扇区mbr盘中是主引导扇区,在gpt盘中是保护性扇区
1-33扇区是gpt分区表
所以引导代码最起码要从34扇区 ...

你的代码能改成这个34+16=50扇区的吗?怎么改?
回复

使用道具 举报

23#
发表于 2022-3-28 23:31:08 | 只看该作者
本帖最后由 hilsonma 于 2022-3-28 23:33 编辑
liuzhaoyzz 发表于 2022-3-28 20:37
怎么改成34+16=50呢?34扇区是什么意思?16扇区是grldr.mbr的引导代码吗?代码怎么改?

扇区50之后绝 ...

0扇区mbr盘中是主引导扇区,在gpt盘中是保护性扇区
1-33扇区是gpt分区表
所以引导代码最起码要从34扇区写起
grldr.mbr占用16个扇区,所以是34+16,意思是从34扇区写起,占用扇区数16个,跟g4d的表达是差不多的
34+16 说明34-49扇区共16个被引导代码占用了,第一个分区最起码要从50扇区开始

bootice命令行写gpt扇区也没有问题的,这方面szwp的grldr2gpt和我的umbr+wee (就是上面的wee.cmd)都已经实践过的。
回复

使用道具 举报

22#
 楼主| 发表于 2022-3-28 20:59:57 来自手机 | 只看该作者
mbr四个主分区都在0扇区,而gpt一个扇区四个区,128个主分区要多少扇区可以算一下
回复

使用道具 举报

21#
 楼主| 发表于 2022-3-28 20:51:57 | 只看该作者
本来就是坛友gpt传统引导困难才搞的
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 09:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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