共用方式為


Convert-SCVirtualDiskDrive

將虛擬硬碟從動態轉換為固定、從固定轉換為動態、從 VHD 轉換為 VHDX,或將傳遞磁片轉換為虛擬硬碟。

Syntax

Convert-SCVirtualDiskDrive
       [-Fixed]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-VHDFormatType <VHDFormatType>]
       [-JobGroup <Guid>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]
Convert-SCVirtualDiskDrive
       [-Dynamic]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-VHDFormatType <VHDFormatType>]
       [-JobGroup <Guid>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]
Convert-SCVirtualDiskDrive
       [-VHDX]
       [-DeleteSource]
       [-ValidateOnCompletion]
       [-VirtualDiskDrive] <VirtualDiskDrive>
       [-Path <String>]
       [-FileName <String>]
       [-JobGroup <Guid>]
       [-BlockSizeBytes <Int32>]
       [-RunAsynchronously]
       [-PROTipID <Guid>]
       [-JobVariable <String>]
       [<CommonParameters>]

Description

Convert-SCVirtualDiskDrive Cmdlet 會將連結至虛擬磁片磁碟機物件的現有虛擬硬碟,從動態轉換為固定或從固定到動態、從 VHD 轉換為 VHDX,或將連結至虛擬磁片磁碟機物件的傳遞磁片轉換為虛擬硬碟。

若要將虛擬硬碟從一種格式轉換成另一種格式,設定虛擬硬碟的虛擬機器必須處於停止狀態。

您只能在部署在 Hyper-V 主機上的虛擬機器上,轉換 Windows 型 .vhd 檔案的磁片格式。

在部署在 ESX 主機上的虛擬機器上,以 VMware 為基礎的 .vmdk 檔案) 會以格式固定。 您無法將它轉換成動態格式。

Citrix XenServer 型 .vhd 檔案部署在 Citrix XenServer 主機上的虛擬機器上,格式為固定。 您無法將它轉換成動態格式。

您只能在部署在 Hyper-V 主機上的虛擬機器上,將 Windows 虛擬硬碟檔案的磁片格式從 VHD 轉換為 VHDX。 若要將 VHD 轉換為 VHDX,設定虛擬硬碟的虛擬機器必須處於停止狀態。

傳遞磁碟為主機上的實體硬碟,虛擬機器可使用傳遞磁碟而不使用虛擬硬碟。 此 Cmdlet 會將連結至虛擬機器上虛擬磁片磁碟機的傳遞磁片轉換為虛擬硬碟。 虛擬機器必須位於 Hyper-V 主機上,而且必須處於停止狀態。

範例

範例 1:將虛擬機器上的傳遞磁片轉換為虛擬硬碟

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM $VM
PS C:\> Convert-VirtualDiskDrive $VirtDiskDrive -Fixed -Path "C:\VirtualDiskDrives"

第一個命令會使用 Get-SCVirtualMachine Cmdlet 取得名為 VM01 的虛擬機器物件。 命令會將該物件儲存在$VM變數中。 此範例假設 VM01 目前設定為使用傳遞磁片,且虛擬機器只有一個傳遞磁片。

第二個命令會取得 VM01 上的虛擬磁片磁碟機物件,然後將該物件儲存在$VirtDiskDrive變數中。

最後一個命令會將儲存在 $VirtDiskDrive 中的傳遞磁片磁碟機轉換為固定虛擬硬碟。 此命令會將虛擬硬碟移至目的地資料夾 C:\VirtualDiskDrives。

範例 2:將虛擬機器上虛擬磁片磁碟機上數個傳遞磁片的其中一個轉換為虛擬硬碟

PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM $VM
PS C:\> $VirtDiskDrive[2] | Convert-SCVirtualDiskDrive -Dynamic -Path "D:\"

第一個命令會取得名為 VM02 的虛擬機器物件,然後將該物件儲存在$VM變數中。 此範例假設 VM02 有三個虛擬磁片磁碟機物件,而第一個虛擬磁片磁碟機系結至虛擬硬碟,而第二個和第三個虛擬磁片磁碟機則系結至傳遞磁片。

第二個命令會取得 VM02 上的所有虛擬磁片磁碟機物件,然後將這些物件儲存在$VirtDiskDrive物件陣列中。

