mountvol.exeマウントされたすべてのボリュームを一覧表示するというユーティリティ (WinPE および/または Windows で使用可能) があります。winpe ドライブは常にx:であり、「オフライン」インストールは多くの場合 (常にではありません) にマウントされd:ます。
ボリュームを列挙するための Windows API もありFindFirstVolumeますFindNextVolume。これにはマウントされていないボリュームが含まれ、マウントされていないボリュームにドライブ文字を割り当てることができます。
ボリュームのリストを取得したら、各ボリュームを調べて、関心のある「ターゲット」ボリュームであるかどうかを判断する必要があります - ボリューム ラベルなど - \Windows の存在、および/または bcd データベースを調べて判断する必要があります。どのボリュームが起動可能か。些細なことではありませんが、可能です。bcd データベースは、実際には、読み取り専用でマウントできる Windows レジストリ ハイブです...そして、そこから情報を引き出すのが仕事です。
オフライン ボリュームがマウントされていない場合でも (これは珍しいことです)、Windows API を使用してボリュームの内容を調べることができますが、\\?\(ドライブ文字ではなく) プレフィックスとボリューム ID を使用する必要があります。ボリュームをマウントする方が簡単です。
本当にオフライン ボリュームが見つからない場合は、物理ディスクが存在するかどうかを確認してください。そうでない場合は、特定のハード ドライブのドライバーを winPE イメージに追加する必要がある場合があります。通常、ドライブを使用する実行中の OS からこれらを取得できます。/addDriverDISM には、ドライバー ストアからドライバーをコピーするためのサブコマンドがあります。多くの場合、.NET をビルドしているコンピューター上の既存のドライバー ストアを指すだけです.wim。