Dd
dd 命令寫入 /dev/sdc 改變了磁碟的大小
我使用 dd 命令直接寫入 /dev/sdc(外部安裝的 1TB 硬碟大小)以測試原始模式下的各種寫入速度。(我不關心磁碟上的任何數據)。現在 fdisk 或 gparted 報告的磁碟大小是我寫入的數據的大小,我不知道如何恢復完整的磁碟大小。
我使用的命令是:
dd if=/dev/urandom of=/dev/sdc bs=4096 count=
$$ big number $$ 如下圖所示,如果我使用這個命令寫入了 128KB 的數據,那麼 fdisk 會報告驅動器只有 128KB 的大小。當我嘗試寫入多達 1TB 的數據時,它會停止在 30GB 並出現設備已滿錯誤。
我曾嘗試刪除和重新創建分區表,但由於該軟體僅辨識較小的驅動器大小,因此無濟於事。
如何恢復完整的驅動器大小?
PS我也嘗試從 if=/dev/zero 開始寫作。它以 5GB/s 的速度執行,並停在同一個 32GB 的位置。
PPS 我還嘗試從驅動器中移除電源並重新啟動它,認為記憶體中存在導致問題的東西。同樣的問題。
# fdisk -l /dev/sdc Disk /dev/sdc: 29.5 GiB, 31633203200 bytes, 61783600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes #try to write to entire drive: # dd if=/dev/zero of=/dev/sdc bs=65536 count=15258788 status=progress 26753171456 bytes (27 GB, 25 GiB) copied, 5.00001 s, 5.4 GB/s dd: error writing '/dev/sdc': No space left on device 482685+0 records in 482684+0 records out 31633203200 bytes (32 GB, 29 GiB) copied, 5.89003 s, 5.4 GB/s # dd if=/dev/urandom of=/dev/sdc bs=65536 count=2 status=progress 2+0 records in 2+0 records out 131072 bytes (131 kB, 128 KiB) copied, 0.000660426 s, 198 MB/s # fdisk -l /dev/sdc Disk /dev/sdc: 128 KiB, 131072 bytes, 256 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes # dd if=/dev/urandom of=/dev/sdc bs=65536 count=15258788 status=progress 31624462336 bytes (32 GB, 29 GiB) copied, 136 s, 233 MB/s dd: error writing '/dev/sdc': No space left on device 482685+0 records in 482684+0 records out 31633203200 bytes (32 GB, 29 GiB) copied, 136.038 s, 233 MB/s
由於某種原因,塊特殊設備文件 /dev/sdc 不存在,可能是因為當時沒有連接驅動器。然後該
dd
命令將文件創建為普通文件,可能在根文件系統上,這給出了觀察到的結果。