无忧启动论坛

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

[求助] 折腾传统legacy引导,Xorboot,另包含gpt与bios。

  [复制链接]
跳转到指定楼层
1#
发表于 2023-10-28 02:58:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了传统legacy引导,我折腾了好多个小时。下面我会尽量细致地,写出折腾的动机、目的、原因、(可能有价值部分的)过程、结果。
应该会写得很长,请耐心阅读完毕,因为我尽量细致地写过程了。谢谢。

硬件情况: 速龙860k,华硕a55bm-e,硬盘ST3000NM0033;分区表是gpt,第一个分区是esp,第四个是安了Windows的ntfs分区。

结果:
以传统方式引导第四个分区的Windows10失败,电脑一引导就立即重启(屏幕什么也不显示);尝试了把Xorboot安装到硬盘特定扇区 并引导,用优盘通过Ventoy-Grub文件管理器-Grub命令行(Grub 2.0.5)以ntldr加载bootmgr;

以传统方式引导第十三个分区中的一个pe的wim成功;
以传统方式引导一个 包含gpt分区表的磁盘的 Linux(Debian11)成功;

以efi方式引导Xorboot并启动一个pe的wim成功,
以Grub文件管理器启动wim成功;
按以往经验,以efi方式引导第四个分区的Windows10,一个wim,引导Debian11都能成功。


2#
 楼主| 发表于 2023-10-28 02:58:47 | 只看该作者
————————————————————————
尝试的过程:

(不含调软件参数的部分,大致过程:)
1. 把Xorboot安装到硬盘特定扇区,电脑能通过传统方式引导到Xorboot的界面;
2. 启动(0,0)分区的bootmgr,从特定扇区(位置还是bootmgr),Xorboot搜索并启动bootmgr,结果都是电脑立即重启;
3. 选择传统方式引导,通过Ventoy-Grub文件管理器-Grub命令行(Grub 2.0.5)以ntldr加载bootmgr:先以insmod加载part_msdos,gpt与ntldr,然后运行以下指令:
   set root=(hd1,1)
   ls /
   ntldr /bootmgr
   boot
而后,电脑立即重启;

4. (我一个磁盘里有Debian11,)摘抄它/boot/grub.cfg的部分内容 并保存成cfg文件,再把电脑从传统方式 通过Ventoy-Grub文件管理器-Grub命令行(Grub 2.0.5),以configfile加载cfg文件,一会后 电脑启动进Debian11 Linux系统;
5.  从传统方式,通过Ventoy-Grub文件管理器,加载gpt硬盘中一个pe的wim,启动成功;
6. 从efi方式,通过Xorboot启动Grub文件管理器,成功;
7. 从efi方式,通过Xorboot加载一个pe(iso还是wim着),启动成功;

8. 从传统方式,通过Xorboot加载pe的wim,失败,提示是  disk i/o error:01;
9. 从传统方式,通过Xorboot启动Grub文件管理器,失败,提示是 cdrom read fails ;
10. 从传统方式,通过Xorboot加载(0,1)分区的bootmgr,或(0,13)分区的wim,都失败,提示应该是 No such file 。(实际上(0,1)分区不存在bootmgr,(0,13)分区应该都没有。)

----  个人总结:
由于bootmgr在ST3000NM0033的第一个分区,Windows在第四个分区,我前面提到的pe的iso与wim都在第十三分区,所以pe的文件所在分区对Xorboot应该是(0,12),适于传统方式的Xorboot能识别gpt的分区;
带Ventoy的优盘,分区表是mbr的,以legacy+mbr+(Grub文件管理器中的)grub启动一个磁盘中的Debian11成功,而启动硬盘中的Windows失败;
以Xorboot启动bootmgr,电脑没有错误提示而是自己重启,所以对Windows启动的这问题不应该在Xorboot上,Xorboot应该找到了bootmgr;
所以问题应该在Windows启动的方面,电脑主板可以 以传统模式启动含gpt的磁盘中的系统。

————————————————————————
(转楼下)
回复

使用道具 举报

3#
 楼主| 发表于 2023-10-28 02:59:08 | 只看该作者


(细节:)
一、 Bootmgr来历

原本,硬盘以前创建了gpt分区表,后来用WinNTSetup安装了Windows,
Windows所在分区(此处我假定为C盘)与esp分区 的根目录内都没有bootmgr文件;

