dd102 发表于 2016-6-27 07:43:08

dd 命令求助

将磁盘0 从6146扇区开始 读取1714字节,写入内存0x8FC04开始
这样写对么..
dd if=(hd0) of=(md)0x8FC04+4 bs=1 count=0x6B2 skip=0x300400
进入系统后内容还在么,还是找个16M以后的内存地址

不点 发表于 2016-6-27 08:21:28

有错。注意 md 的计算单位是 “扇区”(512 字节块)。

另外,你要写的常规内存位置,在 0x90000 附近。某些 BIOS 数据也占用了这个位置,比如在 pxe 启动的情况下,PXE 的 BIOS 通常是占用了 0x80000 ~0x9FFFF 之间的大部分空间。因此,你这是把 pxe 的代码、数据 “毁掉” 的操作。

写入 16M 以后?错,32M 以内的扩展内存,都是 grub4dos 保留内存,随便写是不行的。可以写在 64M 以后的位置。

进入系统后,内容还在吗?第一,要看你有没有执行其他命令毁掉它。第二,要看你的系统初始化过程会不会先抹掉它。

dd102 发表于 2016-6-30 02:35:22

本帖最后由 dd102 于 2016-6-30 03:42 编辑

不点 发表于 2016-6-27 08:21
有错。注意 md 的计算单位是 “扇区”(512 字节块)。

另外,你要写的常规内存位置,在 0x90000 附近。 ...

感谢大师回复,

dd if=(hd0) of=(md)0x40000+4 bs=1 count=0x6B2 skip=0x300400
能读到了:dizzy:
页: [1]
查看完整版本: dd 命令求助