8 个版本
0.2.0 | 2022 年 7 月 15 日 |
---|---|
0.1.6 | 2022 年 2 月 19 日 |
0.1.5 | 2021 年 1 月 11 日 |
0.1.4 | 2020 年 5 月 16 日 |
0.1.1 | 2017 年 7 月 1 日 |
#2387 在 解析器实现
71 每月下载次数
在 2 crates 中使用
26KB
310 行
此包可以解析 GPT 和基本 MBR 分区表。
文档和示例
限制
- MBR 扩展分区无法读取(尽管它们被返回,因此您可以自行读取)。这应该得到实现。
- GPT 备份表未进行验证,这是规范中“有点”必需的。这可以实施,但不是特别重要,除非您正在进行数据恢复。
- 除了 512 字节之外的扇区大小未得到很好的测试。这些设备似乎截至 2017 年并不存在。
MSRV
Rust 1.46 支持,并由 CI 检查。更新此版本会导致 semver 版本号增加。
lib.rs
:
从读取器中读取基本的 MBR 和 GPT 分区表。
示例
从 reader
加载 MBR 或 GPT 分区
use std::io;
use bootsector::{list_partitions, open_partition, Options, Attributes};
// let reader = ...;
let partitions = list_partitions(&mut reader, &Options::default())?;
let part = &partitions[0];
// See what type of partition this is
match part.attributes {
Attributes::GPT {
type_uuid,
..
} => println!("gpt: {:?}", type_uuid),
Attributes::MBR {
type_code,
..
} => println!("mbr: {:x}", type_code),
}
let part_reader = open_partition(reader, part);
// part_reader.read_exact(...
依赖项
~0.7–1MB