从传统方式,用Ventoy启动TreeNewBee 19045的pe,以pe内imdisk挂载 微软原版的19045的镜像(消费者版,22h2,带2023九月更新,x64),运行它的boot文件夹的文件,实际 以cmd运行 bootsect /nt60 c: ,esp分区根目录下 出现bootmgr文件,C盘根目录中没有;
(应该还检查了esp分区的/boot/bcd,文件内应该对)
通过Xorboot或grub启动bootmgr,电脑立即重启,通过Xorboot启动bootmgr所在扇区,电脑立即重启;

从传统方式,通过Ventoy启动wepe 64 2.1,用它里面自带的引导修复工具 修复引导,以bootice检查esp分区的 boot/bcd,启动项目没有问题;
通过Xorboot启动bootmgr,电脑立即重启;

挂载微软原版19045镜像,复制里面的bootmgr到esp分区,
通过Xorboot或grub启动bootmgr,电脑立即重启。


二、折腾Xorboot

配置并安装适于传统方式的xorboot时,遇到了一些问题:
Xorboot的菜单配置-项目编辑(好像是)界面,分区与磁盘的“参考”按钮,点它无效;后来电脑插着优盘时它才有效果,只显示有mbr的优盘的几个分区,难道它不读出gpt分区表?(所以我只能靠猜)
“新建”项目,与bootice那样的,我比较常见的方式不一样,适应了一下。
把它安装进硬盘的0扇区或硬盘mbr分区表(硬盘分区表是gpt的),都是安了以后就读不出来了。

我在diskgenius中,翻硬盘的扇区内容看,发现前几个扇区有内容,第三十四的有内容,再后面到一百多的都没内容;第一个分区,esp分区,起始扇区是(第)2048.
把Xorboot安装到第六个扇区(该扇区本来无内容),发现电脑重启后,Ventoy内都不认 前述硬盘的分区了,进pe,pe里认,打开diskgenius,提示,提示的应该是分区表crc有错误。
但这样,打开Xorboot.exe,它认Xorboot菜单。

后来查了些资料,发现gpt扇区占LBA2-LBA34,
把Xorboot安装到0扇区与36扇区中,还是安了以后(菜单)读不出来;
安装到35扇区与36扇区,安了后(菜单)读得出来;
再安到0扇区与36扇区,菜单还读得出来。

重启电脑,进P1-xxxx(传统引导的项目),电脑显示了Xorboot的界面。
然而,进系统(不仅正常系统,pe也是)读菜单,读得出来,
改它,点保存,软件不报错,可再读取菜单,菜单内容还是老样子,之前的改变无效。
但是把配置保存到文件,再安装到35扇区、36扇区,另安装到0扇区与36扇区,配置有效。

还有适于uefi的Xorboot,我记得原帖中写了,菜单与Xorboot.efi位于同一目录,或者菜单位于esp分区的efi/xorboot 目录。
但自己尝试一番发现,菜单文件的文件名 得是Xorboot.xor,而且文件跟Xorboot的bootx64.efi一起放esp根目录不行,Xorboot.xor移到efi/xorboot目录中才可以。

这些是不是都算Xorboot的小毛病bug?可惜它不更新了。

看硬盘0扇区的内容,里面有Xorboot的字样。


三、 其他

通过grub启动bootmgr,前面已经说过了。
另外尝试过,用 set root=(hd1,1)/bootmgr  与  chainloader +1 ,不行,是电脑报错。

grub文件管理器,我以前从GitHub下载,存到了一磁盘上;
把它复制到硬盘的esp分区,又复制到 包含ventoy的优盘 中,
从传统方式启动ventoy再启动grub文件管理器,成功;
从传统方式启动Xorboot再启动grub文件管理器,不行(错误在前面说过 cdrom read fails);
从efi方式启动Xorboot再启动grub文件管理器,成功。(而且里面的grub命令行,运行了,版本是2.05)
  grub文件管理器来源应该没有问题。

另外,不知道把Ventoy安装到什么虚拟硬盘 虚拟镜像中,让Xorboot怎么引导,合适?

之前(以bootsect /n60 c:  安装引导代码后,用微pe内工具修复引导前)的bootmgr,
我从Diskgenius看了,记得它起始扇区是32762,文件大小401.5KB,文件连续,扇区大小 512字节。
在Xorboot的菜单,加过一项 从扇区启动 ,配置的是 从32762扇区 的804扇区 启动。(配置地对吧?)


