无忧启动论坛

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

[求助] 如何关闭Ventoy的MBR引导的效验

  [复制链接]
跳转到指定楼层
1#
发表于 2024-5-29 02:02:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
文字描述,没权限传图,传文件Ventoy 很好用,但是对某些老电脑兼容不好,就最近,mbr引导联想的z580 amd的老电脑,引导处卡住了
改用微软的bootmgr引导解决了问题。
但是Ventoy 引导ISO 文件是真的好用。但经测试 ,改了MBR 第一个扇区的几个字节后,引导时提示mbr效验错误。结果就引导失败。efi启动也是同原理,也会出错。这就是Ventoy 效验自身完整的一个方式。

微软的引导,很强,市面上的所有的电脑99.99%都能成功引导。
我呢,想用微软bootmgr引导,又想用Ventoy的功能。有谁能看看源码,怎么关闭mbr的效验。

点评

淡定  发表于 2024-5-29 18:27

评分

参与人数 1无忧币 +2 收起 理由
yyz2191958 + 2 淡定

查看全部评分

2#
发表于 2024-5-29 08:43:20 | 只看该作者
谢谢分享
回复

使用道具 举报

3#
发表于 2024-5-29 09:59:49 | 只看该作者
Windows NT [MBR]只占一个扇区,作者不会动那里的啦!是EFI引导检测

点评

会,修改成了Ventoy 的专属引导,并且启动会效验。  详情 回复 发表于 2024-5-29 10:56
回复

使用道具 举报

4#
发表于 2024-5-29 10:55:28 来自手机 | 只看该作者
不是微软的引导程序牛,是它先入为主,让人们习惯了它的操作方式,等到鱼都养出来了,指定标准,不遵守者死。这就是大厂指定标准,小厂不得不遵守

点评

我说的是微软的引导成功高。其它mbr引导失败的情况下,都是bootmgr的引导救驾  详情 回复 发表于 2024-5-29 10:59
回复

使用道具 举报

5#
 楼主| 发表于 2024-5-29 10:56:07 | 只看该作者
本帖最后由 favospace 于 2024-5-29 10:58 编辑
chen463 发表于 2024-5-29 09:59
Windows NT [MBR]只占一个扇区,作者不会动那里的啦!是EFI引导检测

会,修改成了Ventoy 的专属引导,并且启动会效验,gpt分区,也写有mbr的引导记录,还有大概890个扇区的数据

点评

连扇区都改,佩服! 想要就用魔改版去检测的  详情 回复 发表于 2024-5-29 12:05
回复

使用道具 举报

6#
 楼主| 发表于 2024-5-29 10:59:53 | 只看该作者
my9823 发表于 2024-5-29 10:55
不是微软的引导程序牛,是它先入为主,让人们习惯了它的操作方式,等到鱼都养出来了,指定标准,不遵守者死 ...

我说的是微软的引导成功高。其它mbr引导失败的情况下,都是bootmgr的引导救驾
回复

使用道具 举报

7#
发表于 2024-5-29 11:11:15 | 只看该作者
进来学习一下。老旧电脑有点多。
回复

使用道具 举报

8#
发表于 2024-5-29 12:05:43 | 只看该作者
本帖最后由 chen463 于 2024-5-29 12:13 编辑
favospace 发表于 2024-5-29 10:56
会,修改成了Ventoy 的专属引导,并且启动会效验,gpt分区,也写有mbr的引导记录,还有大概890个扇区的数 ...

连扇区都改,佩服!在安装时顺便写入[MBR]引导了

想要就用魔改版去检测的

Ventoy也可与你的操作系统和谐共存于同一硬盘,体验不一样的玩法
回复

使用道具 举报

9#
发表于 2024-5-29 17:51:49 | 只看该作者
换新电脑简单些
回复

使用道具 举报

10#
发表于 2024-5-29 22:54:00 | 只看该作者
/* MBR check */
    disk = grub_disk_open(dev->disk->name);
    if (!disk)
    {
        return ventoy_set_check_result(11, "Disk open failed");
    }

    grub_memset(mbr, 0, 512);
    grub_disk_read(disk, 0, 0, 512, mbr);
    grub_disk_close(disk);
   
    if (grub_memcmp(g_check_mbr_data, mbr, 0x30) || grub_memcmp(g_check_mbr_data + 0x30, mbr + 0x190, 16))
    {
        return ventoy_set_check_result(12, "MBR check failed");
    }

    return ventoy_set_check_result(0, NULL);
}

在这个文件里,虽然不懂编程,根据字面意思应该是比较磁盘的mbr的前48个字节,还有前400-410字节吧?如果if括号中的返回值为真时,会返回错误代码12和字符串?盲猜………………
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c
static grub_uint8_t g_check_mbr_data[] = {
    0xEB, 0x63, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   
    0x56, 0x54, 0x00, 0x47, 0x65, 0x00, 0x48, 0x44, 0x00, 0x52, 0x64, 0x00, 0x20, 0x45, 0x72, 0x0D,
};





点评

厉害,被你发现了,我找了,没找到  详情 回复 发表于 2024-6-3 00:47
回复

使用道具 举报

11#
发表于 2024-5-29 22:56:23 | 只看该作者
用winhex打开ventoy的U盘看了看,果然是这样,第一个扇区前40个字节就是
  0xEB, 0x63, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
从地400个字节开始的16个字节是:
0x56, 0x54, 0x00, 0x47, 0x65, 0x00, 0x48, 0x44, 0x00, 0x52, 0x64, 0x00, 0x20, 0x45, 0x72, 0x0D,
回复

使用道具 举报

12#
发表于 2024-6-1 15:17:13 | 只看该作者
替换了 还是以前的旧的
回复

使用道具 举报

13#
发表于 2024-6-1 16:23:02 | 只看该作者
my9823 发表于 2024-5-29 10:55
不是微软的引导程序牛,是它先入为主,让人们习惯了它的操作方式,等到鱼都养出来了,指定标准,不遵守者死 ...

说的很对啊
回复

使用道具 举报

14#
发表于 2024-6-1 16:23:26 | 只看该作者
都是大神  我也想知道怎么引导
回复

使用道具 举报

15#
 楼主| 发表于 2024-6-3 00:47:16 | 只看该作者
本帖最后由 favospace 于 2024-6-3 00:48 编辑
my9823 发表于 2024-5-29 22:54
/* MBR check */
    disk = grub_disk_open(dev->disk->name);
    if (!disk)

厉害,被你发现了,我找了,没找到如何编译新文件替换呢
回复

使用道具 举报

16#
发表于 2024-6-3 07:32:59 来自手机 | 只看该作者
centos7或者尝试wsl编译,源码有doc文件夹里好像说明。天马行空想象一下又懂汇编的大神,ventoy.mod模块能不能反汇编,直接更改十六进制数据,跳过检测,好像是jmp命令吧,无条件跳过检测代码段的,纯属瞎猜,勿喷。
回复

使用道具 举报

17#
发表于 2024-6-19 01:20:09 | 只看该作者
有谁能看看源码,怎么关闭mbr的效验?
回复

使用道具 举报

18#
发表于 2024-6-21 19:05:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

19#
发表于 2024-6-23 18:34:20 | 只看该作者
学习了
回复

使用道具 举报

20#
发表于 2024-6-23 18:34:32 | 只看该作者
学习了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 22:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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