Ocultar partição com arquivo VHD durante a passagem de especialização ou OOBE

4

Estou criando um sistema baseado em VHD. A partição é assim:

+ ---------- + ----------- +
| Arquivo VHD | Dados do usuário

+ ---------- + ----------- +



+ ------------ +
| SISTEMA

+ ------------ +

O volume do sistema tem uma letra de unidade padrão C. O Windows 7 atribui automaticamente a letra D para o volume "VHD file" e E para "User Data" O volume "arquivo VHD" também contém bootmgr e arquivo de paginação.

Meu objetivo é ocultar o volume "arquivo VHD" para que nenhum arquivo de página seja localizado nele e o usuário não possa ver o arquivo vhd e o diretório de inicialização nele.

O Windows 7 não permite remover letras após o OOBE porque o arquivo de paginação está nele. (Assim, temos que realocar o arquivo de paginação, reiniciar e remover a carta).

Então, meu palpite é fazê-lo durante o OOBE ou passe de especialização.

O resultado deve ser como uma partição de 100MB "SYSTEM RESERVED" - sem letra de unidade, sem arquivo de paginação, mas com arquivos de chave.

Qualquer ideia é bem vinda!

    
por lesca 30.09.2013 / 05:28

2 respostas

1

Finalmente, eu fiz isso.

Como o primeiro passo é especializado, eu deixo alterar as letras de unidade no registro pelo comando REG . Mas remover uma letra de unidade pelo registro é difícil de codificar, e uso de DISKPART requer uma reinicialização, então eu deixo acontecer no modo oobe.

Aqui está o que eu código: (Se você tiver alguma melhoria, por favor me avise:)

@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 Delete Drive D:
set VALUE_NAME=\DosDevices\D:
reg delete %KEY_NAME% /v %VALUE_NAME% /f

REM Get vaules of Drive E:
set VALUE_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
)
if not defined ValueName goto end

REM Create Drive D with value of Drive E
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 Delete Drive E:
(echo select volume e & echo remove letter=e) | diskpart

:end

    
por 01.10.2013 / 16:19
0

Use o MDT 2012, isso deve ser feito com uma sequência de tarefas.

Parece que você pode tornar isso mais complicado do que precisa ser. O MDT é o sistema que a Microsoft lançou com o Vista e o Windows 7 para tornar a Instalação do Sistema Operacional (OSD) muito mais simples.

Seqüênciadetarefasdeteste

Implantar no VHD é uma etapa opcional da sequência de tarefas

Observe que a imagem pode ser enviada para qualquer unidade desejada.

    
por 30.09.2013 / 06:14

Tags