In Windows 11 è possibile montare un VHDX (disco virtuale) tramite il comando DISKPART.

Una volta eseguito digitare

DOS / Batch file

DISKPART> select vdisk file="<drive>:\<percorso gile vhdx>\<nome file>.vhdx"

DISKPART> attach vdisk

Script

E' possibile scriptare le azioni da eseguire in DISKPART includendole in un file .txt.

Ad esempio per montare un VHDX con SQL Server e avviare ils servizio, si può creare questo file .cmd

DOS / Batch file: sql-start.cmd

REM monta il disco VHDX (notare il parametro /s)
diskpart /s <drive>:\<percorso file txt>\sql-start.txt

REM fa partire il servizio sql
net start MSSQLSERVER
e inserire i comandi di DISKPART in un file .txtx

Text: sql-start.txt

select vdisk file="<drive>:\<percorso del file vhdx>\<nome file>.vhdx"
attach vdisk
Questo metodo di installare SQL Server su un VHDX, permette di aggirare la limitazione sulla lunghezza del cluster del disco nel caso fosse superirore a 4096 bytes.

PowerShell

La stessa cosa può essere fatta anche con il comando PowerShell Mount-DiskImage

PowerShell

Mount-DiskImage -ImagePath "D:\VHD\vhd-sql.vhdx"
oppure

PowerShell

Mount-DiskImage -ImagePath "D:\VHD\vhd-sql.vhdx" -Access ReadWrite -StorageType VHDX
In questo caso però, pur essendo montato il disco in modalità read/write, stranamente il servizio MSSQL, non parte, da errore.

Nel registro eventi l'errore è:
FCB::Open failed: Could not open file E:\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\mastlog.ldf for file number 2. OS error: 5(Accesso negato.).
Tutti i comandi vanno eseguiti con elevati privilegi.
Tags:
Batch (.BAT)8 PowerShell200 Script85 SQL Server100
Potrebbe interessarti anche: