web-dev-qa-db-ja.com

スペシャライズまたはOOBEパス中にVHDファイルでパーティションを非表示にする

VHDをベースにしたシステムを作成しています。パーティションは次のようになります。

+ ---------- + ----------- +
| VHDファイル|ユーザーデータ|
+ ---------- + ----------- +
|
+ ------------ +
|システム|
+ ------------ +

システムボリュームには、デフォルトのドライブ文字Cがあります。Windows7は、「VHDファイル」ボリュームに文字Dを自動的に割り当て、「ユーザーデータ」にEを割り当てます。「VHDファイル」ボリュームには、bootmgrとページファイルも含まれます。

私の目的は、「VHDファイル」ボリュームを非表示にして、ページファイルがそのボリュームに配置されず、ユーザーがその中のvhdファイルとブートディレクトリを表示できないようにすることです。

Windows 7では、ページファイルが含まれているため、OOBEの後の文字を削除できません。 (したがって、ページファイルを再配置し、再起動して、文字を削除する必要があります)。

だから私の推測では、OOBEまたはスペシャライズパスの間にそれを行います。

結果は「SYSTEMRESERVED」100MBパーティションのようになります。ドライブ文字もページファイルもありませんが、キーファイルが含まれています。

どんなアイデアでも大歓迎です!

4
lesca

最後に、私はそれを作りました。

最初のパスは特殊なので、REGコマンドでレジストリ内のドライブ文字を変更します。ただし、レジストリでドライブ文字を削除するのはコーディングが難しく、DISKPARTを使用するには再起動が必要なので、oobeモードで実行させます。

これが私がコーディングするものです:(何か改善があれば私に知らせてください:)

 @ echo OFF 
 
 setlocal ENABLEEXTENSIONS 
 
 if "%1" == "specialize" goto specialize 
 if "% 1 "==" oobe "(goto oobe)else(goto end)
 
 
:specialize 
 set KEY_NAME =" HKLM\SYSTEM\MountedDevices "
 
 REM削除ドライブD:
 set VALUE_NAME =\DosDevices\D:
 reg delete%KEY_NAME%/ v%VALUE_NAME%/ f 
 
 REMドライブEの値を取得:
 setVALUE_NAME =\DosDevices\E:
 FOR/F "usebackq skip = 2 tokens = 1-3" %% A IN( `REG QUERY %KEY_NAME%/ v%VALUE_NAME%2 ^> nul`)DO(
 set ValueName = %% A 
 set ValueType = %% B 
 set ValueValue = %% C 
)
定義されていない場合ValueName goto end 
 
 REMドライブEの値を使用してドライブDを作成します
 set VALUE_NAME =\DosDevices\D:
 reg add%KEY_NAME%/ v%VALUE_NAME%/ t%ValueType%/ d%ValueValue%/ f 
 REM Delete Drive E:
 set VALUE_NAME =\DosDevices\E:
 reg delete%KEY_NAME%/ v%VALUE_NAME%/ f 
 REM Set Page File 
 set KEY_NAME = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" 
 set VALUE_NAME = PagingFiles 
 set ValueType = REG_MULTI_SZ 
 set ValueValue = "D:\ pagefile。 sys 0 0 "
 reg add%KEY_NAME%/ v%VALUE_NAME%/ t%ValueType%/ d%ValueValue%/ f 
 REM END 
 goto end 
 
:oobe 
 REMドライブの削除E:
(echo select volume e&echo remove letter = e)| diskpart 
 
:end 
 
1
lesca

MDT 2012を使用します。これは、タスクシーケンスで実行できるはずです。

これを必要以上に複雑にしているようです。 MDTは、オペレーティングシステムの展開(OSD)をはるかに簡単にするためにMicrosoftがVistaおよびWindows7でリリースしたシステムです。

enter image description here TESTタスクシーケンス

enter image description here VHDへの展開はオプションのタスクシーケンスステップです

enter image description here イメージは任意のドライブにプッシュできることに注意してください。

0
MDT Guy