为什么在 dd 之前必须卸载分区?

为什么在 dd 之前必须卸载分区?

为什么在使用 dd 之前必须卸载分区?例如,要将 iso 复制到闪存驱动器,我们必须在使用之前卸载该驱动器dd。我看到很多地方都告诉我这样做,但一直不明白为什么?

答案1

如果在“原始”块设备上的文件系统仍处于挂载状态时向该设备写入数据,则内核在更新已损坏的文件系统时会遇到问题。例如,内核会定期将脏数据刷新回已挂载的设备,或者可能会进行文件查找。如果底层块设备已发生根本性变化,则内核会发现问题,这可能会导致内核 OOP 消息,甚至在 BUG_ON() 检查时停止。因此,在更改块设备上的底层数据之前,请务必卸载文件系统。

相关内容