Ir ao conteúdo

Convertendo VMDK para VHD ou VHDX via PowerShell

Afim de complementar o post anterior Migrando máquinas virtuais do VMware para Hyper-V resolvi fazer mais este post sobre como você pode migrar facilmente seus arquivos VMDK para VHD ou VHDX.

O processo é muito simples. Você só precisa ter o Microsoft Virtual Machine Converter (MVMC) instalado e executar o procedimento abaixo:

  1. Importe o módulo com os comandos PowerShell:
    Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1'
  2. Agora execute o comando abaixo, indicando o caminho do VMDK e o local onde será o destino do novo arquivo. Você também pode indicar o tipo do VHD (DynamicHardDisk ou FixedHardDisk) e o formato (VHD ou VHDX):
    ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath C:\vm\disco_vmware.vmdk -VhdType DynamicHardDisk -VhdFormat vhdx -destination c:\vm\
  3. Abaixo um exemplo do comando sendo executado. Note que o arquivo VHDX está sendo gerado. E o arquivo -flat não é mencionado no comando, mesmo ele sendo o arquivo “grande”.
  4. Após o processo executado, a saída do PowerShell será esta abaixo:

O processo é muito simples. Você pode ver todos os cmdlets disponíveis neste documento.

Até o próximo post!

Publicado emHyper-VPowerShellWindows Server

7 Comentários

  1. Evans Evans

    Olá Estou com problema para realizar este procedimento no windows server 2008 R2 no Import-Module, ocorre o seguinte problema:

    Import-Module : O módulo ‘C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1’ não pode ser importado
    porque seu manifesto contém um ou mais membros inválidos. Os membros de manifesto válidos são (‘ModuleToProcess’, ‘Nest
    edModules’, ‘GUID’, ‘Author’, ‘CompanyName’, ‘Copyright’, ‘ModuleVersion’, ‘Description’, ‘PowerShellVersion’, ‘PowerSh
    ellHostName’, ‘PowerShellHostVersion’, ‘CLRVersion’, ‘DotNetFrameworkVersion’, ‘ProcessorArchitecture’, ‘RequiredModule
    s’, ‘TypesToProcess’, ‘FormatsToProcess’, ‘ScriptsToProcess’, ‘PrivateData’, ‘RequiredAssemblies’, ‘ModuleList’, ‘FileL
    ist’, ‘FunctionsToExport’, ‘VariablesToExport’, ‘AliasesToExport’, ‘CmdletsToExport’). Remova os membros inválidos (‘Ro
    otModule’) e tente importar o módulo novamente.
    Em linha:1 caractere:14
    + Import-Module <<<< .\MvmcCmdlet.psd1
    + CategoryInfo : InvalidData: (C:\Program File…MvmcCmdlet.psd1:String) [Import-Module], InvalidOperatio
    nException
    + FullyQualifiedErrorId : Modules_InvalidManifestMember,Microsoft.PowerShell.Commands.ImportModuleCommand

    No windows 8 eu consigo realizar, mas no win 2008 server não. Alguém que possa me ajudar?

  2. Marcel Mascarenhas Andrade Marcel Mascarenhas Andrade

    Só queria agradecer por esse excelente post, onde trabalho nosso storage e Vcenter estão com problemas e resolvemos migrar para Hyper-V server. Com essa dica foi possível migrar serviços exponenciais em tempo hábil.

  3. Luciano Tres Luciano Tres

    Excelente post, 2018 mas ajuda ainda hoje.
    Só pra acrescentar, se tiver este erro “The entry 4 is not a supported disk database entry for the descriptor.” é preciso tirar essa opção dentro do arquivo vmdk. Forma “simples” que achei foi usando o sed:
    $ sed ‘0,/ddb.toolsInstallType/s//#db.toolsInstallType/’ ‘disco.vmdk’ > novo-disco.vmdk

    E dependendo a maquina que converta, talvez tenha que estender a virtualização. Pra isso o PS a seguir resolve:
    Set-VMProcessor -VMName “EVE-novo” -ExposeVirtualizationExtensions $True

    Vlws

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Nicholas Marshall Micaloski © 2023