无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 7539|回复: 48

如何编辑.mbr文件?

  [复制链接]
发表于 2016-3-30 08:32:10 | 显示全部楼层 |阅读模式
我电脑第一分区是ext4分区,GRUB4DOS的grldr.mbr、vboot的vbootldr.mbr都卡死在try (hd0,0)ext2不能启动。
但是VHDX辅助处理工具 2013生成的vhldr.mbr、wubi装ubuntu生成的wubildr.mbr可以识别ext4分区,正常启动。
bootmgr直接引导grldr可以,直接引导vbootldr试了下不行。。。
可以修改mbr把遍历开始 (hd0,0)改为 (hd0,1)就好了,跳过ext4分区。
用winhex改了下也不行呀。
能看懂的只有英文部分,应该不是改这个位置吧,这个只是提示语?其余都是乱码、16进制看不懂呀。
捕获.JPG
 楼主| 发表于 2016-3-30 08:35:43 | 显示全部楼层
想装个xp,电脑没有多余的分区了
一直没成功 引导都搞不定
最接近成功的一次用“ 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD” 出来xp启动滚动条不动了。。。
回复

使用道具 举报

发表于 2016-3-30 10:11:52 | 显示全部楼层
WinHex

点评

怎么找到hd0,0呢?  详情 回复 发表于 2016-3-30 10:15
回复

使用道具 举报

 楼主| 发表于 2016-3-30 10:15:31 | 显示全部楼层

怎么找到hd0,0呢?
回复

使用道具 举报

