Per creare una VM Windows su Google Cloud, devi utilizzare un'immagine VM con Windows o Windows Server preinstallato. Google Cloud fornisce immagini pubbliche per le versioni di Windows Server di uso comune, ma queste immagini sono adatte solo per le licenze on demand. Per utilizzare la tua licenza Windows (BYOL), devi importare un'immagine esistente o creare un'immagine personalizzata.
Questa guida descrive come creare un'immagine personalizzata utilizzando gli stessi strumenti e gli stessi processi utilizzati da Google Cloud per creare le immagini pubbliche.
Per completare questa guida, hai bisogno di:
- Un file ISO contenente i supporti per l'installazione di Windows o Windows Server.
- Facoltativamente, uno o più pacchetti di aggiornamento di Windows (in formato
.msu
) da applicare all'immagine.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Google Cloud .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Crea un nuovo disco.
- Estrai l'immagine di Windows (
install.wim
dal supporto di installazione) sul disco. - Aggiungi i driver necessari, configura l'installazione di Windows in modo che venga eseguita senza supervisione e rendi il disco avviabile.
- Lancia l'avvio dal nuovo disco per eseguire l'installazione di Windows.
- Installa software aggiuntivo, incluso l'agente del sistema operativo guest.
- Crea un'immagine dal disco.
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
- Sul computer locale, apri una finestra di Windows PowerShell.
Inizializza una variabile:
$PROJECT_ID = "
PROJECT_ID
"dove
PROJECT_ID
è l'ID progetto del progettoGoogle Cloud che hai creato nella sezione precedente.Inizializza un'altra variabile in modo che contenga il numero del progetto:
$PROJECT_NUMBER = gcloud projects describe $PROJECT_ID --format=value`(projectNumber`)
- Apri una finestra del terminale sul computer locale.
Inizializza una variabile:
PROJECT_ID=
PROJECT_ID
dove
PROJECT_ID
è l'ID progetto del progettoGoogle Cloud che hai creato nella sezione precedente.Inizializza un'altra variabile in modo che contenga il numero del progetto:
PROJECT_NUMBER=`gcloud projects describe $PROJECT_ID --format=value\(projectNumber\)`
Sul computer locale, scarica i pacchetti di installazione richiesti:
Crea un nuovo bucket Cloud Storage per archiviare i file di installazione:
gcloud storage buckets create gs://$PROJECT_ID-media --project=$PROJECT_ID
Assegna il ruolo Storage Object Viewer a Cloud Build in modo che possa leggere i file di installazione:
gcloud storage buckets add-iam-policy-binding gs://$PROJECT_ID-media --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com --role=roles/storage.objectViewer
Carica il pacchetto di installazione di PowerShell:
gcloud storage cp
POWERSHELL_PACKAGE
gs://$PROJECT_ID-media/PowerShell.msidove
POWERSHELL_PACKAGE
è il percorso del pacchetto di installazione di PowerShell.Carica il pacchetto di installazione di .NET Framework:
gcloud storage cp
DOTNET_PACKAGE
gs://$PROJECT_ID-media/dotnet-sdk.exedove
DOTNET_PACKAGE
è il percorso del pacchetto di installazione di NET Framework.Carica il pacchetto di installazione di gcloud CLI:
gcloud storage cp
CLOUDSDK_PACKAGE
gs://$PROJECT_ID-media/GoogleCloudSDKInstaller.exedove
CLOUDSDK_PACKAGE
è il percorso del pacchetto di installazione di gcloud CLI.Carica il file ISO contenente i supporti di installazione di Windows:
gcloud storage cp
ISO
gs://$PROJECT_ID-media/dove
ISO
è il nome del file ISO.Se vuoi, carica altri pacchetti di aggiornamento:
gcloud storage cp
UPDATE_DIR
/*.msu gs://$PROJECT_ID-media/updates/dove
UPDATE_DIR
è la directory contenente i pacchetti di aggiornamento.Sul computer locale, clona il repository Git contenente i workflow
daisy
per la creazione di immagini Windows:git clone https://github.com/GoogleCloudPlatform/compute-image-tools.git
Passa alla directory
windows
:cd compute-image-tools/daisy_workflows/image_build/windows/
Nella directory
windows
, troverai una selezione di file con il suffisso.wf.json
. Questi file contengono le definizioni del workflow daisy per le versioni di Windows di uso comune.Versione di Windows File di workflow Windows Server Core 2022 (64 bit) windows-server-2022-dc-core-uefi-byol.wf.json
Windows Server 2019 (64 bit) windows-server-2019-dc-uefi-byol.wf.json
Windows Server Core 2019 (64 bit) windows-server-2019-dc-core-uefi-byol.wf.json
Windows Server 2016 (64 bit) windows-server-2016-dc-uefi-byol.wf.json
Windows Server Core 2016 (64 bit) windows-server-2016-dc-core-uefi-byol.wf.json
Windows 11 21H2 (64 bit) windows-11-21h2-ent-x64-uefi.wf.json
Windows 11 22H2 (64 bit) windows-11-22h2-ent-x64-uefi.wf.json
Windows 11 23H2 (64 bit) windows-11-23h2-ent-x64-uefi.wf.json
Windows 10 21H2 (64 bit) windows-10-21h2-ent-x64-uefi.wf.json
Windows 10 22H2 (64 bit) windows-10-22h2-ent-x64-uefi.wf.json
Apri il file di workflow più simile alla versione di Windows che vuoi installare. Se necessario, modifica le impostazioni della versione di Windows (
edition
) e del codice licenza (product_key
) nei file di workflow in modo che corrispondano ai supporti di installazione in uso.Se hai dubbi sul nome della versione corretta, apri un prompt di PowerShell elevato ed esegui i seguenti comandi per elencare tutte le versioni supportate dai tuoi supporti di installazione:
$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-NullSostituisci
ISO
con il percorso locale dell'immagine ISO.Nella directory
windows
, crea un nuovo file denominatocloudbuild.yaml
e incolla il seguente codice: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
Sostituisci:
ISO
: il nome del file ISO su Cloud Storage.WORKFLOW
: il nome del file di workflow corrispondente alla versione di Windows in uso.
Invia la build a Cloud Build:
gcloud builds submit --project $PROJECT_ID --async
Il completamento della build può richiedere fino a quattro ore. Puoi monitorare lo stato della build nella console Google Cloud in Cloud Build > Cronologia.
- Verifica di aver caricato i pacchetti di installazione e il file ISO corretti.
- Verifica di aver selezionato un workflow corrispondente alla versione di Windows del file ISO.
- Esamina il log di build in Cloud Build e controlla se sono presenti messaggi di errore.
- Se la build sembra bloccata, controlla l'output della porta seriale dell'istanza VM creata dalla build e verifica la presenza di messaggi di errore.
- Scopri di più sullo strumento daisy.
- Scopri di più sui workflow daisy per la creazione di immagini.
- Scopri come importare le licenze esistenti in Compute Engine.
- Leggi le best practice per lavorare con le famiglie di immagini.
Informazioni sul processo di creazione
Per installare Windows da zero, un approccio comune è avviare un computer da un DVD o un file ISO contenente i file di installazione di Windows. A differenza di alcuni hypervisor on-premise, Compute Engine non consente l'avvio da un file ISO.
Per installare Windows da zero devi quindi adottare un approccio diverso, che prevede i seguenti passaggi:
Anziché eseguire questi passaggi manualmente, seguendo questa guida puoi utilizzare Cloud Build, lo strumento
daisy
e i workflow di riferimento disponibili su GitHub per automatizzare il processo.daisy
è uno strumento a riga di comando open source che consente di eseguire i workflow. I workflow vengono creati come file JSON e contengono una sequenza di passaggi. Ogni passaggio descrive un'operazione di Compute Engine, ad esempio la creazione di un disco o l'arresto di un'istanza VM. I workflow daisy sono quindi adatti per automatizzare i passaggi necessari per creare un'immagine Windows da zero.I workflow daisy per la creazione di immagini Windows personalizzate creano due istanze VM temporanee. La prima istanza VM (con prefisso
bootstrap
) esegue i passaggi necessari per creare un disco di avvio. La seconda istanza VM (con prefissoinstall
) esegue l'installazione di Windows e tutti i passaggi rimanenti.Prepara il progetto per la creazione di immagini
Per impedire allo strumento daisy di interferire con l'infrastruttura o le istanze VM esistenti, crea un progetto dedicato per la creazione delle immagini:
I passaggi successivi variano a seconda che utilizzi Windows o Linux sul computer locale:
Windows
Linux
Carica i file di installazione
Ora raccogli tutti i file di installazione necessari per l'immagine personalizzata e caricali in un bucket Cloud Storage. Con l'archiviazione dei file in un bucket Cloud Storage, ti assicuri che i file siano accessibili per
daisy
e per le istanze VM temporanee chedaisy
utilizza per creare l'immagine.Ora puoi creare l'immagine personalizzata.
Crea l'immagine
L'esecuzione del workflow
daisy
per creare un'immagine personalizzata richiede fino a quattro ore. Anziché eseguiredaisy
localmente, ora crei una configurazione di Cloud Build per consentire a Cloud Build di eseguire il workflow in background.Utilizza l'immagine personalizzata
Al termine della build, puoi trovare l'immagine BYOL personalizzata nella consoleGoogle Cloud in Compute Engine > Immagini.
Per differenziare più versioni della stessa immagine, il processo di build incorpora un timestamp nel nome dell'immagine, ad esempio
windows-server-2019-dc-v1613488342
. Inoltre, il processo associa l'immagine a una famiglia di immagini personalizzata, ad esempiowindows-server-2019
.Per creare un'istanza VM che utilizza l'immagine BYOL personalizzata, devi eseguire il provisioning dell'istanza VM su un nodo single-tenant.
Risoluzione dei problemi
Se sospetti che il processo di build non sia riuscito o non stia procedendo, utilizza i seguenti approcci per diagnosticare la situazione:
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-11 UTC.
-