Files
Sankofa/docs/archive/status/VM_BOOT_FIX.md
defiQUG 7cd7022f6e Update .gitignore, remove package-lock.json, and enhance Cloudflare and Proxmox adapters
- Added lock file exclusions for pnpm in .gitignore.
- Removed obsolete package-lock.json from the api and portal directories.
- Enhanced Cloudflare adapter with additional interfaces for zones and tunnels.
- Improved Proxmox adapter error handling and logging for API requests.
- Updated Proxmox VM parameters with validation rules in the API schema.
- Enhanced documentation for Proxmox VM specifications and examples.
2025-12-12 19:29:01 -08:00

2.1 KiB

VM Boot Issue Fix

Problem

All VMs were showing guest agent enabled in Proxmox configuration, but were stuck in a restart loop with "Nothing to boot" error. This occurred because the VM disks were created but were empty - no OS image was installed on them.

Root Cause

The VMs were created with empty disks. The disk volumes existed (vm-XXX-disk-0) but contained no bootable OS, causing the VMs to fail to boot and restart continuously.

Solution

Import the Ubuntu 22.04 cloud image into each VM's disk. The process involves:

  1. Stop the VM (if running)
  2. Import the OS image using qm importdisk which creates a new disk with the OS
  3. Copy the imported disk to the main disk using dd
  4. Ensure boot order is set to scsi0
  5. Start the VM

Script

A script has been created at scripts/fix-all-vm-boot.sh that automates this process for all VMs.

Usage

./scripts/fix-all-vm-boot.sh

The script:

  • Checks if each VM's disk already has data (skips if already fixed)
  • Stops the VM if running
  • Imports the Ubuntu 22.04 cloud image
  • Copies the imported image to the main disk
  • Sets boot order
  • Starts the VM

Manual Process (if needed)

For a single VM:

# 1. Stop VM
qm stop <vmid>

# 2. Import image (creates vm-XXX-disk-1)
qm importdisk <vmid> /var/lib/vz/template/iso/ubuntu-22.04-cloud.img local-lvm --format raw

# 3. Copy to main disk
dd if=/dev/pve/vm-<vmid>-disk-1 of=/dev/pve/vm-<vmid>-disk-0 bs=4M

# 4. Ensure boot order
qm set <vmid> --boot order=scsi0

# 5. Start VM
qm start <vmid>

Status

  • VM 136: Fixed and running
  • Other VMs: Script in progress (can be run again to complete)

Next Steps

  1. Complete the boot fix for all VMs using the script
  2. Wait for VMs to boot and complete cloud-init
  3. Verify guest agent is running: ./scripts/verify-guest-agent-complete.sh
  4. Check VM IP addresses: ./scripts/check-all-vm-ips.sh

Notes

  • The import process can take several minutes per VM
  • The dd copy operation copies ~2.4GB of data
  • VMs will need time to boot and complete cloud-init after the fix
  • Guest agent service will start automatically via cloud-init