Montare un VHDX da linea di comando
In Windows 11 è possibile montare un VHDX (disco virtuale) tramite il comando DISKPART.
Una volta eseguito digitare
Ad esempio per montare un VHDX con SQL Server e avviare ils servizio, si può creare questo file .cmd
e inserire i comandi di DISKPART in un file .txtx
oppure
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 è:
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
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-DiskImagePowerShell
Mount-DiskImage -ImagePath "D:\VHD\vhd-sql.vhdx"
PowerShell
Mount-DiskImage -ImagePath "D:\VHD\vhd-sql.vhdx" -Access ReadWrite -StorageType VHDX
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.