![使用 dd 使用 Ubuntu Studio 将 ISO 文件刻录到 USB 时发生奇怪的事情](https://linux22.com/image/1022559/%E4%BD%BF%E7%94%A8%20dd%20%E4%BD%BF%E7%94%A8%20Ubuntu%20Studio%20%E5%B0%86%20ISO%20%E6%96%87%E4%BB%B6%E5%88%BB%E5%BD%95%E5%88%B0%20USB%20%E6%97%B6%E5%8F%91%E7%94%9F%E5%A5%87%E6%80%AA%E7%9A%84%E4%BA%8B%E6%83%85.png)
我使用 Ubuntu Studio 刻录了一个 ISO 文件,并使用 status=progress 进行刻录。当我开始刻录过程时,我看到已经有 1 GB(当您使用 status=progress 时,它会显示在此过程中已将多少 GB 刻录到 USB)。这对我来说有点奇怪,因为现在我认为出了问题。我刚刚使用此可启动 USB 安装了操作系统,一切似乎都正常工作,刻录过程结束后,我检查了可启动 USB 上分区的大小,发现它是 3.6G。我的 iso 文件是 3.8GB,但我认为 3.6 是 GiB,所以一切都一定是正确的。您能告诉我 status=process 显示这样的过程是否正常吗?这是正常的吗?
答案1
您看到的情况是由于 Ubuntu 将其所有可用内存用于磁盘缓存。该实用程序dd
“认为”它已写入 USB,而实际上,它的输出进入内存缓存,然后从那里提交到磁盘。起初,这个过程很快,因为内存正在被填满。所以您看到它在那里运行得非常快。
然后,实际速度会进一步提高:在写入缓存的相同速度下,内存可供dd
继续运行。一旦完成,提示就会重新出现。但是,写入 USB 仍在后台继续。
如果你真的想看到 USB 何时完全写入,请在命令sync
后附加一个命令 dd
,例如
dd if=... of= ... ; sync
Sync 告诉系统刷新缓存。这样,只有当写入真正完成时,终端提示才会再次出现,这样您就可以确保对 USB 的物理写入确实已完成。