gparted 报告的“diag”标志的含义是什么

gparted 报告的“diag”标志的含义是什么

我在双启动系统上使用 gparted,我认为 Windows 使用的分区显示有“diag”标志,尽管它被列为 ext4 格式。但是不可读,因此分区签名可能已损坏。所以我很困惑。

我想知道该标志对 gparted 意味着什么,它在 MBR 或分区签名中的位置,以及如何在 lsblk 或其他命令行实用程序的输出中看到相同的标志(我想在 bash 脚本中识别它)。现在这只是一个谜。

答案1

parted 手册对这个问题很有帮助。它说;

‘DIAG’

(MS-DOS) - Enable this to indicate that a partition can be used as a diagnostics / recovery partition.

完整文档在此处https://www.gnu.org/software/parted/manual/html_node/set.html

您应该能够使用以下命令输出标志

lsblk -o NAME,PARTFLAGS

但是这似乎不适用于所有分区类型。在 PARTFLAGS 后添加任何其他必需字段。您可以使用 lsblk -h 列出所有可用字段

10 月 3 日编辑,更正拼写错误并添加:

看起来你可以获得更好的标志信息,这可能有助于使用parted:

sudo parted -l

应该可以处理这个输出以获取您需要的标志。

答案2

感谢@PonJar。我正在把我们的对话收集到另一个答案中。

gparted 报告为“diag”。parted 将同一标志报告为“msftres”,Windows 10 的磁盘管理中将分区报告为“Microsoft Recovery Partition”。该标志可能还有其他用途,但就我的目的而言,这意味着该分区是为了 Windows 的利益。看来 Microsoft 并不关心这些分区的文件系统签名,因此我无法推断数据的存在或其格式。

对于脚本,我决定使用“parted /dev/<drive name> print”并过滤感兴趣的行。例如,对于分区 3,我可能会使用

if parted /dev/sda print | \
    sed -e "1,/Number/"d" | \
    grep -e "^ *3 " | \
    fgrep msftres >/dev/null
then
    DIAG=1
else
    DIAG=0
fi

相关内容