1. 读取所有的物理磁盘设备
List<String> result;
var query = new WqlObjectQuery("SELECT * FROM Win32_DiskDrive");
using (var searcher = new ManagementObjectSearcher(query))
{
    result = searcher.Get()
                     .OfType<ManagementObject>()
                     .Select(o => o.Properties["DeviceID"].Value.ToString())
                     .ToList();
}
  1. 读写磁盘扇区

[参考]
C# -获取物理驱动器的列表或数量(不是逻辑驱动器)[Win32] 直接读写磁盘扇区(磁盘绝对读写)

留待后查,同时方便他人