本帖最后由 ali88home 于 2016-11-11 20:02 编辑 【简体中文版本】 63版本 http://pan.baidu.com/s/1bpwvJzh 操作说明:喜欢制作USB为FAT32单分区的维护盘者,可以试试无忧-不点大师-USB_FAT32单分区多重MBR引导启动。 把grldr和ope.iso...等等...您喜欢的PE,制作成UIS.ISO放在相同目录下面执行...自动安装。 注意:多重MBR-FAT32制作后,请不要再格式化,引导会无效的 1.自动修正总磁盘数的错误及DBR溢出情形。 2.里面4K没有对齐,因为起始磁盘号63的原因。 3.不懂操作的,请不要随便操作,失败会心疼的。 重复安装了几十次以后,发现一些问题: 1.安装以后再重新安装,常常无法恢复再写入恢复磁盘区的动作。多重MBR好像被系统运行中的感觉。 改进重新制作多重MBR失败的几率 2.这样的安装方式,被系统识别有异常,建议重新扫描此USB磁盘。这多重MBR方式好像有小问题存在。 修正为起始磁盘号64版本,系统不再识别有异常,建议重新扫描此USB磁盘的信息了。 为了引导成功几率,维持原作者63版本 3.预先以为这样的单分区,应该引导会取得优势,但是在老机上面,却识别不到此U磁盘,相反的UD三分区HDD成功引导。在新机上引导还好OK。 更正测试结果:先前测试老机上面,BIOS识别不到此U磁盘,但是却能够引导G4D菜单成功,真是好信息。 经过测试:机板BIOS识别不到USB磁盘,请把启动顺序设定为【USB-ZIP】第一项目,就能够顺利引导启动USB盘。 |
gkos 发表于 2014-10-18 08:42 首先谢谢您的支持。4G 和 2G 暂且可以按 8G 来对待。注意,4G、2G 和 8G 的情况类似,写入 mbr_8G.img 后,都是 “坑爹” 的扩容盘,而且建议不要纠正分区表的错误,也就是说,保持坑爹的状态。自己注意不要拷入过多的文件便可。 假如有人需要更小的 U 盘,将来我可以考虑给以明确的支持。 目前先测试启动成功率,只要启动成功率与 fbinst 一样,就算成功。 |
本帖最后由 不点 于 2014-1-15 07:53 编辑 2010qaqz111,你可能已经看出来了,我的新系统的开发理念与 Bean 的 fbinst 有差别。 1、新系统不处理 8M 以内的剩余 7M 空间,让用户自己来安排(或取舍)。fbinst 则建立 ud 系统,方便用户访问。 2、新系统不提供专门的工具,不提供各种安装参数的变化,只用一个映像文件来做。而 Bean 的 fbinst 提供了很多安装选项,方便用户选择和安装。 3、一旦发现有 BIOS 不适应问题,我的新系统的格式可能随时变动,这方面有着灵活性(这是对开发者来说的,开发者有完全的自由,可以随时变动 U 盘的格式)。外部工具的制作者可能也得随时跟进,调整自己的工具软件,以适应这些变化。相比之下,fbinst 要稳定得多,外部程序的作者不用修改自己的工具软件。 4、外部工具软件的制作者,可以研究这个 U 盘的设计,制作出自己的操作工具,方便最终用户使用。相比之下,fbinst 自带了工具,因此,fbinst 离开外部工具也能自成一体。 我为什么这样做呢?是因为哲学理念的不同造成的。 其一,是因为我个人身体状况不是很好,我想尽量少做点工作,同时又保证把软件的核心功能做到满意。 其二,是因为我个人比较懒,不想做太多的工作。 其三,是因为我个人在建立或处理(新的)文件系统方面缺乏必要的知识,也缺乏耐心,因此,我想省事,给自己 “减负”(减轻负担)。 其四,我想让工具软件的制作者们有事可做。如果我把所有的工作都做完了,那么别人的参与就少了。事实上我不可能做所有的工作,因为我不熟悉 Windows 编程,我只能寄希望于由其他作者们来完成这部分工作。如果其他作者们参与进来的多了,那么这个软件的后续开发就更有保障了。就是说,我开个头,而后续的开发工作将不存在困难,很多人都能参与进来,没有门槛(或者门槛很低)。诸位看看我的代码,核心代码简单透顶,第一阶段是 MBR,一个扇区,第二阶段也是一个扇区。总共只有两个扇区的 assembly 代码,随便一个开发者,花费半天时间,都可以研究完。工具软件的制作者就有可能会成为将来接替开发的开发者了(前提条件当然是说 BIOS 继续存在;如果 BIOS 消失了,当然就不用提了,因为不会再有人关心这个软件了)。 第一阶段的 MBR 引导记录代码,复制到最开头的 190 个扇区上。这 190 个扇区的每个扇区都带有 BPB 和分区表。 所以,工具软件的作者,应该研究分区表的变化规律,从而能够添加正确的分区表项。 第一个分区表项已经是 FAT32 了。还剩下 3 个表项可以由工具软件的作者来处理。 开头的 190 个扇区中的每个扇区,都应该有分区表项。每个表项含有 16 个字节。 除了第一个已经被 FAT32 占据的表项以外,新创建的表项,其前 8 个字节和表示分区长度的后 4 个字节应该是(在这 190 个扇区里面)保持不动的,而表示分区起始扇区号的 4 个字节在这 190 个扇区里面都是递降的。看到这个规律,那么,外部工具软件的作者要想写分区表已经不困难了。 由于 FAT32 分区故意设置为 8G 左右,超出了 CHS 的访问能力,所以,新创建的表项,其 CHS 值可以都搞成固定值:柱面号 C=1023,磁头号 H=254,扇区号 S=63。这样就简单了,新创建的表项,其前 8 个字节就是 00 FE FF FF XX FE FF FF,此处,XX 可以是 0C 表示 FAT32 分区,或者 07 表示 NTFS,或者是 0F 表示扩展分区,这些大家都懂的。精于计算的工具软件的作者,一定不难把这搞定。 在作出以上解释之后,我想,诸位可能也就看出来了:现在我可以 “撒手不管” 了。剩下的事,大都是用户自己的事,或者是工具软件开发者的事了。 已经制作好的这个 U 盘,估计差不多应该可以 “通吃” 了。即使不能通吃,由于内置了调试输出,所以,其失败根源很容易定位,再也不会出现 “模棱两可”、“说不清楚” 的情况了。与原来的 fbinst 相比,这也算是一个重大的改进。 还需要补充说明的一点是,内置的这个 grldr 版本,已经屏蔽掉了 PXE。这是因为,从 U 盘启动时,一定不是从 PXE 启动,所以,这个内置的 grldr 版本就把 PXE 功能屏蔽掉了。另外,前面还提到,默认时执行单扇区访问。用户可以通过执行一次 geometry --lba127sector 命令来切换到高速的多扇区访问。 |
顺便把搜到的一篇有参考价值的文章贴过来。 你有火狐,我有“水狐”:专为打脸 Mozilla 而生的 Firefox 分支 https://www.techug.com/post/you-have-firefox-i-have-water-fox-a-firefox-branch-for-mozilla/ |
再通报一个好消息。在新版火狐地址栏敲入 about:config 进入高级设置,更改 security.fileuri.strict_origin_policy 的值为 false 大功告成!如此一来,火狐仍然可以全面支持 multimbr booter。 |
sunsea 发表于 2021-12-26 11:21 通报一个好消息! Waterfox Classic 可以代替火狐,完美运行 multimbr booter 网页程序! 没有任何问题。 我这么理解:它其实就是老版本的 Firefox。 Waterfox Classic 主页: https://classic.waterfox.net/ |
偶尔路过,年纪大了,唠叨几句,与multimbr无关,与U启有关。 一、以往有个难点一直没解决:那就是启动期间, 我们没有太好的办法直接看到 BIOS/UEFI <----> U盘之间的会话, BIOS/UEFI像个黑箱,你不知道它在干什么。当启动出错后,容易 引发猜测争议。现在我们有个办法:用USB协议分析仪(抓包器), 抓包解析。 USB协议分析仪本来是工程师用来搞USB开发调试用的,但对于 我们的难点,要想直观可视、要想有说服力,能想到的办法, 目前就只能是它了,有抓包数据做证据,就不再是两眼一抹黑。 分析仪有3个USB口:一个接待测主机(BIOS/UEFI),一个接待测U盘。 上行的1个USB口是旁路,接监听机(里面有解析软件) 二、困难在于,USB协议分析仪价格太贵。好在国产USB2.0分析仪 产品价格已经降下来了,可以先尝试。 |
本帖最后由 不点 于 2022-5-15 10:35 编辑 2013datong5624 发表于 2022-5-3 23:31 谢谢您的报告,其实也不是您在向开发者进行单向的报告,而是我们之间在互通情报。这谜一样的世界,其本质是啥,我们都不能 100% 掌握,需要我们互通情报,才会摸到更多一些真相。 顺便也向大家通报一个情况,虽然这与 multimbr 没有关系。 最近,我用 ventoy 启动了一些 10 多年前的旧机,十分顺利,没有遇到稀奇古怪的问题。然而当我前一段时间给那些较新的机子装机时,则很容易碰上无法启动的故障。 启动软件的开发者根本不可能发现产生问题的技术原因,因为,不同的硬件制造商,不同的产品序列,都会用不同的技术手段,来卡死某个启动软件。开发者本人遇到的情况,只占据很少的比例,因为开发者不可能把所有的品牌都买一台进行测试; 同一品牌的不同批次,更不可能都买一台进行试验。所以,他们要卡死你的启动软件,你根本就没招。大多数用户都不会向开发者报告故障的技术详情,这是因为,用户很难掌握其技术细节。 越老的机子,启动越顺利。越新的机子,卡点越多。 垄断者也是有利益需求的。你做了垄断者不喜欢的事,就要被垄断者修理。 所以,最终的结论是:我干嘛要做那些让垄断者不高兴的事?那样做,没有任何好处,是不是? 好吧,就通报这么个想法, 我认为,这也算是我的一种贡献吧。 【2022年5月15日补充】目前活跃的软件是 ventoy 以及 yaya 的 grub4dos(efi)。我早已远离 x86 体系架构下的开发了。因此,我的发言不重要。但说不定我的发言对某些人有用。然而大家不要误会,不要以为,我自己不去做的事,我也不想让别人做。完全不是这样的。我不做的某些事,说不定我希望有别人去做呢,对不对?所以大家不要胡乱猜我的想法。今天要说的,不是新的,而是炒冷饭,是再重复强调一下前面的观点。我想,这对于从事开发的某些人员会有某些用处。因为我的观点,不管是对还是错,您大概从别处是得不到的,大概只有从我这里才能得到。如果我的观点是错的,当然不值钱,您忘掉即可。但万一对了呢?那不是救您一命吗?那不是让您少走弯路吗? 我要说的就是,您的软件,是否遇到卡扣,您一定是知道的。因为用户会向您报告,您不可能不知道。您自己也可能碰巧遇到卡扣,那些卡扣,对于一个稍懂编程的人来说,都不特别困难,都还算比较容易解决吧。所以,一旦卡扣被您撞上,您一锤子下去就把它砸掉了。可是,您的锤子是近距离操作,您只能解决您身边的问题,解决不了其他电脑上的问题。好吧,我要强调的关键点来了——卡扣不难解决,但它的数量太庞大,欺负您手臂太短,不能伸到世界各个角落。如果您了解到的卡扣不多,都是老旧的,不出现新的花样,那说明您很幸运,没有被盯上。一旦某一天,您发现新卡扣出现了,而且不断增多,那就说明您已经被盯上了。躲是不可能躲得过的,您得准备放弃了。这种情况,如果您不放弃的话,是没有任何好处的,只有坏处。 |
不点 发表于 2022-4-30 23:51 谢谢不点的回复,明白了,以后备2个优盘就是了。 |
2013datong5624 发表于 2022-4-21 20:02 抱歉,刚看到您的帖子。 multimbr 出了很多古怪的问题。而且,问题越来越多。至于说原因,各位都是明白人,就不用多说了。 譬如说,前些日子,有人说,multimbr 的分区上,efi 不起作用,被跳过,根本就不能启动。报告者说,是因为 multimbr 建立的分区超过 1G 的原因。他说,只要 U 盘 FAT 分区大小达到 1G,在那台电脑上,这个 U 盘的 EFI (文件夹)就是失效的,被忽略、被跳过。而 multimbr 建立的 FAT 分区,“碰巧” 就超过 1G,所以就躺枪了。 继续开发 multimbr,会让那些硬件制造商不高兴,因而没有意义。 至于说您遇到的问题,那属于什么概念,我也掌握不了。 请各位放弃使用 multimbr 吧。 大家都放弃了,说不定 multimbr 还能多存活几天。用的人多了,它就死得越快、越彻底。 |
本帖最后由 2013datong5624 于 2022-4-22 00:09 编辑 @不点 报告一个问题: 在32G优盘上安装了multimbr。但是我还想把yaya新开发的grub4uefi放进multimbr建立的FAT32分区上以支持UEFI启动。但只能启动到命令行(没有死机,光标在闪烁),菜单文件无法加载。所以我在想这个mutimbr建立的FAT32分区和常规分区软件建立的分区是不太一样的。 用常规分区软件,或者系统自带工具格式化U盘为FAT32,同样的手法把grub4uefi放进去就能正常启动。 |
sunsea 发表于 2021-12-26 11:21 佩服,高手! 我的笨办法:保存一个很老的 firefox 版本,专门让它运行 multimbr 网页代码。 您这条路,看来比较实用一些,也充满技巧性一些。 |
不点 发表于 2021-12-14 11:05 目前我临时解决方法是电脑上装了个Apache网页服务器,然后浏览器访问localhost跑起来……也算一种workaround吧 |
sunsea 发表于 2021-12-12 12:36 好吧,我理解为:那是利益驱动,是控制用户的一种行为。用户已经没有自由了。 当然,用户也有自由,那就是重新分支出一个新的火狐项目。不过,那得有人去做才行。 这是火狐开始被某些恶意大公司逐渐渗透的一个风向标。我得正式考虑寻找火狐替代品的事宜了。 此前我已经不信任 Linux 内核开发者了。现在,不信任的名单中,又增加了一个。 |
ggmm888 发表于 2019-9-4 20:27 你研究一下汇编语言代码,就知道什么意思了。如果你懂汇编语言,你就能够了解启动流程。第一扇区只有 512 字节的代码,它接管控制后,需要加载后续的扇区。但在加载后续扇区时失败(出现 cede 就表示失败)。 003F 表示已经识别出每个磁道是 63 个扇区。 00FF 表示已经识别出磁头数为 255 个。 AA55 表示 U 盘的 BIOS 支持 LBA 模式的磁盘读写(int13 的 ah=42h 和 ah=43h)。 0080 表示磁盘扇区代码在接管控制时,DX 寄存器的值是 0080h,这说明 DL 盘号是 80h,这表示 U 盘被识别为硬盘。 0108 可能是 int13 读盘失败时返回的一些信息,不太重要。它有可能指示究竟是在读哪个扇区时发生了失败。 重要的是:CEDE,它是读盘失败的信号。 开源的启动程序成了各大公司的敌人。他们不希望有开源的启动程序。建议你不要做任何工作。做了也无用。对于你这台电脑,你可以转向其他启动方式,比如 grub4dos,grub2,syslinux 等等。只要有一个能凑合着用,即可,不要要求太高。要求太高,是不可能达到的。 |
ggmm888 发表于 2019-9-2 21:09 对 intel 架构不感兴趣了,抱歉,不能帮您调试、找毛病了。您可以自己调试、找毛病。 不仅对 intel 架构不感兴趣了,对任何架构下的启动程序都不感兴趣了。 启动是硬件商的事。他们想让啥启动,啥就能启动。他们不想让啥启动,啥就不能启动。 看到了您的报告,我应该给出回应。以上就是我的回应,让大家了解我的想法。 |
sunsea 发表于 2019-8-10 16:11 很抱歉,本人没有时间分配给这个项目了。期待有人接替维护这个项目。本人目前已经在转向 Linux 的路上,并且已经走了一大半的路程了。那些启动软件、BIOS、EFI 之类的,统统不再关心了。 不过,借此话题谈谈对火狐的看法。火狐开发者过度谨慎,把很多东西都划归禁区,束缚手脚,用个贬义词,作茧自缚。这不利于当今应用程序的开发。 NW.js 是个不错的思路,比较适合用来开发应用程序。有兴趣的开发者,可以把 multimbr 移植到 NW 之下。 |
报告一个问题 自从firefox68以后,因为firefox的对https://www.mozilla.org/en-US/se ... -21/#CVE-2019-11730这个安全漏洞的修补,无法再调用本地文件了,运行multimbr时会报无法加载grldr错误。 按F12进行调试时得到的参考信息链接https://developer.mozilla.org/zh ... /CORSRequestNotHttp 目前的workaround是about:config中设置privacy.file_unique_origin为false。 |
FbinsTool功能相当强大 |
支持是一定的。 |
俊采星驰 发表于 2017-4-3 18:37 经过多方调查实证,新版系统显示多分区。那就是说,所有以隐藏分区为荣的方案(分区表相,三分区,u+等)将一夜之间破产,虽然非efi区可以隐藏,但其价值几乎为零。 |
谢谢两位,辛苦把这个问题透彻解析和再现。 特别谢谢 freesoft00,告知新版确实已经支持多分区了。那么,我估计,旧版不支持多分区的 Windows,都会有人给它打补丁,让它也支持多分区。因此,以后多分区的 U 盘,就不再成为一个 “问题” 了。 顺便说,0pe 的下载里面,所携带的这个 10PE(就是 EFI 文件夹之下的那个 PE),就是支持多分区的 PE 了。 |
wintoflash 发表于 2017-4-3 09:41 系统版本旧,更新到新版本就支持了。忘记从哪个测试 版本开始win10开始支持U盘多分区了。 |
不点 发表于 2017-4-3 10:10 8G U盘 mbr分区表 只有一个"U盘"是U盘上的NTFS分区。 "本地磁盘"只有一个,是win10系统所在分区,显然不是U盘上的FAT32分区。 |
不点 发表于 2017-4-3 00:08 win10新版本现在可以支持多分区了。 |
本帖最后由 不点 于 2017-4-3 11:49 编辑 wintoflash 发表于 2017-4-3 10:02 再试试 mbr 吧,我使用的就是 mbr。我没条件安装 win10,否则我自己就试验了。 补充一个细节:位于第一个分区表项的 ntfs 被识别为 “U 盘” 形状的可移动磁盘。 而位于第二个分区表项的 FAT32 分区,却被识别为 “本地磁盘”。 所以,请仔细检查所有已经识别出来的磁盘设备,看看其中到底有没有 U 盘的第二个分区。 |
wintoflash 发表于 2017-4-3 09:41 谢谢,终于有人出面了。两个分区都是主分区的情况,你试验过吗?我采用的正是两个主分区的情况,没有使用扩展分区。 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.