Azure VM Boot Issue – VM stuck in ‘Starting’ or ‘Failed’
Azure VM Boot Issue – VM stuck in ‘Starting’ or ‘Failed’
You hit Start on your Azure VM… and it gets stuck in:
“Starting…”
“Provisioning failed”
“Failed to start VM”
You’re not alone — this is a common issue. In this blog, I’ll show you how to troubleshoot and fix it using step-by-step, beginner-friendly methods.
Common Causes
| Problem | Example |
|---|---|
| Corrupt OS disk | Kernel panic / bluescreen |
| VM extension failed | “Failed to install extension” |
| NSG or route blocking Boot agent | No serial output |
| DNS or DHCP misconfigured | Stuck boot or network unreachable |
| OS-level login or update hang | Incomplete patch |
Step-by-step Fix Guide
Step 1: Open Boot Diagnostics
Go to your VM → Boot diagnostics
- Check Screenshot tab
- Windows: Blue screen? Login screen?
- Linux: Kernel panic? Black screen?
- Check Serial log
- Look for errors:
Failed to mount,No bootable disk, etc.
- Look for errors:
This is your first clue into what went wrong.
Step 2: Try Serial Console (If OS boots partially)
VM → Serial Console
- Windows:
- Login with credentials
- Check
sconfigor Event logs
- Linux:
- Use root shell
- Check
/var/log/syslogordmesg
journalctl -xe
systemctl status
You can fix fstab, services, or disable broken extensions directly.
Step 3: Run “Redeploy VM”
Go to VM → Support + Troubleshooting → Redeploy This:
- Moves your VM to another host
- Retains public/private IP and disk
- Fixes hypervisor-side issues
- Works well for random “Failed to start” errors.
Step 4: Reset SSH or RDP Access (if login fails)
VM → Reset password → Choose OS → Reset login
VM → Run Command → Reset SSH config (Linux)
az vm user update --name vm1 --resource-group myRG \
--username azureuser --password 'StrongP@ssword123!'
Step 5: Disk Repair (Advanced)
- Stop VM
- Detach OS disk
- Attach to a healthy rescue VM
- Mount and inspect disk:
sudo fdisk -l
sudo mount /dev/sdc1 /mnt
Fix /etc/fstab, remove bad init files, update kernel
Reattach disk to original VM and boot
Step 6: Check NSG or Route Table
Ensure outbound access to: Azure platform IPs (168.63.129.16) DNS (8.8.8.8 or 168.63.129.16) If UDRs block outbound or Boot diagnostics, VM won’t load properly
Summary Table
| Fix | Use When |
|---|---|
| Boot diagnostics screenshot | See if OS booted |
| Serial Console | Fix login or boot issues |
| Redeploy VM | Platform/infrastructure issues |
| Reset SSH/RDP | Login or key problems |
| Disk Repair via Rescue VM | Corrupt boot or config file |
| NSG/UDR fix | Connectivity / agent failures |
Pro Tips
- Always enable Boot Diagnostics for all VMs
- Take snapshot before running updates
- Use custom script extension to auto repair
- Use Availability Set or Zone to avoid platform issues
Resources
- Azure VM Serial Console
- Redeploy VM guide
- Run command from portal
- Facing the boot error right now?
Message me on LinkedIn for a walkthrough.
– Kasi @ KasdevTech