Perintahnya adalah:
blockdev --getsize64 /dev/mmcblk0p1
Ini memberikan hasil dalam byte, sebagai bilangan bulat 64-bit. Ini menanyakan ukuran byte dari perangkat blokir , saat kernel melihat ukurannya.
Alasannya, mengapa fdisk -l /dev/mmcblk0p1
tidak berfungsi, apakah itu fdisk
melakukan beberapa hal yang sama sekali berbeda:dibaca di tabel partisi (=sektor pertama) dari perangkat blok, dan mencetak apa yang ditemukan . Itu tidak memeriksa apa pun, hanya mengatakan apa yang ada di tabel partisi.
Itu bahkan tidak mengganggu jika tabel partisi rusak, atau perangkat blok tidak memilikinya:itu akan mencetak peringatan bahwa checksum tidak baik, tetapi masih mencetak apa yang ditemukan, meskipun nilainya jelas tidak -masuk akal.
Inilah yang terjadi dalam kasus Anda:/dev/mmcblk0p1
tidak memiliki tabel partisi. Seperti yang ditunjukkan oleh nama perangkat, ini sudah menjadi partisi pertama dari disk fisik /dev/mmcblk0
. Disk ini berisi tabel partisi, jika Anda menanyakannya dengan fdisk -l /dev/mmcblk0
, itu berhasil (dengan asumsi itu memiliki tabel partisi msdos).
Coba lsblk
, bahkan tidak memerlukan root:
$ lsblk -b
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 34359738368 0 disk
├─xvda1 202:1 0 1676673024 0 part [SWAP]
└─xvda2 202:2 0 32682016768 0 part /var/spool
-b
parameter memberitahukannya untuk menampilkan ukuran dalam byte.
Untuk mendapatkan nilai yang tepat dari total ukuran partisi, jalankan:
awk '{print $1*512}' /sys/class/block/mmcblk0p1/size