我请您建议如何操作块设备的分区。
例如,有一个闪存驱动器连接为 /dev/sdb。例如,它有一些分区 sdb1 和 sdb2。如何以编程方式修改此设备的分区?假设删除这两个分区,在未分配的空间中创建一个新的引导分区(带有 esp 和引导标志),例如,另外 2 个用于文件。
我在某处听到过一句话,他们说:“在 UNIX 中,一切都是文件。” 在 /sys/block 系统目录中,有关于块设备的各种信息。
实际上,因此问题。简单地修改这些文件来覆盖设备分区信息就够了吗?
不幸的是,通过简单的 Google 搜索无法获得太多结果,因为像“linux 编辑设备分区”这样的请求大多是针对此类事情(如 fdisk、cgdisk 等)已经编写好的软件提供的。
所以也许有人知道你可以在哪里阅读更多关于这个的信息?最好是英文的。或实现此功能的代码示例(哪种语言无关紧要)。
您可以在此处阅读更多信息 FHS。
/sys 目录包含有关设备和驱动程序的信息,以及一些内核功能(例如,您可以重新读取设备属性)。您可以只看 parted repositories 中的代码示例 , cfdisk在那里实现了它。