无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2971|回复: 4
打印 上一主题 下一主题

[求助] dd 跟 write 命令是调用BIOS的吗?

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-7 16:22:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题所示: dd 跟 write 命令是调用BIOS的功能来实现磁盘扇区读写的吗???

dd 跟 write 命令在读写大的LBA地址的扇区时是否安全?
2#
发表于 2011-7-7 17:01:53 | 只看该作者
是调用 BIOS。

grub4dos 除了依靠 BIOS 来实现磁盘访问之外,没有别的手段。

实现写盘操作的,不仅只有 dd 和 write,其它命令也有可能会有写盘操作。例如,savedefault, geometry --sync,partnew 等等。

DOS 也可能会有写盘的动作。

所有以上这些写盘,都依赖于 BIOS。如果 BIOS 没有问题,那就没有问题。如果 BIOS 有什么 bug,那就有可能出问题。

当 BIOS 不支持 LBA 的时候,有可能出问题。当 BIOS 支持 LBA 的时候,也有可能出问题。举例来说,你的程序让 BIOS 写入某个扇区,但 BIOS 阴差阳错写入了别的某个扇区,这就把这个无辜的扇区破坏了。

这是无法预防的事情。也没人报告这样的事情发生。但理论上存在这样的危险。因为已知 BIOS 存在 bug,在读扇区的时候,就已经表现出 bug 了。而假如写扇区时存在 bug,那这样的 bug,反而很难发现。比如说,它写入到某个不重要的文件上,造成了这个文件的损坏,但未造成系统问题,因此,用户不能发现这个问题。

即使写入系统文件,造成 Windows 死机,用户也不容易怀疑到 BIOS 的 bug 上面去,而通常怀疑这是病毒所为,重新安装系统,一切又恢复了正常。

---------------------

在实模式启动期间,尽量不要访问大的扇区号。把启动时所要使用的文件(NTLDR、BOOT.INI,GRLDR,MENU.LST,*.IMG,*.ISO 等等)都尽量安排在磁盘的开头。尤其是当你在实模式下写入磁盘的时候,更应该保证写入的文件处于安全范围之内。

一般来说,能够正确地读到多大的扇区号,就也能够安全地写多大的扇区号。但也不能完全保证这一点。我曾遇到一台 DELL 老机器,它支持 LBA 读盘,但不支持 LBA 写盘。写盘时,完全失败,不予写入。这当然不会造成灾难了,因此,这还算是好的呢。

尽量不要在实模式下写盘。

grub4dos 以及 DOS 都是用 BIOS 来读写磁盘的。如果能够避免,尽量避免。你可以切换到 Windows 或者 Linux 下进行写盘。Windows 和 Linux 都不使用 BIOS 来读写磁盘,而是使用系统自带的驱动程序来实现读写操作,都是在保护模式下执行读写操作的。那些驱动程序,通常认为是十分可靠的。
回复

使用道具 举报

3#
 楼主| 发表于 2011-7-8 10:36:10 | 只看该作者
非常感谢不点的回复,让我们又学到了很多的知识。

我之前写的GRUB4DOS批处理BOOTSECT就是使用了DD跟WRITE命令。在新机器上面,我觉得应该问题不大。但以后还是尽量避免这些危险的操作。 

但大部分情形下,我认为DD跟WRITE是安全的。
回复

使用道具 举报

4#
发表于 2011-7-8 13:28:31 | 只看该作者
尽量安排在磁盘的开头,这句话如何实际操作?
例:8G的U盘,使用USB-zip格式时,找不到grldr文件,如何把grldr文件写在磁盘的开头?

还有,就是DVD光盘,找不到.gho文件时,因DOS不读不出2G后面的文件,把.gho镜像文件改成以A打头的.gho文件,说是先从A到Z的字母顺序搜索,这样就搜索到了,是不是这样?
例:winxp.gho改名为ainxp.gho
回复

使用道具 举报

5#
 楼主| 发表于 2011-7-8 15:31:30 | 只看该作者
按排在磁盘的前面,指的是你存储的时候,先存放这个文件,自然会放在前面。但是如果已经存放了别的文件,再放到前面,目前好像没有听说过有这样的磁盘整理软件。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-2 16:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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