web-dev-qa-db-ja.com

コマンドラインから特定のディスク上のアクティブなパーティションを見つける

たとえば、Windows PEから起動した場合、またはpsexecまたは別のコマンドラインベースの方法を使用してシステムにリモート処理した場合などです。そんなこと知ってる diskpart.exeを使用すると、アクティブパーティションを設定できますが、現在アクティブなパーティションを確認する方法が見つかりません。

うまくいけば、簡単な答えがあり、私はそれを逃しています...

11
Harry Johnston

これを行う方法を知っている唯一の方法は、@ Maximusが置くものに近いですが、次のことを行います。

diskpart.exe
select volume 1
detail partition

出力は

Active: Yes/No

例えば: - enter image description here

どのボリュームがアクティブでどれがアクティブでないかを見つけるには、各ボリュームを調べる必要があります。 Diskpartのlist volumeコマンドを使用してすべてのボリュームを表示し、最初に確認するボリュームを見つけます。

15
Winter Faulk

これを行うには、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のドキュメント を参照してください。

BootPartition

データ型:ブール型アクセス型:読み取り専用

パーティションはアクティブパーティションです。オペレーティングシステムは、ハードディスクから起動するときにアクティブパーティションを使用します。


whereの使用方法の詳細については、 WQL構文 を参照してください。 getの詳細については、wmic partition get /?をご覧ください。


wmicを使用すると、/node:<servername or ip>スイッチを使用したリモート管理の利点が追加されます(詳細については、wmic /node /?を参照してください。 Microsoft のとおり:

WMICを有効にしたコンピューターからWMICを使用して、WMIを備えたコンピューターをリモートで管理できます。 WMICがWMICを管理するために、リモートで管理されているコンピューターでWMICを使用できる必要はありません。


プログラムで何らかの方法(バッチスクリプトなど)を使用してディスクとパーティションインデックスからドライブ文字を取得できる場合は、forループをメンバーDiskIndexIndex(それぞれディスクインデックスとパーティションインデックス)で使用することをお勧めします。

9
Bob

Cygwin のファンとして、これを行うには til-linux パッケージの fdisk ユーティリティを使用することをお勧めします[〜#〜] gpt [〜#〜]を使用していない場合。

システムにリモート処理する場合は、そのシステムにCygwinをインストールする必要があります。

Windows PEから起動する場合は、パッケージを手動でダウンロードし、.tar.bz2ファイルを処理できる適切な解凍プログラムを使用してパッケージを抽出できます。

fdiskを実行するためにダウンロードする必要があるパッケージ

例(1 HDD、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
2
LiuYan 刘研
select disk 0
detail disk

最後の列(システム)を調べますか?

1
Maximus