【问题标题】:How can I determine which device a loop loops back to?如何确定循环循环回哪个设备?
【发布时间】:2013-06-17 20:52:51
【问题描述】:

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

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

【问题讨论】:

    标签: c++ c ubuntu disk


    【解决方案1】:

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

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

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

    【讨论】:

    • 分析,在我的例子中:试图找出每个驱动器上有多少可用空间。由于 wubi 从文件中生成 fs,因此主机文件系统将其报告为已用空间,即使它不是。
    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    相关资源
    最近更新 更多