Para criar uma VM do Windows no Google Cloud, tem de usar uma imagem de VM com o Windows ou o Windows Server pré-instalado. Google Cloud disponibiliza imagens públicas para versões usadas com frequência do Windows Server, mas estas imagens só são adequadas para licenciamento a pedido. Para trazer a sua própria licença do Windows (BYOL), tem de importar uma imagem existente ou criar uma imagem personalizada.
Este guia descreve como pode criar uma imagem personalizada usando as mesmas ferramentas e processos que a Google Google Cloud usa para criar as imagens públicas.
Para concluir este guia, precisa de:
- Um ficheiro ISO que contém o suporte de instalação do Windows ou do Windows Server.
- Opcionalmente, um ou mais pacotes de atualização do Windows (no formato
.msu
) a aplicar à imagem.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
Compreenda o processo de criação
Para instalar o Windows de raiz, uma abordagem comum é arrancar um computador a partir de um DVD ou de um ficheiro ISO que contenha os ficheiros de instalação do Windows. Ao contrário de alguns hipervisores no local, o Compute Engine não lhe permite arrancar a partir de um ficheiro ISO.
Por conseguinte, para instalar o Windows de raiz, tem de seguir uma abordagem diferente que envolve os seguintes passos:
- A criar um novo disco.
- Extrair a imagem do Windows (
install.wim
do suporte de instalação) para o disco. - Adicionar os controladores necessários, configurar a instalação do Windows para que seja executada sem supervisão e tornar o disco inicializável.
- Arranque a partir do novo disco para executar a configuração do Windows.
- Instalar software adicional, incluindo o agente do SO convidado.
- A criar uma imagem a partir do disco.
Em vez de executar estes passos manualmente, este guia descreve como pode usar o Cloud Build, a
daisy
ferramenta e os fluxos de trabalho de referência que estão disponíveis no GitHub para automatizar o processo.daisy
é uma ferramenta de linha de comandos de código aberto que lhe permite executar fluxos de trabalho. Os fluxos de trabalho são criados como ficheiros JSON e contêm uma sequência de passos. Cada passo descreve uma operação do Compute Engine, por exemplo, criar um disco ou encerrar uma instância da VM. Por conseguinte, os fluxos de trabalho Daisy são adequados para automatizar os passos necessários para criar uma imagem do Windows de raiz.Os fluxos de trabalho do Daisy para criar imagens do Windows personalizadas criam duas instâncias de VM temporárias. A primeira instância de VM (com o prefixo
bootstrap
) executa os passos necessários para criar um disco de arranque. A segunda instância de VM (com o prefixoinstall
) executa a configuração do Windows e realiza todos os passos restantes.Prepare o projeto para criar imagens
Para impedir que a ferramenta Daisy interfira com as suas instâncias de VM ou infraestrutura existentes, crie um projeto dedicado para criar imagens:
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles. - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles. - No computador local, abra uma janela do Windows PowerShell.
Inicialize uma variável:
$PROJECT_ID = "
PROJECT_ID
"onde
PROJECT_ID
é o ID do projeto do Google Cloud projeto que criou na secção anterior.Inicialize outra variável para que contenha o número do projeto:
$PROJECT_NUMBER = gcloud projects describe $PROJECT_ID --format=value`(projectNumber`)
- No computador local, abra uma janela de terminal.
Inicialize uma variável:
PROJECT_ID=
PROJECT_ID
onde
PROJECT_ID
é o ID do projeto do Google Cloud projeto que criou na secção anterior.Inicialize outra variável para que contenha o número do projeto:
PROJECT_NUMBER=`gcloud projects describe $PROJECT_ID --format=value\(projectNumber\)`
No computador local, transfira os pacotes de instalação necessários:
Crie um novo contentor do Cloud Storage para armazenar os ficheiros de instalação:
gcloud storage buckets create gs://$PROJECT_ID-media --project=$PROJECT_ID
Conceda a função Storage Object Viewer ao Cloud Build para que possa ler os ficheiros de instalação:
gcloud storage buckets add-iam-policy-binding gs://$PROJECT_ID-media --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com --role=roles/storage.objectViewer
Carregue o pacote de instalação do PowerShell:
gcloud storage cp
POWERSHELL_PACKAGE
gs://$PROJECT_ID-media/PowerShell.msionde
POWERSHELL_PACKAGE
é o caminho para o pacote de instalação do PowerShell.Carregue o pacote de instalação do .NET Framework:
gcloud storage cp
DOTNET_PACKAGE
gs://$PROJECT_ID-media/dotnet-sdk.exeonde
DOTNET_PACKAGE
é o caminho para o pacote de instalação do NET Framework.Carregue o pacote de instalação da CLI gcloud:
gcloud storage cp
CLOUDSDK_PACKAGE
gs://$PROJECT_ID-media/GoogleCloudSDKInstaller.exeonde
CLOUDSDK_PACKAGE
é o caminho para o pacote de instalação da CLI gcloud.Carregue o ficheiro ISO que contém o suporte de instalação do Windows:
gcloud storage cp
ISO
gs://$PROJECT_ID-media/em que
ISO
é o nome do ficheiro ISO.Opcionalmente, carregue pacotes de atualização adicionais:
gcloud storage cp
UPDATE_DIR
/*.msu gs://$PROJECT_ID-media/updates/em que
UPDATE_DIR
é o diretório que contém os pacotes de atualização.No seu computador local, clone o repositório Git que contém os
daisy
fluxos de trabalho para criar imagens do Windows:git clone https://github.com/GoogleCloudPlatform/compute-image-tools.git
Mudar para o diretório
windows
:cd compute-image-tools/daisy_workflows/image_build/windows/
No diretório
windows
, encontra uma seleção de ficheiros com o sufixo.wf.json
. Estes ficheiros contêm definições de fluxo de trabalho Daisy para versões do Windows usadas com frequência:Versão do Windows Ficheiro de fluxo de trabalho Windows Server Core 2022 (64 bits) windows-server-2022-dc-core-uefi-byol.wf.json
Windows Server 2019 (64 bits) windows-server-2019-dc-uefi-byol.wf.json
Windows Server Core 2019 (64 bits) windows-server-2019-dc-core-uefi-byol.wf.json
Windows Server 2016 (64 bits) windows-server-2016-dc-uefi-byol.wf.json
Windows Server Core 2016 (64 bits) windows-server-2016-dc-core-uefi-byol.wf.json
Windows 11 21H2 (64 bits) windows-11-21h2-ent-x64-uefi.wf.json
Windows 11 22H2 (64 bits) windows-11-22h2-ent-x64-uefi.wf.json
Windows 11 23H2 (64 bits) windows-11-23h2-ent-x64-uefi.wf.json
Windows 10 21H2 (64 bits) windows-10-21h2-ent-x64-uefi.wf.json
Windows 10 22H2 (64 bits) windows-10-22h2-ent-x64-uefi.wf.json
Abra o ficheiro de fluxo de trabalho que corresponde mais de perto à versão do Windows que quer instalar. Se necessário, altere as definições da edição do Windows (
edition
) e da chave de licença (product_key
) nos ficheiros de fluxo de trabalho para que correspondam ao seu suporte de instalação.Se não souber qual é o nome da edição correto, abra uma linha de comandos do PowerShell com privilégios elevados e execute os seguintes comandos para listar todas as edições suportadas pelo seu suporte de instalação:
$IsoFile = "
ISO
" $Mount = Mount-DiskImage -ImagePath (Resolve-Path $IsoFile) $DriveLetter = ($Mount | Get-Volume).DriveLetter Get-WindowsImage -ImagePath "$($DriveLetter):\sources\install.wim" | select ImageName Dismount-DiskImage -InputObject $Mount | Out-NullSubstitua
ISO
pelo caminho local para a imagem ISO.No diretório
windows
, crie um novo ficheiro denominadocloudbuild.yaml
e cole o seguinte código:timeout: 14400s # 4 hour timeout for entire build steps: - name: 'gcr.io/compute-image-tools/daisy' timeout: 14400s # 4 hour timeout for build step waitFor: ['-'] args: - -project=$PROJECT_ID - -zone=us-central1-a - -var:updates=gs://$PROJECT_ID-media/updates/ - -var:pwsh=gs://$PROJECT_ID-media/PowerShell.msi - -var:dotnet48=gs://$PROJECT_ID-media/dotnet-sdk.exe - -var:cloudsdk=gs://$PROJECT_ID-media/GoogleCloudSDKInstaller.exe - -var:media=gs://$PROJECT_ID-media/
ISO
-WORKFLOW
Substituição:
ISO
: nome do ficheiro ISO no Cloud Storage.WORKFLOW
: nome do ficheiro de fluxo de trabalho que corresponde à versão do Windows que está a usar.
Envie a compilação para o Cloud Build:
gcloud builds submit --project $PROJECT_ID --async
A compilação demora até quatro horas a ser concluída. Pode acompanhar o estado da compilação na consola em Cloud Build > Histórico. Google Cloud
- Verifique se carregou os pacotes de instalação e o ficheiro ISO corretos.
- Verifique se selecionou um fluxo de trabalho que corresponde à versão do Windows do ficheiro ISO.
- Reveja o registo de compilação no Cloud Build e verifique se existem mensagens de erro.
- Se a compilação parecer bloqueada, reveja o resultado da porta série da instância de VM criada pela compilação e verifique se existem mensagens de erro.
- Saiba mais acerca da ferramenta Daisy.
- Saiba mais sobre os fluxos de trabalho em cadeia para criar imagens.
- Saiba como transferir licenças existentes para o Compute Engine.
- Leia acerca das práticas recomendadas para trabalhar com famílias de imagens.
Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.Os passos seguintes diferem consoante use o Windows ou o Linux no seu computador local:
Windows
Linux
Carregue ficheiros de instalação
Agora, recolhe todos os ficheiros de instalação necessários para a imagem personalizada e carrega-os para um contentor do Cloud Storage. Ao armazenar os ficheiros num contentor do Cloud Storage, garante que os ficheiros estão acessíveis ao
daisy
e às instâncias de VM temporárias que odaisy
usa para criar a imagem.Já tem tudo pronto para criar a imagem personalizada.
Crie a imagem
A execução do fluxo de trabalho
daisy
para criar uma imagem personalizada demora até quatro horas. Em vez de executardaisy
localmente, agora cria uma configuração do Cloud Build para que possa permitir que o Cloud Build execute o fluxo de trabalho em segundo plano.Use a imagem personalizada
Após a conclusão da compilação, pode encontrar a imagem BYOL personalizada naGoogle Cloud consola em Compute Engine > Imagens.
Para ajudar a distinguir entre várias versões da mesma imagem, o processo de compilação incorpora uma data/hora no nome da imagem, por exemplo,
windows-server-2019-dc-v1613488342
. Além disso, o processo associa a imagem a uma família de imagens personalizada, por exemplo,windows-server-2019
.Para criar uma instância de VM que use a imagem BYOL personalizada, tem de aprovisionar a instância de VM num nó de inquilino único.
Resolução de problemas
Se suspeitar que o processo de compilação falhou ou não está a progredir, use as abordagens seguintes para diagnosticar a situação:
O que se segue?
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-19 UTC.
-