You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何获取并识别操作系统所在磁盘的序列号?

获取操作系统所在磁盘的序列号

我来帮你解决这个问题——你之前用的wmic diskdrive get serialnumber,capabilities只能拿到所有磁盘的序列号和功能属性,但这些属性没法直接判断哪个是系统盘(毕竟capabilities里的3「可移除」、4「只读」、7「智能介质」都和系统盘无关)。咱们得通过系统卷→分区→磁盘的关联链条来精准定位,具体步骤如下:

步骤1:确认系统卷的盘符

系统盘一般是C:,但用命令确认更稳妥:

wmic logicaldisk where drivetype=3 get deviceid, systemname

执行后会列出所有本地磁盘,其中对应你当前系统的就是系统盘(通常是C:)。

步骤2:把系统卷关联到分区

用系统盘符找到对应的分区设备ID:

wmic volume where driveletter="%SystemDrive%" get deviceid

返回的结果类似\\?\Volume{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\,复制这个ID备用。

步骤3:把分区关联到磁盘

用刚才的分区设备ID找到对应的磁盘编号:

wmic partition where deviceid="\\?\Volume{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\" get diskindex

这里把引号里的内容替换成你步骤2拿到的设备ID,执行后会得到一个数字(比如01),这就是磁盘的索引编号。

步骤4:获取目标磁盘的序列号

最后用磁盘索引编号拿到对应的序列号:

wmic diskdrive where index=0 get serialnumber, model

0换成你步骤3得到的编号就行。

一步到位的快捷命令

要是不想分步操作,直接在CMD里执行这个组合命令就行(会自动完成所有关联步骤):

for /f "skip=1 tokens=2 delims==" %d in ('wmic volume where driveletter^="%SystemDrive%" get deviceid /value') do for /f "skip=1 tokens=2 delims==" %i in ('wmic partition where deviceid^="%d%" get diskindex /value') do wmic diskdrive where index^=%i get serialnumber, model

内容的提问来源于stack exchange,提问作者Dinesh Gowda

火山引擎 最新活动