たとえば、Windows PEから起動した場合、またはpsexecまたは別のコマンドラインベースの方法を使用してシステムにリモート処理した場合などです。そんなこと知ってる diskpart.exe
を使用すると、アクティブパーティションを設定できますが、現在アクティブなパーティションを確認する方法が見つかりません。
うまくいけば、簡単な答えがあり、私はそれを逃しています...
これを行うには、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
ループをメンバーDiskIndex
とIndex
(それぞれディスクインデックスとパーティションインデックス)で使用することをお勧めします。
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
select disk 0
detail disk
最後の列(システム)を調べますか?