如何在.NET中获取磁盘的分区UUID
本文关键字:磁盘 分区 UUID 获取 NET | 更新日期: 2023-09-27 18:28:56
我需要能够获得分区的分区/文件系统UUID,类似于在WinDOS中使用VOL
和在*nix中使用ls -l /dev/disks/by-partuuid
,但使用C#代码。最好的方法是什么?
作为参考,我需要能够从当前目录或"最近"的向上装载中获取UUID。
编辑:我的错,应该提前说:它需要在Mono上运行。
您可以为这两个平台编写代码,然后在运行时根据Environment.OSVersion.Platform
决定使用哪一个。确保在单独的方法(或类)中编写实现,这样运行时就不会试图为错误的平台加载钉库。
对于windows,您可以使用GetVolumeInformation或WMI,如另一个答案中所述。对于linux,您可以将问题中提到的目录与pinvoking readlink结合使用,也可以使用Mono.Posix程序集。
您可能需要p/InvokeGetVolumeInformation函数。