不点 发表于 2016-1-14 15:13:44

chenall 发表于 2016-1-14 14:49
再修改了下,现在可以直接启动某个分区了

另外直接启动GRLDR失败的可以尝试启动WEE63.MBR估计就会成功了. ...

一次性读入?

按照公开的规范,int13/ah=42h 一个调用可以读 127 个扇区。不可能再多。

但 127 扇区基本都是支持的,除非那些恶意的 BIOS。

你不可能一次性读入整个 GRLDR 文件(它远远超过 127 扇区)。

chenall 发表于 2016-1-14 15:25:17

不点 发表于 2016-1-14 15:13
一次性读入?

按照公开的规范,int13/ah=42h 一个调用可以读 127 个扇区。不可能再多。


是的,我昨天才注意到只能读127个.

但有一些主机可以全部读入.

不点 发表于 2016-1-14 15:28:53

chenall 发表于 2016-1-14 15:25
是的,我昨天才注意到只能读127个.

但有一些主机可以全部读入.

比规范读得更多,这不知道是不是好事。

问题是,如果多读了,属于超出规范,那有可能死机,尤其是对于故意制造死机的那些 bios 来说。

chenall 发表于 2016-1-14 15:54:09

不点 发表于 2016-1-14 15:28
比规范读得更多,这不知道是不是好事。

问题是,如果多读了,属于超出规范,那有可能死机,尤其是对于 ...

刚开始我没有注意,我自己用的电脑和虚拟机都是可以全部读入的,并且我看了一下读入的数据还是正常的.

要多次读入的话会麻烦些,需要添加好多代码.还在修改中.

guyue2011 发表于 2016-1-14 16:27:47

昨晚想到一个问题, umbr在安装前就确定好grldr文件的扇区位置了吗?而并没有做分析文件系统的工作吗?

   那下面这种情况, umbr能够正常工作呢?

1, 复制附件中的grldr到U盘根目录
2, 安装umbr, 使用命令umbr -d=0 (hd0,0)/grldr
3, 把U盘根目录的grldr复制多一份, 并改名为grldr2, 即grldr2和grldr都在根目录, 但存在于不同扇区
4, 把grldr删掉, grldr2重命名为grldr
5, 请问umbr能正常工作吗?

2011yaya2007777 发表于 2016-1-14 19:41:26

gpt分区表间隙一般可以容纳grldr.mbr,有时也可以容纳grldr。也可以将grldr安装到不使用的分区表。

2011yaya2007777 发表于 2016-1-14 19:50:24

我不清楚,现在将grldr安装到(hd1,0)/ ,是一般意义上的写入?即写入文件分配表?可以通过,Windows 看到这个增加的grldr吗?

2011yaya2007777 发表于 2016-1-14 19:54:24

如果将grldr写入特殊位置,那么删除所有的可见的grldr(包括改名),应该一切正常。

chenall 发表于 2016-1-14 20:37:59

guyue2011 发表于 2016-1-14 16:27
昨晚想到一个问题, umbr在安装前就确定好grldr文件的扇区位置了吗?而并没有做分析文件系统的工作吗?

...

这个是使用固定位置的.
即然是固定位置的,就和文件名没有什么关系了.

移动或删除就会启动失败(但不一定因为有时候虽然移动或删除了但文件内容还在这里还是可以启动的).

这就是这个的弊端,所以可以指定多个备用位置并且通过内置的校验判断内容是否有变化.

chenall 发表于 2016-1-14 20:39:09

2011yaya2007777 发表于 2016-1-14 19:50
我不清楚,现在将grldr安装到(hd1,0)/ ,是一般意义上的写入?即写入文件分配表?可以通过,Windows 看到这 ...

这个的安装只是修改了MBR引导,其它的没有动.
页: 1 2 3 [4] 5 6 7 8
查看完整版本: umbr 测试(适用于BIOS+GPT磁盘的MBR程序)