$ cat /proc/partitions
major minor #blocks name
8 0 976762584 sda
8 1 99998720 sda1
8 2 1 sda2
8 3 103561216 sda3
8 4 291514368 sda4
8 5 1998848 sda5
8 16 31506432 sdb
8 17 31505439 sdb1
我想区分来自/dev/sda
输出的物理磁盘(/dev/sda1
)和逻辑磁盘(/proc/partitions
)。
sda
的值小于所有sdaN
条目/sys/block/[NAME]
所以我会尝试阅读/sys/block/sdaN
目录(会失败)和/sys/block/sda
(会成功)我不知道哪一个是可靠的,还有其他方法吗?
另外,我如何可靠地制作像sda : {sda1, sda2, sda3, sda4, sda4}, sdb : {sdb1}
/sys/block
答案 0 :(得分:0)
看起来您不能很好地区分主分区和辅助分区:
分区通常可以是主要类型(最多四个),扩展(最大一个)或逻辑(包含在扩展分区中)。每个分区都有一个包含代码的类型字段。这决定了计算机操作系统或分区文件系统。
小学(最多4)1-4, 扩展(最多1)1-4, 逻辑5 -
对于分区命名,您通常会看到硬盘设备名为/ dev / hdx或/ dev / sdx,其中x取决于硬件配置。
分区号,从1开始计数。因此,四个(可能的)主分区编号为1到4.逻辑分区计数始终从5开始。因此/ dev / hda2是第一个ATA硬盘上的第二个分区设备和/ dev / hdb5是第二个ATA硬盘设备上的第一个逻辑分区。对于SCSI,/ dev / sdb3是第二个SCSI磁盘上的第三个分区。
为了在磁盘上创建新分区,fdisk永远是你的朋友,你只需要从最后一个块开始添加空间,你可以随时通过fdisk -l或#cat / proc / partitions来检查它们。
如果你不能使用fdisk或parted工具创建设备,那就提到它了吗?!