————————————————————

动机、目的与原因

虽然(至少看起来)从efi启动比从传统legacy方式启动要快,但据说,在略早的平台(英特尔七代及以前么,AMD推土机相关平台,是不是?)上,以传统方式启动更快。

grub2,要在扇区层面跳转,那能从传统方式启动的grub2只能有一个。
要Windows启动快,就不要让grub读秒;
一个,那搞多启动不方便。(长按shift才让它显示出引导菜单,请问是否可靠?我Debian的efi启动方式的grub2,都失效过。所以,应该能较快地修复grub2的引导,是不是。)
所以,即使在bios+gpt(平台?)上有已知的方案,但我一直没弄。

我最近又在论坛看到了Xorboot,看到有人有成功的例子,我就想试试。
而且,有人说,Xorboot启动,是mbr->文件,比别的方式快;
这似乎比grub4dos快,最符合我的设想。

硬盘,之所以用gpt分区表,一是 硬盘是机械硬盘,内外道速度有不小的差异(以前算过,不到一半),所以最好适当地分一些区,控制分区内速度差:将速度尽量快的地方,分给需要速度的地方(系统与软件);不需要的地方,配给速度差的地方;我就尝试避免过多分区的情况下,适当分区。
二是 这硬盘容量3TB,mbr分区基本上 支持容量到2.2TB。

因此,综上所述,我希望有gpt+bios,以传统方式引导Windows,引导经过尽量少的方法。
谢谢。

点评

在意速度的话,加一块固态(现在很便宜)装系统。机械盘gpt,存放资料比较好,对速度也没太大需求。。。  详情 回复 发表于 2023-10-28 13:40
回复

使用道具 举报

4#
发表于 2023-10-28 06:20:43 | 只看该作者
赞,谢谢分享。
回复

使用道具 举报

5#
发表于 2023-10-28 07:27:38 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
发表于 2023-10-28 07:32:05 | 只看该作者
很好!!!!
回复

使用道具 举报

7#
发表于 2023-10-28 07:39:59 | 只看该作者
写得很详细,楼主辛苦
回复

使用道具 举报

8#
发表于 2023-10-28 07:42:41 | 只看该作者
OK
回复

使用道具 举报

9#
发表于 2023-10-28 07:43:51 | 只看该作者
谢谢分享
回复

使用道具 举报

10#
发表于 2023-10-28 07:57:04 | 只看该作者
用UMBR也行,把GRLDR放在ESP分区里,然后编写menu.lst ,接着进入grubfordos把指向GRLDR的引导写进GPT盘主引导就行。这样BIOS下也可以用GPT引导进入WIN/LINUX/ISO系统了。
回复

使用道具 举报

11#
发表于 2023-10-28 07:58:15 | 只看该作者
能启动就行,没折腾过
回复

使用道具 举报

12#
发表于 2023-10-28 08:04:56 来自手机 | 只看该作者
3T用mbr好了
回复

使用道具 举报

13#
发表于 2023-10-28 08:22:51 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
发表于 2023-10-28 08:52:53 | 只看该作者
回复

使用道具 举报

15#
发表于 2023-10-28 09:31:20 | 只看该作者
谢谢分享
回复

使用道具 举报

16#
发表于 2023-10-28 13:23:38 | 只看该作者
你真牛
回复

使用道具 举报

17#
发表于 2023-10-28 13:40:50 | 只看该作者
音乐与电脑 发表于 2023-10-28 02:59
(细节:)
一、 Bootmgr来历

在意速度的话,加一块固态(现在很便宜)装系统。机械盘gpt,存放资料比较好,对速度也没太大需求。。。
回复

使用道具 举报

18#
发表于 2023-10-28 16:04:43 | 只看该作者
谢谢分享
回复

使用道具 举报

19#
发表于 2024-9-1 07:33:25 | 只看该作者
dddddd
回复

使用道具 举报

20#
发表于 2024-9-6 23:27:21 | 只看该作者
感谢分享
回复

使用道具 举报

21#
发表于 2024-9-7 08:32:55 来自手机 | 只看该作者
这个硬盘还不需用gpt和第三方引导
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 14:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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