Я вижу, как многие люди обсуждают , как использовать StorageDSC для создания Dev Drive на основе разделов в PowerShell (также пример конфигурации yaml и PR для StorageDSC). Могу ли я также создать Dev Drive на основе VHD в PowerShell?
Что-то вроде:
$vhd = Make-AVHD
Make-TheVHDIntoADevDrive $vhd
# set filters, etc...
Я знаю, что Format-Volumeимеет параметр -DevDrive, поэтому думаю, это должно сработать.





Вы действительно можете создавать Dev Drives на базе VHD в PowerShell:
function New-VHDDevDrive
{
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[string]$Path, # e.g. 'C:\test4.vhdx'
[string]$Size = 5GB
)
$vhd = New-VHD -Path $Path -Dynamic -SizeBytes $Size
$disk = $vhd | Mount-VHD -Passthru
$init = $disk | Initialize-Disk -Passthru
# New-Partition pops open explorer to the new drive before Format-Volume
# completes, so it often tells you to format the drive.
#
# > You need to format the disk in drive R: before you can use it.
#
# Just ignore the pop-up until the formatting is complete, then click Cancel.
$part = $init | New-Partition -AssignDriveLetter -UseMaximumSize
$vol = $part | Format-Volume -DevDrive -FileSystem ReFS -Confirm:$false -Force
$vol
# You can enable filters on this volume, too, like GVFS & Security:
# fsutil devdrv setFiltersAllowed /F /volume "$($vol.DriveLetter):" PrjFlt,MsSecFlt,DfmFlt
}
Использование:
New-VHDDevDrive -Path 'c:\test5.vhdx' -size 20GB
Должно быть несложно изменить этот скрипт для поддержки определенных -DriveLetter в New-Partition и т. д.
Чтобы удалить эти VHD (поскольку при тестировании вы создали 20):
Dismount-VHD -Path 'c:\test5.vhdx'
Remove-Item -Path 'c:\test5.vhdx'
Кроме того, кажется, что каждый из них занимает около 450 МБ, если вам интересно.