2

在我的 Ubuntu 系统上,我正在运行 WUBI,因此我有一个设备:/dev/loop0它实际上是主驱动器的 NTFS 文件系统上的一个文件。我知道环回设备不一定指向磁盘,但是我如何确定它是否是以及它环回哪个磁盘(在 c/c++ ofc 中)?

至于为什么,我正在对系统进行一些简单的分析,并希望将环回上的分区与主磁盘合并。

4

1 回答 1

2

老实说,我不明白“轻量级分析”与合并分区有什么关系,或者你真正想要完成什么,但要找出哪个环回设备与哪个文件相关联,可以使用 losttup 命令完成。执行此操作的代码需要以 root 身份运行,因此您可以运行“sudo losttup -a”。

要在 C/C++ 中自己执行相同的技巧,该过程将是 Parse /proc/partions 以查找正在使用的循环设备打开每个循环设备 fstat 它以确保它是一个循环设备 ioctl LOOP_GET_STATUS ioctl LOOP_GET_STATUS64

所有重要的信息都在头文件 linux/loop.h 如果上面的任何一个听起来太奇怪和/或模糊,只需使用 losttup。

于 2013-06-20T22:22:40.007 回答