- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用 DISKPART
命令行实用程序,我可以获得称为“位置路径”的东西,它似乎可以满足我的需要,您可以使用命令 detail disk
查看它在 diskpart
中选择您的一个磁盘后.
看来我可以通过此类以编程方式获取此信息:MSFT_Disk
我不确定如何获取此类的实例。我有几个使用 ManagementObjectSearcher
的例子对于 WMI
类,但该方法对我不起作用,我也不确定 MSFT_Disk
在 Windows 7 中的可用性,因为该页面提到它适用于 Windows 8。
有谁知道获取 SATA channel 信息或磁盘“位置路径”的好方法吗?
最佳答案
如果您不想安装 Windows 8,我相信 WMI 是您的不二之选:
using System;
using System.Linq;
using System.Management;
namespace DiskScanPOC
{
class Program
{
static void Main()
{
var managementScope = new ManagementScope();
//get disk drives
var query = new ObjectQuery("select * from Win32_DiskDrive");
var searcher = new ManagementObjectSearcher(managementScope, query);
var oReturnCollection = searcher.Get();
//List all properties available, in case the below isn't what you want.
var colList = oReturnCollection.Cast<ManagementObject>().First();
foreach (var property in colList.Properties)
{
Console.WriteLine("Property: {0} = {1}", property.Name, property.Value);
}
//loop through found drives and write out info
foreach (ManagementObject oReturn in oReturnCollection)
{
Console.WriteLine("Name : " + oReturn["Name"]);
Console.WriteLine("Target Id: " + oReturn["SCSITargetId"]);
Console.WriteLine("Port: " + oReturn["SCSIPort"]);
}
Console.Read();
}
}
}
我没有打开机箱来验证 SATA 端口号,但上面的应用程序看起来在我配备 3 个 SATA 硬盘驱动器的机器上给出了合理的结果。
关于c# - 如何确定给定磁盘的 SATA channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979982/
我知道 linux 内核使用驱动程序与硬盘设备通信,并且设备上有固件代码来为驱动程序的请求提供服务。我的问题是: 固件公开了什么样的功能(即 api)?例如,它是否只公开内核管理的地址空间,或者 li
使用 DISKPART命令行实用程序,我可以获得称为“位置路径”的东西,它似乎可以满足我的需要,您可以使用命令 detail disk 查看它在 diskpart 中选择您的一个磁盘后. 看来我可以通
ESXi下查看磁盘SMART比较麻烦,并且SATA协议的和NVMe协议的操作不一样,下面分别进行详细陈述 SATA ——使用smartctl查看 本部分参考梦幻生命@CSDN
我有一个正在运行的应用程序需要使用适用于 Linux 的 SATA AHCI 驱动程序。我有 AHCI.so 可以使用,但我正在寻找一些文件(.h 文件),它将发布我的应用程序可以使用的 api(计划
我正在研究 2.6.35.9 版本的 Linux 内核,并试图禁用命令完成合并。 lspci 的输出如下图: 00:00.0 Host bridge: Intel Corporation 82P965
我正在调试带有 SATA AHCI Controller 的 PC 的第二阶段引导加载程序。我能够枚举 PCI 总线并找到硬盘。到现在为止还挺好。现在,我笔记本(Dell Inspiron 1525)
看了很多书后,我才知道没有单一的计算 CRC 的方法。我需要专门为串行 ATA (SATA) 计算 CRC 的方法/算法/VHDL 代码 最佳答案 SATA 使用 IEEE 802.3 CRC。以下是
有谁知道我可以用来以编程方式检测 SATA 硬盘驱动器是否已拔出的方法?当我们需要检测驱动器的移除时,我们的文件系统以只读模式挂载。前几天我们注意到,我们能够拔下硬盘驱动器,一切都继续顺利运行,直到我
我是 Linux 内核的新手,所以我可能会搞混。但是任何建议都会对我有所帮助;) 我有一个通过 PCIe SATA 卡连接的 SATA HDD,我尝试像在 block 设备上一样使用 read 和 w
我目前正在开展一个项目,我需要将数据批量导入到 Hadoop 集群中。需要导入 Hadoop 的数据驻留在 SATA 磁盘上。需要导入的数据是Encase取证磁盘镜像(E01)。我创建了一个从这些图像
我正在为 PXE 环境编译我自己的 Linux 内核和用户区工具,用于克隆和重新镜像。现在,我坚持使用特定的内核版本并使用预配置的 .config 来构建 Linux 内核。 我需要从使用预配置的 .
我正在尝试编写一个 C/C++ 程序来检测 Windows 7 中的新 SATA SSD(固态驱动器)连接。 这款 SATA SSD 还附带一条 SATA-USB 数据线。我已经将 SATA 端连接到
如何在 VB.NET 中读取 IDE 和 SATA 驱动器的硬盘序列号?(我不想要卷序列号)。 如果没有管理权限,应该为 XP 和 Vista 收集此信息。 最佳答案 您可以使用 WMI (Windo
我是一名优秀的程序员,十分优秀!