/ / ¿Hay alguna manera, utilizando wmic, de aplicar ingeniería inversa a qué volumen corresponde a qué partición (es)? [cerrado] - windows, cmd, wmi, wmic

¿Hay alguna manera, utilizando wmic, de aplicar ingeniería inversa a qué volumen corresponde a qué partición (es)? [cerrado] - windows, cmd, wmi, wmic

Problema ... solo tengo acceso a wmic ... Lame lo sé ... pero necesito averiguar qué volumen corresponde a qué partición (es) corresponde a qué disco ... Sé cómo corresponder qué partición corresponde a qué disco porque la id del disco está directamente en los resultados de la consulta wmic . Sin embargo, la primera parte del problema es más difícil. ¿Cómo correlacionar qué volumen pertenece a qué particiones?

¿Hay alguna manera, utilizando wmic, de aplicar ingeniería inversa a qué volumen corresponde a qué partición (es)?

Si es así, ¿cómo se vería esta consulta?

Respuestas

1 para la respuesta № 1

La forma más fácil de hacerlo es con diskpart desde un símbolo del sistema:

C:>diskpart

Microsoft DiskPart version 10.0.10586

Copyright (C) 1999-2013 Microsoft Corporation.
On computer: TIMSPC

DISKPART> select disk 0

Disk 0 is now the selected disk.

DISKPART> detail disk

HGST HTS725050A7E630 *(Note: This is the Model of my hard disk)*
Disk ID: 00C942C7
Type   : SATA
Status : Online
Path   : 0
Target : 0
LUN ID : 0
Location Path : PCIROOT(0)#PCI(1F02)#ATA(C00T00L00)
Current Read-only State : No
Read-only  : No
Boot Disk  : Yes
Pagefile Disk  : Yes
Hibernation File Disk  : No
Crashdump Disk  : Yes
Clustered Disk  : No

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    464 GB  Healthy    Boot
Volume 2                      NTFS   Partition    843 MB  Healthy    Hidden

DISKPART> exit

Leaving DiskPart...

C:>

Tiene acceso a una línea de comando ya que tiene acceso a WMIC, por lo que este método debería trabajo.


Basado en los comentarios a continuación: No, no hay forma de usar WMIC para determinar con 100% de precisión exactamente qué partición corresponde a qué partición en una unidad específica. El problema con la determinación de esta información a través de WMI es que no todas las unidades son unidades básicas. Algunos discos pueden ser discos dinámicos que contiene un volumen RAID que abarca múltiplesconduce. Algunos pueden ser una abstracción completa implementada por hardware como una matriz de almacenamiento (por ejemplo, una controladora RAID p410i en un HP ProLiant). Además, hay múltiples esquemas de particionamiento (p. Ej. UEFI / GPT vs BIOS / MBR) WMI es, sin embargo, independiente de su entorno. Es decir, no se preocupa por el hardware. Es simplemente otra forma de abstracción que proporciona un modelo de interfaz común que unifica y amplía las normas de instrumentación y gestión existentes.

Para obtener el nivel de detalle que desearequieren una herramienta que pueda interactuar a un nivel mucho más bajo, como el controlador del dispositivo, y esperan que el controlador proporcione la información que necesita. Si no es así, buscará una programación de muy bajo nivel para interactuar con el dispositivo en sí ... esencialmente creando un nuevo controlador que proporcione la información que desea. Pero según su limitación de tener solo acceso a la línea de comando, Diskpart es la herramienta preconstruida más cercana que encontrarás.

  1. Hay volúmenes que no tienen letras tradicionales.

¿Y? Diskpart puede seleccionar discos, particiones y volúmenes según el número asignado. La letra de la unidad es irrelevante.

  1. En ningún punto de la parte del disco se incluye ningún tipo de identificación que permita al usuario saber al 100% con qué partición están tratando cuando hacen referencia a un volumen.

Aquí hay un ejemplo de uno de mis servidores con dos discos duros de 500 gb. El primero en la unidad Boot / OS. El segundo tiene 2gb de espacio no asignado.

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  ------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy

DISKPART> select volume 2

Volume 2 is the selected volume.

DISKPART> list disk

Disk ###  Status         Size     Free     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
Disk 0    Online          465 GB      0 B
* Disk 1    Online          465 GB  2049 MB

DISKPART> list partition

Partition ###  Type              Size     Offset
-------------  ----------------  -------  -------
* Partition 1    Primary            463 GB  1024 KB

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  ------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
* Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy

DISKPART>

Observe los asteriscos? Esos indican el disco activo, la partición y el volumen. Si bien estos no son los ID que necesita para que el usuario sepa al 100% con qué partición están tratando, al menos puede ver claramente que el Volumen 2 (D :) se encuentra en la Partición 1 del Disco 1.

  1. Hay volúmenes que son discos RAW que básicamente dicen ... este es un disco sin formato y quiero saber dónde están estos discos sin formato.

Como puede ver después de haber creado un volumen sin sistema de archivos en los 2GB de espacio libre, esto no hace ninguna diferencia:

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  -------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy
Volume 3                      RAW    Partition   2048 MB  Healthy

DISKPART> select volume 3

Volume 3 is the selected volume.

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  -------
Volume 0         System       NTFS   Partition    350 MB  Healthy    System
Volume 1     C   OSDisk       NTFS   Partition    465 GB  Healthy    Boot
Volume 2     D   New Volume   NTFS   Partition    463 GB  Healthy
* Volume 3                      RAW    Partition   2048 MB  Healthy

DISKPART> list partition

Partition ###  Type              Size     Offset
-------------  ----------------  -------  -------
Partition 1    Primary            463 GB  1024 KB
* Partition 2    Primary           2048 MB   463 GB

DISKPART> list disk

Disk ###  Status         Size     Free     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
Disk 0    Online          465 GB      0 B
* Disk 1    Online          465 GB  1024 KB
  1. La razón por la que estoy usando wmic es porque necesito crear secuencias de comandos para muchas operaciones de disco. ¿Alguna vez ha intentado crear secuencias de comandos para obtener información de diskpart?

No, pero es scriptable.

En sus datos de muestra, puede enumerar el disco,volúmenes y particiones. Al recorrer cada objeto y seleccionarlo, puede crear un mapa de qué volumen está en qué partición y qué unidad contiene esa partición. Es posible que Diskpart no proporcione el 100% de los datos que necesita el 100% del tiempo con el 100% de la precisión que desea, pero es la herramienta de línea de comandos más cercana que encontrará para alcanzar su objetivo.


0 para la respuesta № 2
wmic logicaldisk get name, volumename

para obtener más información, use wmic logicaldisk get /?