发表于 2016-3-30 10:39:24 | 显示全部楼层
以下资料来自grub4dos_readme


  1. 以下内容供开发人员参考.....
  2. ******************************************************************************
  3. ***               grldr.mbr - Details about the control bytes              ***
  4. ******************************************************************************
  5.                   grldr.mbr - 其控制字节的详述

  6. 有六个字节可以控制GRLDR.MBR引导过程。

  7. 偏移量  长度    说明

  8. ======        ======        ==============================================================
  9. 5ah        1          第 0 位=1 :禁止搜索软盘上的GRLDR 。
  10.                   第 0 位=0 :允许搜索软盘上的GRLDR 。

  11.                   第 1 位=1 :禁止引导分区表无效的原主引导记录
  12.                             (通常是一个操作系统的引导扇区)
  13.                   第 1 位=0 :允许引导分区表无效的原主引导记录
  14.                             (通常是一个操作系统的引导扇区)

  15.                   第 2 位 = 1 :禁止无条件进入命令行 (见下面的`--duce')
  16.                   第 2 位 = 0 :允许无条件进入命令行(见下面的`--duce')

  17.                   第 3 位= 1 :禁止改变磁盘几何参数(见下面的 `--chs-no-tune')
  18.                   第 3 位= 0 :允许改变磁盘几何参数(见下面的 `--chs-no-tune')

  19.                   第 4 位到第 6 位:被保留

  20.                   第 7 位=1:在搜索 GRLDR 之后尝试引导原先的主引导记录
  21.                   第 7 位=0:在搜索 GRLDR 之前尝试引导原先的主引导记录

  22. 5bh        1        等待键被按下时的暂停秒数。0xff代表始终暂停(即无休止的)。


  23. 5ch        2        热键代码。高字节是扫描码,低字节是ASCII码。默认值是0x3920,代
  24.                 表的是空格键。如果此键被按下,GRUB将在引导原先的主引导记录之前
  25.                 启动。见“ int16 键盘扫描码”。

  26. 5eh        1        优先引导的驱动器号,0xff 代表没有。

  27. 5fh        1        优先引导的分区号,0xff 代表整个驱动器。

  28.                 如果优先引导的驱动器号是0xff,搜索 GRLDR 的顺序是:

  29.                         (hd0,0), (hd0,1), ..., (hd0,L),(L=max partition number)
  30.                         (hd1,0), (hd1,1), ..., (hd1,M),(M=max partition number)
  31.                         ... ... ... ... ... ... ... ...
  32.                         (hdX,0), (hdX,1), ..., (hdX,N),(N=max partition number)
  33.                                                        (X=max harddrive number)
  34.                         (fd0)

  35.                
  36.                 否则,如果优先引导的驱动器号假定为Y (且不等于0xff),而优先引导
  37.                 的分区号为K,那么搜索 GRLDR 的顺序和上面一样。

  38.               
  39.                 注意:如果Y小于0x80 ,那么这个(Y)驱动器代表软驱,否则就是硬盘驱动器。
  40.                       而(Y,K)代表Y号硬盘驱动器上的 k 号分区。
复制代码

点评

谢谢 我试试  详情 回复 发表于 2016-3-30 12:21
回复

使用道具 举报

 楼主| 发表于 2016-3-30 12:21:16 | 显示全部楼层
chenall 发表于 2016-3-30 10:39
以下资料来自grub4dos_readme

谢谢 我试试
回复

使用道具 举报

发表于 2016-3-30 14:51:36 | 显示全部楼层
我电脑第一分区是ext4分区

请把这个磁盘的 MBR 1扇区,以及 ext4 分区从 0x400 起始的2扇区打包上来。

点评

呵呵  详情 回复 发表于 2016-3-30 15:53
回复

使用道具 举报

 楼主| 发表于 2016-3-30 15:53:49 | 显示全部楼层
2011yaya2007777 发表于 2016-3-30 14:51
请把这个磁盘的 MBR 1扇区,以及 ext4 分区从 0x400 起始的2扇区打包上来。

呵呵

MBR.zip

898 Bytes, 下载次数: 20, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2016-3-30 16:19:22 | 显示全部楼层
ext4.bin 没有内容,不对。
你把 ext4 分区 复制 0x1000 字节。

点评

昨天下午不小心点错了BOOTICE把引导搞坏了 进不去系统了 弄了个linux livecd修好grub2 晚上网站又访问不了了  详情 回复 发表于 2016-3-31 08:15
回复

使用道具 举报

 楼主| 发表于 2016-3-31 08:15:28 | 显示全部楼层
2011yaya2007777 发表于 2016-3-30 16:19
ext4.bin 没有内容,不对。
你把 ext4 分区 复制 0x1000 字节。

昨天下午不小心点错了BOOTICE把引导搞坏了 进不去系统了 弄了个linux livecd修好grub2
晚上网站又访问不了了

mbr.zip

901 Bytes, 下载次数: 6, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2016-3-31 08:22:23 | 显示全部楼层
从 MBR 看,第一分区在 0x3f 扇区,即 0x7e00 字节处,这应当是 ext4 分区吧。
复制 0x7e00 到 0x8e00 之间的内容。
回复

使用道具 举报

 楼主| 发表于 2016-3-31 10:59:44 | 显示全部楼层
2011yaya2007777 发表于 2016-3-31 08:22
从 MBR 看,第一分区在 0x3f 扇区,即 0x7e00 字节处,这应当是 ext4 分区吧。
复制 0x7e00 到 0x8e00 之 ...

ext4.zip

391 Bytes, 下载次数: 3, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2016-3-31 12:45:43 | 显示全部楼层
普通的 ext4 32位分区,应当能启动。你使用 的 grldr 版本是?

点评

0.4.6a grldr.mbr卡死在try (hd0,0)ext2不能启动 grldr可以启动  详情 回复 发表于 2016-3-31 18:12
回复

使用道具 举报

 楼主| 发表于 2016-3-31 18:12:15 | 显示全部楼层
2011yaya2007777 发表于 2016-3-31 12:45
普通的 ext4 32位分区,应当能启动。你使用 的 grldr 版本是?

0.4.6a
grldr.mbr卡死在try (hd0,0)ext2不能启动
grldr可以启动
回复

使用道具 举报

发表于 2016-3-31 20:07:04 | 显示全部楼层
哪年哪月的?
什么地方的 grldr 用来启动 (hd0,0)?

点评

我试了下grub4dos-0.4.6a-2016-03-26还是同样的问题 引导顺序 第一分区ext4 grub2 第三分区ntfs bootmrg 第四分区ntfs grldr.mbr  详情 回复 发表于 2016-3-31 20:32
除grub2外其余引导文件 系统都在 第四分区 ntfs 不是启动 (hd0,0) 是启动第四分区 搜到 (hd0,0)时候卡住了 具体日期我忘了 用的别人的模板 我试试最新版哈  详情 回复 发表于 2016-3-31 20:17
回复

使用道具 举报

 楼主| 发表于 2016-3-31 20:17:28 | 显示全部楼层
2011yaya2007777 发表于 2016-3-31 20:07
哪年哪月的?
什么地方的 grldr 用来启动 (hd0,0)?

除grub2外其余引导文件 系统都在 第四分区 ntfs
不是启动 (hd0,0)
是启动第四分区 搜到 (hd0,0)时候卡住了

具体日期我忘了 用的别人的模板
我试试最新版哈

点评

打PP,不试试最新版,都来报告所谓 bug。 旧版 grldr.mbr 支持 ext2 和 ext3,但碰上 ext4,则会死机。 yaya 改进后的 0.4.6a 启动代码,才支持搜索 ext4 分区的 grldr 文件。  详情 回复 发表于 2016-3-31 20:34
回复

使用道具 举报

 楼主| 发表于 2016-3-31 20:32:13 | 显示全部楼层
2011yaya2007777 发表于 2016-3-31 20:07
哪年哪月的?
什么地方的 grldr 用来启动 (hd0,0)?


我试了下grub4dos-0.4.6a-2016-03-26还是同样的问题
引导顺序
第一分区ext4 grub2
第三分区ntfs bootmgr
第四分区ntfs grldr.mbr
捕获2.PNG
捕获.PNG

点评

你能否试试 0.4.5c 版里面的 grldr.mbr?就是说,让你的 bootmgr 加载 0.4.5c 版的 grldr.mbr,其他都不动(其他文件依旧采用 0.4.6a 的)。看看有什么结果?  详情 回复 发表于 2016-3-31 22:25
回复

使用道具 举报

发表于 2016-3-31 20:34:36 | 显示全部楼层
sysop 发表于 2016-3-31 20:17
除grub2外其余引导文件 系统都在 第四分区 ntfs
不是启动 (hd0,0)
是启动第四分区 搜到 (hd0,0)时候卡 ...

打PP,不试试最新版,都来报告所谓 bug。

旧版 grldr.mbr 支持 ext2 和 ext3,但碰上 ext4,则会死机。

yaya 改进后的 0.4.6a 启动代码,才支持搜索 ext4 分区的 grldr 文件。

回复

使用道具 举报

发表于 2016-3-31 21:35:06 | 显示全部楼层
还是一头雾水。是某个启动程序,首先启动第四分区的 grldr.mbr ,然后从第四分区 搜到 (hd0,0)时候卡住了?
回复

使用道具 举报

发表于 2016-3-31 21:57:26 | 显示全部楼层
16位进制编码器
回复

使用道具 举报

发表于 2016-3-31 22:01:38 | 显示全部楼层
本帖最后由 不点 于 2016-3-31 22:19 编辑

他说的不太清楚。我猜,他是说:

首先启动 grub2,然后,由 grub2 负责启动 bootmgr,再由 bootmgr 启动 grldr.mbr。此时,grldr.mbr 在搜索 ext4 分区时死掉了。

他前面还提到,wubildr.mbr 能够成功被 bootmgr 启动。wubildr.mbr 是使用旧版的 grldr.mbr,有可能是 0.4.4 的版本。就是说,旧版的 grldr.mbr 虽然不能识别 ext4 分区,但却能够忽略它,跳过它,搜索后面的分区。



点评

恩 就是这个意思  详情 回复 发表于 2016-3-31 23:10
回复

使用道具 举报

发表于 2016-3-31 22:25:41 | 显示全部楼层
sysop 发表于 2016-3-31 20:32
我试了下grub4dos-0.4.6a-2016-03-26还是同样的问题
引导顺序
第一分区ext4 grub2

你能否试试 0.4.5c 版里面的 grldr.mbr?就是说,让你的 bootmgr 加载 0.4.5c 版的 grldr.mbr,其他都不动(其他文件依旧采用 0.4.6a 的)。看看有什么结果?

点评

grub4dos-0.4.5c-2016-01-18可用 呵呵 这样解决了 成功跳过ext4分区启动 有没有大神改下vbootldr.mbr跳过ext4分区呀  详情 回复 发表于 2016-3-31 23:12
回复

使用道具 举报

 楼主| 发表于 2016-3-31 23:10:50 | 显示全部楼层
不点 发表于 2016-3-31 22:01
他说的不太清楚。我猜,他是说:

首先启动 grub2,然后,由 grub2 负责启动 bootmgr,再由 bootmgr 启动 ...

恩 就是这个意思
回复

使用道具 举报

 楼主| 发表于 2016-3-31 23:12:54 | 显示全部楼层
不点 发表于 2016-3-31 22:25
你能否试试 0.4.5c 版里面的 grldr.mbr?就是说,让你的 bootmgr 加载 0.4.5c 版的 grldr.mbr,其他都不 ...

grub4dos-0.4.5c-2016-01-18可用
呵呵 这样解决了
成功跳过ext4分区启动

有没有大神改下vbootldr.mbr跳过ext4分区呀

点评

sysop 兄,你的测试反馈很棒。据此信息,我再作一分析,供开发者参考。 先前你之所以用 wubildr.mbr 成功跳过 ext4 分区,我猜那是因为 wubildr.mbr 中的 ext2 代码不支持 ext4 分区,所以能够跳过。而 0.4.5c 里  详情 回复 发表于 2016-4-1 08:04
回复

使用道具 举报

发表于 2016-4-1 08:04:47 | 显示全部楼层
sysop 发表于 2016-3-31 23:12
grub4dos-0.4.5c-2016-01-18可用
呵呵 这样解决了
成功跳过ext4分区启动

sysop 兄,你的测试反馈很棒。据此信息,我再作一分析,供开发者参考。

先前你之所以用 wubildr.mbr 成功跳过 ext4 分区,我猜那是因为 wubildr.mbr 中的 ext2 代码不支持 ext4 分区,所以能够跳过。而 0.4.5c 里面的 grldr.mbr,其 ext2 启动代码与 0.4.4 版是一样的,也就是说,与 wubildr.mbr 是一样的。所以,两者表现相同,都是可以成功跳过 ext4 分区。

您的反馈很重要,暴露了 yaya 0.4.6a 版的 ext4 代码所存在的严重问题。建议您继续配合 yaya 把这个 bug 排除掉(做个善事)。这样,其他人就可以成功启动 ext4 下的 grldr 文件了。
回复

使用道具 举报

发表于 2016-4-3 21:39:41 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2016-4-3 22:12 编辑

请楼主测试:

点评

卡在try (hd0,0)ext2不能启动 O(∩_∩)O~  详情 回复 发表于 2016-4-3 22:06
回复

使用道具 举报

 楼主| 发表于 2016-4-3 22:06:12 | 显示全部楼层

卡在try (hd0,0)ext2不能启动
O(∩_∩)O~
回复

使用道具 举报

发表于 2016-4-3 22:23:03 | 显示全部楼层
使用
blocklist /grldr
查看一下 grldr 在何处结束,可否把包含 grldr 文件在内的磁盘内容打包压缩传到某处?

点评

(hd0,0)ext2 界面无法输入呀 只有光标闪 blocklist /grldr  详情 回复 发表于 2016-4-3 23:37
回复

使用道具 举报

发表于 2016-4-3 22:39:45 | 显示全部楼层
grldr 在不在 ext4 分区?
我估计应当在前 1 Gb 范围.可以把磁盘前 1 Gb 打包上传.

点评

不在ext4分区 刚才那个grldr.mbr被我不小心覆盖了 没了  详情 回复 发表于 2016-4-3 22:53
回复

使用道具 举报

 楼主| 发表于 2016-4-3 22:53:50 | 显示全部楼层
本帖最后由 sysop 于 2016-4-3 23:39 编辑
2011yaya2007777 发表于 2016-4-3 22:39
grldr 在不在 ext4 分区?
我估计应当在前 1 Gb 范围.可以把磁盘前 1 Gb 打包上传.


不在ext4分区  在第四分区ntfs
刚才那个grldr.mbr被我不小心覆盖了 没了

grldr 我放在 ext4 分区试过 也不行
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2021-1-16 02:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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