gpt4 book ai didi

c -/proc/partitions 主要和次要编号以检测物理磁盘和分区

转载 作者:行者123 更新时间:2023-11-30 17:43:56 27 4
gpt4 key购买 nike

$ 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

我想区分 /proc/partitions 中的物理磁盘 (/dev/sda) 和逻辑磁盘 (/dev/sda1) > 输出。

  1. 我看到的一种简单方法是检查某些正则表达式模式是否以整数结尾
  2. 正如我在我的机器上看到的输出,sda 比所有 sdaN 条目具有最小的次要值
  3. 检查 /sys/block/[NAME] 是否存在,因此我将尝试读取 /sys/block/sdaN 目录(这将失败)和/sys/block/sda (将会成功)

不知道哪一种可靠,还有其他方法吗?

另外,我怎样才能可靠地制作像 sda : {sda1, sda2, sda3, sda4, sda4}, sdb : {sdb1}

  1. 仅凭其名称
  2. 按次要数字
  3. 再次查看/sys/block
  4. 按位置(是否确认 sda1 始终位于 sda 之后?例如,逻辑分区条目是否始终位于物理磁盘条目之后?)

最佳答案

看来您没有很好地区分主分区和辅助分区:

分区通常可以是主分区(最多四个)、扩展分区(最多一个)或逻辑分区(包含在扩展分区内)类型。每个分区都有一个包含代码的类型字段。这决定了计算机操作系统或分区文件系统。

Primary (max 4)        1-4, 
Extended (max 1) 1-4,
Logical 5-

说到分区命名,您通常会看到硬盘设备被命名为/dev/hdx 或/dev/sdx,其中 x 取决于硬件配置。

分区号,从 1 开始计数。因此,四个(可能的)主分区编号为 1 到 4。逻辑分区计数始终从 5 开始。因此/dev/hda2 是第一个 ATA 硬盘上的第二个分区设备,/dev/hdb5 是第二个 ATA 硬盘设备上的第一个逻辑分区。对于 SCSI 来说也是如此,/dev/sdb3 是第二个 SCSI 磁盘上的第三个分区。

要在磁盘上创建新分区,fdisk 将始终是您的 friend ,您只需从最后一个占用的 block 开始添加空间,您始终可以通过 fdisk 检查它们-l,或cat/proc/partitions

如果您无法使用fdiskparted工具创 build 备,只是提到它?!

关于c -/proc/partitions 主要和次要编号以检测物理磁盘和分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20149956/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com