A VPS that reboots continuously without fully starting is a serious but usually recoverable situation. This guide covers diagnosis and recovery using your provider's console access.
Step 1 — Access the Provider's Web Console
SSH won't be available if the server never finishes booting — use your VPS provider's browser-based console/VNC, which shows the actual boot screen output.
Step 2 — Read the Boot Output Carefully
Watch what happens right before the reboot occurs. Common visible clues:
- A kernel panic message
- A filesystem check (fsck) that fails or hangs
- A specific service repeatedly failing and triggering a restart policy
Common Cause 1 — A Bad Kernel Update
If the loop started right after a kernel update, boot into the previous kernel version from the GRUB menu (accessible during boot in the console):
- In the console, interrupt the boot process to reach the GRUB menu (often by pressing Shift or Esc during startup)
- Select Advanced options
- Choose the previous, previously-working kernel version
Once booted successfully, you can remove or pin against the problematic kernel:
sudo apt remove linux-image-PROBLEMATIC_VERSION
Common Cause 2 — A Filesystem Check Failure
If boot output shows fsck errors, the filesystem may need manual repair from a rescue/recovery mode offered by your provider:
fsck -y /dev/sda1
Run this from rescue mode, adjusting the device path to match your actual disk layout.
Common Cause 3 — A Misconfigured fstab Entry
An invalid or unavailable entry in /etc/fstab (for example, referencing a removed swap file or disk) can prevent successful boot.
From rescue mode, mount the filesystem and review:
cat /etc/fstab
Comment out or correct the problematic line, then attempt a normal boot again.
Common Cause 4 — A Service Crash Loop Triggering systemd's Emergency Behavior
If a critical service repeatedly fails during startup, boot into single-user/rescue mode via the GRUB menu, then investigate:
sudo systemctl --failed
sudo journalctl -b -1
-b -1 shows logs from the previous (failed) boot, revealing exactly what happened before the loop.
Step 3 — Use Your Provider's Rescue/Recovery Mode
Most VPS providers offer a rescue mode that boots a minimal separate environment with your disk mounted for inspection and repair — this is the standard tool for exactly this scenario, and doesn't require the broken OS to boot at all.
Step 4 — As a Last Resort
If the underlying cause can't be identified or fixed, restoring from a recent snapshot/backup is the fastest path back to a working state — another strong argument for maintaining regular automated backups.
Preventing Reboot Loops
- Always take a snapshot before major kernel or system-critical updates
- Test configuration changes to
fstabor boot-critical files carefully, ideally validating syntax before rebooting - Keep regular automated backups — see How to Set Up Automated VPS Backups
Related Articles
- How to Reboot a Linux VPS Safely
- How to Update and Upgrade Your Ubuntu or Debian VPS
- How to Set Up Automated VPS Backups (rsync, cron & Off-Site Storage)
