New-MBRDisk.ps1
Function New-MBRDisk { <# .SYNOPSIS Initializes a Disk as MBR .DESCRIPTION New-GPTDisk Initizalizes a VHD as MBR-Disk and creates all necessary Partitions for MBR-Boot .EXAMPLE New-MBRDisk -VHD C:\disks\system.vhdx Partitions C:\disks\system.vhdx for use as a MBR Datadrive .NOTES Version: 1.0 Author: Holger Voges Date: 2018-08-17 www.netz-weise-it.training/weisheiten/ #> param ( # [parameter(mandatory=$true)] # [string]$vhdPath, [Validateset('Dynamic','Fixed')] $disktype = 'Dynamic', [parameter(Mandatory=$true)] [Object] $vhd ) $partitionStyle = 'MBR' Initialize-Disk -PartitionStyle $partitionStyle -Number $vhd.Number $Partitions = @{} $Partitions['Boot'] = $vhd | New-Partition -Size 300MB -MbrType Huge -IsActive | Format-Volume -FileSystem NTFS -NewFileSystemLabel 'System' Set-Partition -DiskNumber $vhd.Number -PartitionNumber ( $partitions.Boot | Get-Partition ).PartitionNumber -NewDriveLetter ( Get-Freedrive ) $partitions.Boot = Get-Volume -UniqueId $Partitions.Boot.UniqueId # $Partitions.Boot = $Partitions.Boot | Set-DriveLetter $Partitions['Data'] = $vhd | New-Partition -UseMaximumSize -MbrType Huge | Format-Volume -FileSystem NTFS -NewFileSystemLabel 'Data' Set-Partition -DiskNumber $vhd.Number -PartitionNumber ( $partitions.Data | Get-Partition ).PartitionNumber -NewDriveLetter ( Get-Freedrive ) $Partitions.Data = Get-Volume -UniqueId $Partitions.Data.UniqueId $Partitions } |