从命令行查找特定磁盘上的哪个分区处于活动状态

从命令行查找特定磁盘上的哪个分区处于活动状态

例如,如果我从 Windows PE 启动,或者使用 psexec 或其他基于命令行的方法远程进入系统。我知道这diskpart.exe允许您设置活动分区,但我找不到任何方法来查看哪个分区当前处于活动状态。

希望有一个简单的答案,但我只是想念它......

答案1

我知道如何做到这一点的唯一方法是接近@Maximus 所说的,但执行以下操作:

diskpart.exe
select volume 1
detail partition

输出将显示

Active: Yes/No

例如: 在此处输入图片描述

您必须检查每个卷,以找出哪些卷处于活动状态,哪些卷不处于活动状态。您可以使用 Diskpart 的list volume命令显示所有卷,然后找到您要首先检查的卷。

答案2

您可以使用wmic来执行此操作。您可能希望将其导出到文本文件 ( >output.txt) 并在不换行的情况下查看,因为表格输出可能会非常宽。

列出所有分区(查看BootPartition成员是否标记为active):

wmic partition

要仅列出活动分区,请使用以下命令进行过滤where

wmic partition where BootPartition=true

要过滤显示的列,请使用get

wmic partition where BootPartition=true get DeviceID,Size

还:

wmic partition get DeviceID,Size,BootPartition

有关partition会员的更多信息,请参阅Win32_DiskPartition 文档

启动分区

数据类型:布尔值 访问类型:只读

分区是活动分区。操作系统从硬盘启动时使用活动分区。


看一眼WQL 语法有关 用法的更多信息where。请查看 以wmic partition get /?了解有关 的更多信息get


使用交换机wmic进行远程管理可以带来更多优势/node:<servername or ip>wmic /node /?有关详细信息,请参阅)。微软

任何启用了 WMIC 的计算机都可以使用 WMIC 来远程管理任何具有 WMI 的计算机。远程管理的计算机上无需有 WMIC,WMIC 即可对其进行管理。


如果您可以找到某种以编程方式(例如批处理脚本)从磁盘和分区索引获取驱动器号的方法,您可能希望使用for带有成员DiskIndexIndex(分别是磁盘和分区索引)的循环。

答案3

select disk 0
detail disk

查看最后一列(系统)?

答案4

作为赛格威,我建议使用磁盘管理效用来自util-linux包来执行此操作如果你不使用谷氨酰胺磷酸酶

如果您要远程进入系统,则需要在该系统上安装 Cygwin。

如果您从 Windows PE 启动,您可以手动下载软件包并使用可以处理 .tar.bz2 文件的适当解压缩程序提取它们。

运行 fdisk 需要下载的软件包

示例(1 个硬盘,1 个闪存驱动器)

$ uname -svr
CYGWIN_NT-5.1 1.7.17(0.262/5/3) 2012-10-19 14:39

$ /usr/sbin/fdisk -l | grep /dev/
Disk /dev/sda: 320.1 GB, 320072933376 bytes
/dev/sda1   *          63    83891429    41945683+   7  HPFS/NTFS/exFAT
/dev/sda2        83891430   625137344   270622957+   f  W95 Ext'd (LBA)
/dev/sda5        83891493   503332514   209720511    7  HPFS/NTFS/exFAT
/dev/sda6       503332578   625137344    60902383+   7  HPFS/NTFS/exFAT
Disk /dev/sdb: 8065 MB, 8065646080 bytes
/dev/sdb1   *          32    15753214     7876591+   b  W95 FAT32

相关内容