Debian

在 Debian 10 Live USB 上使用 dd 命令時 of=/dev/sdx 和 of=/dev/sdX 之間的區別

  • July 29, 2019

我正在使用 Mac,以 efi 模式啟動我創建的 Debian 10 live usb。在實時模式下,我試圖通過下載它並將其添加到另一個 USB 棒來創建一個 FreeBSD 安裝 USB。在這樣做之前,我想確保我的 USB 記憶棒已歸零。在將我的 USB 記憶棒歸零時,我注意到在引用驅動器時使用大寫“X”/dev/sdX和小寫“x”時/dev/sdxdd的輸出有所不同。 ,以及引用驅動器之間sdXsdx引用驅動器時的區別。

為什麼我在使用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

但是,如果我of=/dev/sdC在同一個 USB 驅動器上執行命令,我會得到不同的結果,例如在(第二個)範例中:

$ 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

有人可以向我解釋這種現象嗎?drive/dev/sdC和 和有什麼不一樣/dev/sdc

Debian 10 Live dd 命令 sdx 與 sdX

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創建了一個sdC在 tmpfs 文件系統上呼叫的文件,然後繼續將其填充到極限。您可能沒有使用大約 2GB 的 RAM(所以總共可能有 4 GB RAM?)。

dd of=/dev/sdc寫入設備,並填寫。Sherlock Holmes 告訴我這是一個 16GB 的磁碟。

引用自:https://unix.stackexchange.com/questions/532653