|
本帖最后由 不点 于 2020-9-9 18:34 编辑
嘿!咱就不怕它失败!咱怕的是它不失败!它失败了,咱好折腾啊。
吹牛归吹牛,问题能否解决,咱还真没把握 :-(
就把这个论坛当成是聊天室吧。咱随便聊。
既然随便聊,咱就随便说,不要太认真。
2G 克隆到 3G,用 --top 不行。这似乎暗示,--top 本来就不行。
先验证这个结论是否成立,用 2G 的映像,带有 --top 加载在高位内存,试试是否成功。
按照刚才的猜想,它同样会失败。
执行完 map 命令之后,可以执行一下
map --status
命令,这会显示出,映像究竟加载到哪个内存地址处了。
再说明一点,--top 和 --mem 的顺序无关紧要,只需试验一种情况(比如 --mem --top)即可,没必要两种情况( “--mem --top” 和 “--top --mem”)都去试验。
关于 blocklist 的输出,显示的结果 x+y 表示映像起始于扇区 x,占用 y 个扇区。这说明只有一个碎块,也就是说,是连续的,没有碎块(只有一个碎块就等于说是没有碎块)。
如果有碎块的话,会显示成这样:
x1+y1,x2+y2,x3+y3
这表示有三个碎块。多个碎块,依此类推。
补充一点
既然初步确定这是个与内存冲突有关的问题,那就用
displaymem
命令显示一下 BIOS 的内存块分布情况,这很要紧。
这条命令可以在 map 之前执行,也可以在任何其他时候执行,显示结果都是一样的。
-----------------------------------------------
假如结果和我猜的一样,即 2G 用 --top 发生了失败,那么接下来试试
map --mem=-6291456 --top /vhdxp/winxp.vhd (hd0)
注意“--mem=-6291456”是连成一串的,中间不含空格;而且等号后面是个负数。
如果仍然失败,再试试 “--mem=-8388608”,仍然是负数,不过绝对值增大了。
如果这样试验侥幸能成功的话,你可以针对你的 3G 映像来做同样的试验了(3G 映像只需测试“--mem=-8388608”这一种情况)。
|
|