Eu usei um script que encontrei na Internet há muito tempo.
Esse script (MountVHD.cmd) gera um script diskpart e, em seguida, chama diskpart com o script gerado usando o caminho e a letra da unidade que você especifica.
Este script aceita dois parâmetros:
MountVHD.cmd \path\to\vhdfile.vhd X
onde X: é a letra da unidade a ser atribuída.
Você pode então criar outro script de comando que chama isso com a linha de comando acima e colocar esse script de chamada na pasta de inicialização.
@echo off
setlocal enabledelayedexpansion
if {%1}=={} (
echo Usage: %~nx0 [vhd] [letter]
exit /b 1
)
set vhdPath=%~dpnx1
set driveLetter=%2
if {!driveLetter!}=={} (
echo Mounting !vhdPath!
) else (
echo Mounting !vhdPath! to !driveLetter!:
)
REM
REM create diskpart script
REM
set diskPartScript=%~nx0.diskpart
echo sel vdisk file="!vhdPath!">!diskPartScript!
echo attach vdisk>>!diskPartScript!
REM assign the drive letter if requested
if not {!driveLetter!}=={} (
echo select partition 1 >>!diskPartScript!
echo assign letter=!driveLetter!>>!diskPartScript!
)
REM Show script
echo.
echo Running diskpart script:
type !diskPartScript!
REM
REM diskpart
REM
diskpart /s !diskPartScript!
del /q !diskPartScript!
echo Done!
endlocal