当前位置: 技术问答>linux和unix
dd命令的“0+1 的读入”和“1+0的读入”有什么区别呢?
来源: 互联网 发布时间:2017-04-25
本文导语: 看《Orange's一个操作系统的实现第三章时, chapter3/a/pmtest1.asm文件编辑完后: nasm pmtest1.asm -o pmtest1.bin bximage新建一个a.img软盘(这里没有用前面两章做的a.img) dd if...
看《Orange's一个操作系统的实现第三章时,
chapter3/a/pmtest1.asm文件编辑完后:
nasm pmtest1.asm -o pmtest1.bin
bximage新建一个a.img软盘(这里没有用前面两章做的a.img)
dd if=pmtest1.bin of=a.img bs=512 count=1 conv=notrunc
这里会显示是用0+1的读入。如下图:
然后用虚拟机运行这个a.img,会出错。用file查看a.img是个com文件,这个问题好像是因为pmtest1.asm编译的pmtest1.bin没有0xaa55标志。是这样吗?
在前两章做的a.img是用1+0的读入,如下图。能运行成功。
想问一下,0+1和1+0区别是什么?刚开始看linux方面的东西,水平太低,望大神指教。
chapter3/a/pmtest1.asm文件编辑完后:
nasm pmtest1.asm -o pmtest1.bin
bximage新建一个a.img软盘(这里没有用前面两章做的a.img)
dd if=pmtest1.bin of=a.img bs=512 count=1 conv=notrunc
这里会显示是用0+1的读入。如下图:
然后用虚拟机运行这个a.img,会出错。用file查看a.img是个com文件,这个问题好像是因为pmtest1.asm编译的pmtest1.bin没有0xaa55标志。是这样吗?
在前两章做的a.img是用1+0的读入,如下图。能运行成功。
想问一下,0+1和1+0区别是什么?刚开始看linux方面的东西,水平太低,望大神指教。
|
+号前面的表示完整的block个数
+号后面的表示不完整的block个数
第一张图里面的0+1,是因为只读了149Byte,不是一个完整的block,因为block size指定为512Bytes了(bs=512);
第二张图里面的1+0,是因为完整读出了512Byte。
+号后面的表示不完整的block个数
第一张图里面的0+1,是因为只读了149Byte,不是一个完整的block,因为block size指定为512Bytes了(bs=512);
第二张图里面的1+0,是因为完整读出了512Byte。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。