首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >/sys/block/sd*/sd*/size的意义

/sys/block/sd*/sd*/size的意义
EN

Unix & Linux用户
提问于 2019-02-24 12:47:14
回答 1查看 870关注 0票数 2

磁盘大小/sys/block/sda/size总是正确的,但是分区大小/sys/block/sda/sda2/size是不正确的,如果分区类型被扩展、引导等等,因此我依赖于读取MBR来获得正确的分区大小。

/sys/block/sd*/sd*/size文件中的值意味着什么?除了读取MBR或使用命令之外,获得分区大小的正确方法是什么?

示例:

代码语言:javascript
运行
复制
nyc@nyc:~/Documents$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 1 TiB, 1099511627776 bytes, 2147483648 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
Disklabel type: dos
Disk identifier: 0x13ce1e72

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sdb1  *          2048 1881196543 1881194496  897G 83 Linux
/dev/sdb2       1881196544 2147483647  266287104  127G  5 Extended
/dev/sdb5       1881198592 1983643647  102445056 48.9G 83 Linux
/dev/sdb6       1983645696 2076295167   92649472 44.2G 83 Linux
/dev/sdb7       2090141696 2139455487   49313792 23.5G 83 Linux
/dev/sdb8       2139457536 2147483647    8026112  3.8G  7 HPFS/NTFS/exFAT
nyc@nyc:~/Documents$ cat /sys/block/sdb/size 
2147483648
nyc@nyc:~/Documents$ cat /sys/block/sdb/sdb2/size 
2
EN

回答 1

Unix & Linux用户

发布于 2019-02-24 13:08:18

您将得到2,因为该分区是扩展分区,其中包含逻辑分区。这里2表示512 byte扇区的数目,或者我们可以说它有一个1K块。您可以使用命令lsblk,它将为您提供如下输出:

代码语言:javascript
运行
复制
sdb2   8:3    0     1K  0 part 

这表明它是一个扩展的分区。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/502682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档