21个版本 (4个稳定版)

4.0.0-rc.32024年4月21日
4.0.0-rc.12023年11月18日
3.1.0 2023年7月4日
3.0.0 2021年10月15日
0.1.7 2017年4月24日

#44文件系统

Download history 2989/week @ 2024-05-03 3994/week @ 2024-05-10 3708/week @ 2024-05-17 3682/week @ 2024-05-24 4644/week @ 2024-05-31 4130/week @ 2024-06-07 4193/week @ 2024-06-14 3897/week @ 2024-06-21 3369/week @ 2024-06-28 4451/week @ 2024-07-05 3811/week @ 2024-07-12 5368/week @ 2024-07-19 6447/week @ 2024-07-26 5888/week @ 2024-08-02 5859/week @ 2024-08-09 5307/week @ 2024-08-16

24,915 每月下载量
19 个Crates 使用(15个直接使用)

MIT 许可协议

110KB
2K SLoC

gpt

crates.io minimum rust 1.63 Documentation

一个用于操作GPT分区表的纯Rust库。

gpt 提供了操作(R/W)GPT头部和分区表的支持。它支持任何实现了 Read + Write + Seek + Debug 特性的类型。

示例

use gpt;

use std::io;

fn main() {
    // Inspect disk image, handling errors.
    if let Err(e) = run() {
        eprintln!("Failed to inspect image: {}", e);
        std::process::exit(1)
    }
}

fn run() -> io::Result<()> {
    // First parameter is target disk image (optional, default: fixtures sample)
    let sample = "tests/fixtures/gpt-linux-disk-01.img".to_string();
    let input = std::env::args().nth(1).unwrap_or(sample);

    // Open disk image.
    let diskpath = std::path::Path::new(&input);
    let cfg = gpt::GptConfig::new().writable(false);
    let disk = cfg.open(diskpath)?;

    // Print GPT layout.
    println!("Disk (primary) header: {:#?}", disk.primary_header());
    println!("Partition layout: {:#?}", disk.partitions());

    Ok(())
}

依赖项

~435–580KB
~11K SLoC