# Troubleshooting

# Linux Boot Validation Check Tools / Linux Boot Checker

[![image.png](https://www.32inside.com/uploads/images/gallery/2026-04/scaled-1680-/LF5image.png)](https://www.32inside.com/uploads/images/gallery/2026-04/LF5image.png)

Ketika sebuah VM Linux gagal booting, masalahnya sering tersembunyi di hal-hal mendasar: kernel hilang, initramfs tidak cocok, GRUB mengarah ke file yang tidak ada, hingga fstab yang menyesatkan. Dalam lingkungan produksi — terutama yang menggunakan cloud, virtualisasi, atau automation seperti OpenStack dan vSphere — proses validasi ini menjadi sangat krusial sebelum migrasi atau reboot.

Untuk menjawab tantangan ini, saya membuat tools bernama **InsBootCheck**, sebuah script bash untuk melakukan **Linux Boot Validation Check**.

---

#### **Apa Saja yang Dibutuhkan Agar Linux Bisa Boot?**

Agar sistem Linux bisa booting dengan normal, berikut beberapa syarat utama yang harus **valid dan saling terkait**:

1. **Boot Mode yang Sesuai (BIOS atau EFI)**
2. **File Kernel (`vmlinuz-<versi>`) dan Initrd/Initramfs tersedia**
3. **GRUB Configuration (grub.cfg atau menu.lst) mengarah ke file yang ada**
4. **Fstab menunjuk ke device (UUID, LABEL, atau path) yang benar-benar ada**
5. **Swap aktif (optional tapi sering digunakan)**
6. **Target systemd penting aktif** seperti `multi-user.target`, `default.target`
7. **Akses login melalui console atau SSH tersedia**

---

#### **Apa Itu *InsBootCheck*?**

**InsBootCheck** adalah script bash yang saya tulis untuk melakukan validasi sistem boot Linux secara menyeluruh. Script ini bisa berjalan di berbagai distro (Debian, Ubuntu, CentOS, RHEL, Rocky, Alma, Fedora, openSUSE) dan mendukung:

- **GRUB 2** dan **GRUB Legacy (0.97)**
- Deteksi **dual boot BIOS + EFI**
- Pengecekan kernel/initrd yang **sedang digunakan dan file-nya tersedia**
- Validasi GRUB config apakah mengarah ke file yang masih ada
- Validasi `/etc/fstab` terhadap `UUID`, `LABEL`, dan `/dev/*`
- Menampilkan hasil **berwarna** dan summary yang mudah dibaca
- Keluar dengan **exit code sesuai status** (bisa diintegrasikan CI/CD)

Contoh Output Validasi

[![image.png](https://www.32inside.com/uploads/images/gallery/2026-04/scaled-1680-/7Aaimage.png)](https://www.32inside.com/uploads/images/gallery/2026-04/7Aaimage.png)

#### **Kelebihan**

- **Ringan** dan tidak butuh dependency eksternal
- Bisa dipanggil di Ansible, Zabbix, CI/CD (karena return code sesuai hasil)
- Sangat cocok untuk VM Linux di cloud, sebelum migrasi, cloning, atau upgrade kernel

[**Downlaod InsBootCheck**](https://www.32inside.com/attachments/3 "InsBootCheck")

#### **Jalankan Tools**  


```bash
sudo su
chmod +x InsBootCheck
./InsBootCheck
```