最後一個命令會將第三個傳遞磁片,也就是$VirtDiskDrive陣列的第三個成員轉換為動態擴充的虛擬硬碟。 命令會將這個新的虛擬硬碟傳送至目的地資料夾 D:。

範例 3:將連結至虛擬機器上虛擬磁片磁碟機物件的動態 VHD 轉換為固定格式

PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM03")
PS C:\> Convert-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -Fixed

第一個命令會取得連結至虛擬機器 VM03 的虛擬磁片磁碟機物件,然後將該虛擬磁片磁碟機物件儲存在$VirtDiskDrive變數中。 此範例假設虛擬機器只有一個虛擬磁片磁碟機物件,而且連結至虛擬磁片磁碟機的虛擬硬碟是動態虛擬硬碟。

第二個命令會將儲存在 $VirtDiskDrive 中的虛擬硬碟轉換成固定磁片。

範例 4:將虛擬機器上的動態 VHD 轉換為固定 VHDX

PS C:\> $VirtDiskDrive = Get-SCVirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM03")
PS C:\> Convert-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -VHDX

第一個命令會取得連結至虛擬機器 VM03 的虛擬磁片磁碟機物件,並將該物件儲存在$VirtDiskDrive變數中。 此範例假設虛擬機器只有一個虛擬磁片磁碟機物件,而且連結至虛擬磁片磁碟機的虛擬硬碟是動態虛擬硬碟。 此範例也假設虛擬機器處於停止狀態。

第二個命令會將儲存在 $VirtDiskDrive 中的虛擬硬碟轉換成 VHDX 磁片。

範例 5:將差異 VHD 轉換為差異 VHDX

PS C:\> $VirtDiskDrive = Get-VirtualDiskDrive -VM (Get-SCVirtualMachine -Name "VM04")
PS C:\> Convert-VirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive -VHDX -BlockSizeBytes 1MB -DeleteSource -ValidateOnCompletion

第一個命令會取得連結至虛擬機器 VM04 的虛擬磁片磁碟機物件,然後將該物件儲存在$VirtDiskDrive變數中。 此範例假設虛擬機器只有一個虛擬磁片磁碟機物件,而且連結至虛擬磁片磁碟機的虛擬硬碟是動態虛擬硬碟。 此範例也假設虛擬機器處於停止狀態。

第二個命令會將儲存在 $VirtDiskDrive 中的差異虛擬硬碟轉換為差異 VHDX 磁片。 此命令會刪除來源磁片。

參數

-BlockSizeBytes

指定虛擬硬碟的區塊大小,以位元組為單位。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeleteSource

表示此 Cmdlet 會在成功轉換後刪除來源虛擬硬碟。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Dynamic

指定可以動態展開虛擬硬碟。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-FileName

指定將虛擬硬碟檔案新增至虛擬機器之後,要在重新命名虛擬硬碟檔案時使用的檔案名稱。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Fixed

表示虛擬硬碟的大小固定。 指定固定虛擬硬碟的大小。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

指定一系列命令的識別碼,這些命令會在包含相同作業群組識別碼的執行的最後一個命令之前,以集合的形式執行。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

指定追蹤和儲存作業進度的變數。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

針對虛擬磁片磁碟機物件或 SCSI 匯流排上的虛擬磁片磁碟機物件,指定 LUN (LUN) 的邏輯單元編號。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定觸發此動作 (PRO 提示) 效能和資源優化提示的識別碼。 此參數可讓您稽核 PRO 秘訣。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

表示作業會以非同步方式執行,讓控制項立即返回命令殼層。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ValidateOnCompletion

表示此 Cmdlet 會在成功轉換後驗證已轉換的虛擬硬碟。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VHDFormatType

指定硬碟格式類型。 有效值為:

  • VHD
  • VMDK
  • VHDX
Type:VHDFormatType
Accepted values:VHD, VMDK, VHDX, VHDS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VHDX

表示虛擬硬碟類型為 VHDX。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VirtualDiskDrive

指定虛擬磁碟機物件。 您可以將虛擬硬碟或傳遞磁片連結至虛擬磁片磁碟機物件。

Type:VirtualDiskDrive
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

輸出

VirtualDiskDrive

此 Cmdlet 會傳回 VirtualDiskDrive 物件。