blog

作成日 : 2025/03/19
更新日 : 2025/03/19

Proxmox VEを使ってみる (3) – Ubuntu24.04をUEFIでインストール

Proxmox上に、Ubuntuをインストールするときに、 警告や画面のブラックアウトが発生したため紹介する。

概要

WSL上にインストールしているterraformから、 Proxmox上にUbuntuをインストールする。

利用バージョン

・terraform
   バージョン: v1.10.1

    ・Proxmox VE
      バージョン: 8.3.0

    ProxmoxへUbuntuのISOを格納

    以下のサイトからISOのURLを取得する。

    https://releases.ubuntu.com

    例えば、以下の値でProxmoxのコンソールでISOを格納する。

    パラメーター
    ISOのURLhttps://releases.ubuntu.com/24.04.1/ubuntu-24.04.1-desktop-amd64.iso 
    ハッシュ値c2e6f4dc37ac944e2ed507f87c6188dd4d3179bf4a3f9e110d3c88d1f3294bdc

    [Download from URL]から、ISOをダウンロードする。 ローカルからISOをアップロードする場合には、[Upload]をクリックする。

    入力後、[Download]をクリックする。

    「TASK OK」が表示されたら、Downloadが完了している。

    UbuntuをProxmox上にデプロイ

    terraformで利用するファイルの作成

    環境に合わせて、適宜変数などを変更する。

    cat <<'EOF' > terraform.tfvars
    pm_api_url = "https://xxx.xxx.xxx.xxx:8006/api2/json"
    pm_user = "root@pam"
    pm_password = "xxxxxxx"
    
    vm_name = "test-ubuntu2404"
    pm_node = "test-pve01"
    vmid = 9001
    vm_cores = 4
    vm_memory = 8192 # 8G
    # 「{storage名}:iso/{iso名}」の形
    vm_iso = "local:iso/ubuntu-24.04.1-desktop-amd64.iso"
    vm_storage = "local-lvm"
    vm_disk_size = "128G"
    EOF
    cat <<'EOF' > main.tf
    terraform {
      required_providers {
        proxmox = {
          source = "Telmate/proxmox"
          version = "3.0.1-rc6"
        }
      }
    }
    
    provider "proxmox" {
      pm_api_url      = var.pm_api_url
      pm_user         = var.pm_user
      pm_password     = var.pm_password
      pm_tls_insecure = true             # 必要に応じてTLS検証を無効化
    }
    
    resource "proxmox_vm_qemu" "example" {
      name        = var.vm_name
      target_node = var.pm_node
      vmid        = var.vmid
      cores = var.vm_cores
      memory = var.vm_memory
      bios = "ovmf"
    
      disks {
        # ISOイメージをCD-ROMに設定
        ide {
          ide2 {
            cdrom {
              iso = var.vm_iso
            }
          }
        }
        virtio {
          virtio0 {
            disk {
              size = "128G"
              storage = var.vm_storage
            }
          }
        }
      }
    
      efidisk {
        efitype = "4m"
        storage = var.vm_storage
      }
    
      network {
        model  = "virtio"
        bridge = "vmbr0"
        id = 0
        firewall = false
      }
    }
    
    variable pm_api_url {}
    variable pm_user {}
    variable pm_password {}
    
    variable vm_name {}
    variable pm_node {}
    variable vmid {}
    variable vm_cores {}
    variable vm_memory {}
    variable vm_iso {}
    variable vm_storage {}
    variable vm_disk_size {}
    EOF

    efidiskについて

    efidiskの設定がない場合は、起動するが、ログのStartTaskで、以下の警告が発生する。

    WARN: no efidisk configured! Using temporary efivars disk.
    TASK WARNINGS: 1

    Proxmoxへデプロイ

    terraform init
    terraform plan
    terraform apply

    OSの初期設定

    以下画面が出たら、流れに沿って初期設定する。

    初期設定画面が表示されずブラックアウトする場合

    OS起動時に画面がブラックアウトする場合、 以下のことをすると改善した。

    OS起動時のブラックアウト画面 

    [Shutdown]では停止しないので、[Stop]で停止する。

    VGAのメモリ変更

    WSL上でterraformのmain.tfを変更し、変更を適用する。

    ・main.tf

    @@ -46,6 +46,10 @@
         storage = var.vm_storage
       }
    
    +  vga {
    +    memory = 24
    +  }
    +
       network {
         model  = "virtio"
         bridge = "vmbr0"
    terraform plan
    terraform apply
    UEFIでの解像度変更

    OSの起動時に、UEFI画面に入る。

    解像度を「1920×1080」に変更する。

    [Escape]を2回押し、リセットをする。

    参考URL

    Proxmox上でUbuntuの画面がブラックアウトするときの対処方法

    https://forum.proxmox.com/threads/ubuntu-screen-blank-black-after-resolution-change-on-auto-login-vm.127532

    昨日リリースされたばかりのProxmox Provider v3.0.1-rc5を使ってProxmoxのVM作成を自動化した

    https://zenn.dev/aobaiwaki/articles/db1a1551ddb674