2016-11-03 11 views
0

私のオンラインWindowsからGetWindowsDirectoryを使用すると、C:\ WindowsのようにOSがインストールされているディレクトリを取得できます。Windows PEからオフラインのWindowsドライブ文字を取得するにはどうすればよいですか?

Windows PEから同じ機能を使用すると、X:\Windows(スクリーンショットのようなもの)のようになりますが、魔法使いはWindows PE自体からWindowsディレクトリを意味します。オフラインのWindowsディレクトリを取得するにはどうすればよいですか? D:\Windowsのように、またはそれにはどのような文字が含まれています。

enter image description here

あなたが提案することができ、任意の機能?

+0

「オフラインWindowsディレクトリ」とは何を定義できますか? –

+0

という意味です。 Windows PE環境では、代わりに小さなOSを使用しており、Windowsは別のドライブを取得します。したがって、WindowsとProgram FilesのようなすべてのOSフォルダを持つドライブは通常2つあります。私はオフラインシステムからドライブまたはディレクトリを取得する必要があります、実行中のものではありません。 –

+0

WinPEを使用してWIMイメージを画面のないx86ターゲットに展開し、WindowsディレクトリがX:\ Windows仮想フォルダを指しています...これはアクティブなOSです。 –

答えて

0

mountvol.exeというユーティリティ(WinPEまたはWindowsで利用可能)があり、マウントされているすべてのボリュームがリストされます。あなたはwinpeドライブは常にx:で、「オフライン」インストールは多くの場合(常にではありません)d:にマウントされています。

ボリュームを列挙するためのWindows APIもあります(FindFirstVolumeおよびFindNextVolume)。これにはマウントされていないボリュームが含まれ、アンマウントされたボリュームにドライブ文字を割り当てることができます。

ボリュームのリストを取得したら、それぞれのボリュームを調べて、対象となる「対象」ボリュームかどうかを判断する必要があります。ボリュームラベル - \ Windowsの有無、 bcdデータベースを使用して、ブート可能なボリュームを判別します。それは自明ではありませんが、可能です。 bcdデータベースは、実際にはWindowsレジストリハイブで、読み込み専用にマウントすることができます...それを情報から盗む仕事です。

オフラインボリュームがマウントされていなくても(珍しい)、Windows APIを使用してボリュームの内容を調べることはできますが、プレフィックスとボリュームID(ドライブ文字ではなく)を使用する必要があります。ボリュームをマウントするほうが簡単です。

本当にオフラインボリュームが見つからない場合は、物理ディスクが存在するかどうかを確認してください。そうでない場合は、winPEイメージに特定のハードドライブのドライバを追加する必要があります。通常、ドライブを使用している実行中のOSからこれらを取得できます。ドライバーストアからドライバーをコピーするには、DISMに/addDriverサブコマンドがあります。人々は、多くの場合、.wimを構築しているコンピュータ上の既存のドライバストアを指し示すだけです。

関連する問題