Troubleshooting “Bus Error” During Linux Reboot: Forced Reboot Methods for Read-Only Filesystems


7 views

When encountering a filesystem corruption issue where the root partition (/) becomes read-only, standard reboot commands like reboot or shutdown -r now may fail with bus errors. The system hangs at "System going down for reboot now" message while remaining unresponsive.

Bus errors typically occur when:

  • The kernel cannot write to critical system files during shutdown
  • Processes cannot be properly terminated due to filesystem issues
  • System logging mechanisms fail (journald in this case)

Try these methods in sequence:

1. Magic SysRq Reboot

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

2. Force Immediate Reboot

echo b > /proc/sysrq-trigger

3. Emergency Reboot via init

telinit 6

4. Forced Reboot via SysVinit

/sbin/init 6

After successful reboot:

  1. Check filesystem integrity: fsck -fy /dev/sdXN
  2. Review system logs: journalctl -b -1 (previous boot)
  3. Check disk health: smartctl -a /dev/sdX

To avoid future occurrences:

# Add to /etc/sysctl.conf
kernel.sysrq = 1
vm.panic_on_oom = 1
kernel.panic = 10

Consider implementing monitoring for filesystem remounts as read-only:

#!/bin/bash
if mount | grep -q 'on / type.*ro,'; then
    logger -t FSCHECK "Root filesystem remounted read-only"
    # Add automatic recovery logic here
fi

When attempting to reboot a Linux server remotely, you might encounter a situation where the system announces "System going down for reboot now" but never actually restarts. This often coincides with filesystem errors making the root partition read-only, resulting in frustrating "bus error" messages when executing commands.

First, verify your current state:

# Check runlevel (should return 5 for graphical mode or 3 for text mode)
runlevel

# Check filesystem status
mount | grep " / "

# Check for journal errors
journalctl -p err -b

When standard reboot commands fail, try these alternatives:

# Force immediate reboot (skip sync)
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

# Alternative method using init
telinit 6

# Emergency reboot (may cause data loss)
systemctl --force --force reboot

If your root filesystem is read-only, attempt remounting before reboot:

# Try remounting as read-write
mount -o remount,rw /

# If that fails, check filesystem
fsck -fy /dev/sda1  # Replace with your root partition

For completely unresponsive systems, you may need to:

# Trigger kernel panic (will force reboot on most systems)
echo c > /proc/sysrq-trigger

# If you have IPMI access
ipmitool power reset

Add these to your troubleshooting checklist:

# Monitor filesystem health
smartctl -a /dev/sda

# Check for hardware issues
dmesg | grep -i error

# Configure automatic fsck on boot
tune2fs -c 1 /dev/sda1