先查看fdisk -l输出结果,比如:
root@test:/# fdisk -l
Disk /dev/ram0:4 MiB,4194304 字节,8192 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
Disk /dev/mmcblk0:58.24 GiB,62528684032 字节,122126336 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:58260000-0000-406F-8000-0ECA00007A5D
设备 起点 末尾 扇区 大小 类型
/dev/mmcblk0p1 16384 24575 8192 4M 未知
/dev/mmcblk0p2 24576 32767 8192 4M 未知
/dev/mmcblk0p3 32768 163839 131072 64M 未知
/dev/mmcblk0p4 163840 425983 262144 128M 未知
/dev/mmcblk0p5 425984 491519 65536 32M 未知
/dev/mmcblk0p6 491520 122126271 121634752 58G 未知
eMMC标称容量64GB,因进制原因实际容量是没有64GB的,如果要修改这个显示的总容量数值,可使用脚本替换显示的字符串。新建脚本fake_fdisk,代码如下:
#!/bin/bash
调用真实fdisk,替换mmcblk0磁盘头部容量字符串
if "$1" = "-l" ; then
/usr/sbin/fdisk -l "$@" 2>&1 | sed \
-e 's/Disk \/dev\/mmcblk0.*58.24 GiB.*/Disk \/dev\/mmcblk0:64 GB,64000000000 字节,125000000 个扇区/'
else
其它fdisk原始命令直接透传
/usr/sbin/fdisk "$@"
fi
将脚本放置/usr/local/bin/目录下,并添加执行权限。
之后修改/etc/bash.bashrc文件:
echo "alias fdisk='/usr/local/bin/fake_fdisk'" >> /etc/bash.bashrc
source /etc/bash.bashrc
重启即可生效,查看结果如下:
root@test:/# fdisk -l
Disk /dev/ram0:4 MiB,4194304 字节,8192 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
Disk /dev/mmcblk0:64 GB,64000000000 字节,125000000 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:58260000-0000-406F-8000-0ECA00007A5D
设备 起点 末尾 扇区 大小 类型
/dev/mmcblk0p1 16384 24575 8192 4M 未知
/dev/mmcblk0p2 24576 32767 8192 4M 未知
/dev/mmcblk0p3 32768 163839 131072 64M 未知
/dev/mmcblk0p4 163840 425983 262144 128M 未知
/dev/mmcblk0p5 425984 491519 65536 32M 未知
/dev/mmcblk0p6 491520 122126271 121634752 58G 未知
此修改只对fdisk -l 生效,若使用其他工具查看容量仍为实际容量大小。