- 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.
2.1 KiB
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:
- Stop the VM (if running)
- Import the OS image using
qm importdiskwhich creates a new disk with the OS - Copy the imported disk to the main disk using
dd - Ensure boot order is set to
scsi0 - 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
- Complete the boot fix for all VMs using the script
- Wait for VMs to boot and complete cloud-init
- Verify guest agent is running:
./scripts/verify-guest-agent-complete.sh - Check VM IP addresses:
./scripts/check-all-vm-ips.sh
Notes
- The import process can take several minutes per VM
- The
ddcopy 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