Linux

如何找到快閃記憶體盤的實際 (dd) 大小?

  • March 2, 2014

當我將快閃記憶體盤放入讀卡器並使用 製作圖像時dd,我會看到磁碟的實際大小,如以下範例中的 512483328 字節:

1000944+0 records in
1000944+0 records out
512483328 bytes (512 MB) copied, 33.0091 s, 15.5 MB/s

是否可以在不實際複製數據的情況下獲得相同的數字?

使用sgdisk

您可以使用sgdisk列印詳細資訊:

sgdisk --print <device>

[…]
Disk /dev/sdb: 15691776 sectors, 7.5 GiB
Logical sector size: 512 bytes
[…]

當您將扇區數與扇區大小相乘時,您會得到應該與dd.

/sys直接使用

您也可以直接從以下位置獲取這些數字/sys

扇區數:/sys/block/<device>/size

扇區大小:/sys/block/<device>/queue/logical_block_size

這是一種計算大小的方法:

sectors=$(cat /sys/block/sdb/size)
bs=$(cat /sys/block/sdb/queue/logical_block_size)
echo $(( $sectors * $bs ))        --- OR ---        echo "$sectors * $bs" | bc

使用udisks

udisks直接輸出資訊。據報導size

udisks --show-info <device> | grep size

使用blockdev

blockdev --getsize64 <device>

/proc/partitions

grep ' sdb$' /proc/partitions

(以千字節表示的數字)。

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