Descobrir qual partição em um determinado disco está ativa na linha de comando

10

Por exemplo, se eu for inicializado do Windows PE ou remotamente em um sistema usando psexec ou outro método baseado em linha de comando. Eu sei que diskpart.exe permite que você defina a partição ativa, mas não consigo encontrar nenhuma maneira de ver qual partição está ativa no momento.

Espero que haja uma resposta simples e eu esteja com saudades ...

    
por Harry Johnston 16.07.2012 / 22:32

4 respostas

13

A única maneira de saber como fazer isso é perto do que o @Maximus coloca, mas faça o seguinte:

diskpart.exe
select volume 1
detail partition

A saída indicará

Active: Yes/No

Por exemplo:

Você tem que passar por cada volume para descobrir quais deles são ativos e quais não são. Você pode usar o comando list volume do Diskpart para mostrar todos os volumes e encontrar aquele que deseja verificar primeiro.

    
por 15.11.2012 / 02:04
7

Você pode usar wmic para fazer isso. Você pode querer exportá-lo para um arquivo de texto ( >output.txt ) e visualizar sem quebra de linha, já que a saída tabular pode ficar muito grande.

Para listar todas as partições (veja o BootPartition membro para verificar se está marcado como active ):

wmic partition

Para listar apenas as partições ativas, filtre com where :

wmic partition where BootPartition=true

Para filtrar quais colunas são exibidas, use get :

wmic partition where BootPartition=true get DeviceID,Size

Além disso:

wmic partition get DeviceID,Size,BootPartition

Para mais informações sobre partition membros, consulte a documentação do Win32_DiskPartition .

BootPartition

Data type: boolean Access type: Read-only

Partition is the active partition. The operating system uses the active partition when booting from a hard disk.

Dê uma olhada na sintaxe WQL para mais informações sobre o uso de where . Dê uma olhada em wmic partition get /? para mais informações sobre get .

Com wmic você tem vantagens adicionais com o gerenciamento remoto usando a opção /node:<servername or ip> (consulte wmic /node /? para obter mais informações. Conforme Microsoft :

WMIC can be used from any computer with WMIC enabled to remotely manage any computer with WMI. WMIC does not have to be available on the remotely managed computer in order for WMIC to manage it.

Se você puder descobrir alguma forma de programação (por exemplo, script em lote) obtendo a letra da unidade do disco e do índice de partição, talvez queira usar um for loop com os membros DiskIndex e Index (disco e índices de partição, respectivamente).

    
por 15.11.2012 / 02:12
2

Como fãs do Cygwin , sugiro usar o fdisk do pacote util-linux para fazer isso se você não estiver usando GPT .

Se você estiver remotamente em um sistema, precisará instalar o Cygwin nesse sistema.

Se você estiver inicializando a partir do Windows PE, poderá baixar manualmente os pacotes e extraí-los usando um descompactador adequado que possa manipular os arquivos .tar.bz2.

Pacotes necessários para download para executar o fdisk

  • util-linux
  • util-linux / libblkid1
  • util-linux / libuuid1
  • cygwin
  • libiconv / libiconv2
  • gettext / libintl8
  • gcc4 / libgcc1

Exemplo (1 disco rígido, 1 unidade flash)

$ 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
    
por 15.11.2012 / 04:35
1
select disk 0
detail disk

Veja a última coluna (Sistema)?

    
por 16.07.2012 / 22:50