我使用的是 Mac,以 efi 模式启动我创建的 Debian 10 live USB。在实时模式下,我尝试通过下载并将其添加到另一个 U 盘来创建 FreeBSD 安装 USB。在此之前,我想确保我的 USB 记忆棒已归零。在将我的 USB 记忆棒归零时,我注意到在引用驱动器时使用大写“X”/dev/sdX
和在引用驱动器时使用小写“x”时 dd 的输出有所不同,/dev/sdx
我在 Debian 中使用 dd 命令找不到有关区分大小写的更多信息,以及引用驱动器时sdX
和之间的区别是什么。sdx
of=/dev/sdx
为什么在使用和 使用时在 dd 命令中得到不同的输出of=/dev/sdX
?例如,正如 Imgur 图片链接中所引用的,我将在 Debian live 中使用以下示例:
$ dd if=/dev/zero of=/dev/sdc bs=1M conv=noerror status=progress && sync
15618539520 bytes (16 GB, 15 GiB) copied, 1067 s, 14.6 MB/s
dd: error writing ‘/dev/sdC’ : No space left on device
14901+0 records in
14900+0 records out
15623782400 bytes (16 GB, 15 GiB) copied, 1125.46 s, 13.9 MB/s
但是,如果我在同一个 USB 驱动器上执行该命令of=/dev/sdC
,我会得到不同的结果,例如(第二个)示例:
$ dd if=/dev/zero of=/dev/sdC bs=1M conv=noerror status=progress && sync
11725956096 bytes (1.7 GB, 1.6 GiB) copied, 3.3301 s, 575 MB/s
dd: error writing ‘/dev/sdC’ : No space left on device
1825+0 records in
1825+0 records out
1913491456 bytes (1.9 GB, 1.8 GiB) copied, 3.3301 s, 575 MB/s
有人可以向我解释一下这个现象吗?驱动器/dev/sdC
和有什么区别/dev/sdc
?
答案1
dd
不关心大小写,这取决于文件系统和内核。在 Debian 上,这是区分大小写的。因此,/dev/sdc
设备节点可能在创建/dev/sdC
之前不存在,作为.可能是一个 tempfs:dd
sdC
/dev
/dev
% df -hT /dev
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 440M 0 440M 0% /dev
它的大小通常限制为 RAM 的一小部分(我认为默认为 50%)。
因此dd of=/dev/sdC
创建了一个在 tmpfs 文件系统上调用的文件sdC
,然后继续将其填充到限制。您可能 ~2GB RAM 没有被使用(那么总共可能有 4 GB RAM?)。
dd of=/dev/sdc
写入设备并填充它。 Sherlock Holmes 告诉我那是一个 16GB 的磁盘。