Hướng Dẫn Cứu Boot VPS Ubuntu Bằng SystemRescue Và Khôi Phục GRUB

Đội ngũ VPSTTT Nội dung đã được kiểm duyệt
Ngày đăng: 11/8/2026 Cập nhật: 12/8/2026 Lượt xem: 177 Đánh giá: 4.7/5176lượt đánh giá
VPSTTT trên

Quy trình cứu VPS Ubuntu không khởi động do mất GRUB hoặc thư mục /boot bằng SystemRescue 13.01, áp dụng cho ổ GPT chạy Legacy BIOS.

Hướng dẫn VPS UbuntuSystemRescueGRUBLinuxcứu hộ VPS

VPS Ubuntu có thể không khởi động sau khi phân vùng, kernel hoặc GRUB bị hỏng. Trong trường hợp hệ thống mất cả thư mục /boot, việc chỉ chạy lại update-grub thường chưa đủ vì máy không còn kernel và initramfs để nạp hệ điều hành.

Bài viết này hướng dẫn quy trình cứu hộ bằng SystemRescue 13.01, dựa trên một ca phục hồi thành công với Ubuntu 24.04 LTS, ổ VirtIO /dev/vda, bảng phân vùng GPT và firmware Legacy BIOS.

1. Phạm Vi Áp Dụng

Quy trình dưới đây được viết cho cấu trúc mẫu sau. Nếu VPS của bạn khác cấu trúc này, hãy thay đúng tên thiết bị và cách cài GRUB tương ứng.

Thành phầnCa mẫuKhi hệ thống khác
Ổ hệ thống/dev/vdaCó thể là /dev/sda hoặc /dev/nvme0n1
Root filesystem/dev/vda1, ext4, label rootChọn đúng phân vùng chứa /etc/os-release
FirmwareLegacy BIOSNếu là UEFI, không dùng target i386-pc
Partition tableGPTỔ MBR không cần phân vùng bios_grub
Hệ điều hànhUbuntu 24.04 LTSRHEL, AlmaLinux và Rocky Linux dùng tên lệnh GRUB khác

2. Boot VPS Từ ISO SystemRescue

  1. Gắn file systemrescue-13.01-amd64.iso vào VPS từ bảng điều khiển của nhà cung cấp.
  2. Đưa CD/DVD/ISO lên đầu thứ tự boot.
  3. Chọn Boot SystemRescue using default options.
  4. Đợi đến dấu nhắc [root@sysrescue ~]#. SystemRescue sẽ tự đăng nhập bằng quyền root.

3. Nhận Diện Ổ Đĩa, Phân Vùng Root Và Firmware

Trước khi thay đổi bất kỳ dữ liệu nào, hãy dùng các lệnh chỉ đọc sau để xác nhận tên ổ, filesystem, UUID và chế độ firmware:

lsblk -f lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,UUID,MOUNTPOINTS fdisk -l /dev/vda test -d /sys/firmware/efi && echo UEFI || echo BIOS

Trong ca mẫu, kết quả cần nhận diện gồm:

  • /dev/vda dung lượng 25 GiB là ổ VirtIO của VPS.
  • /dev/vda1 dùng ext4, label root và chứa Ubuntu.
  • Disklabel type: gpt xác nhận ổ dùng GPT.
  • Kết quả BIOS xác nhận ISO đang boot ở chế độ Legacy BIOS.

Tiếp theo, mount phân vùng root và kiểm tra đúng hệ điều hành:

mount /dev/vda1 /mnt cat /mnt/etc/os-release cat /mnt/etc/fstab ls -lah /mnt/boot

Ở ca mẫu, /etc/os-release trả về Ubuntu 24.04.4 LTS, còn /mnt/boot báo No such file or directory. Điều này cho thấy thư mục boot đã mất.

4. Tạo Phân Vùng BIOS Boot Trên Ổ GPT

Legacy BIOS kết hợp với GPT cần một phân vùng nhỏ kiểu EF02 để GRUB lưu core.img. Trong ca mẫu, phân vùng root bắt đầu từ sector 4096, vì vậy có thể dùng vùng trống từ sector 2048 đến 4095, tương đương 1 MiB.

4.1. Sao Lưu Bảng Phân Vùng GPT

sgdisk --backup=/mnt/root/vda-gpt-before-grub.bin /dev/vda

Khi thành công, lệnh sẽ trả về The operation has completed successfully.. Hãy giữ file backup này cho đến khi xác nhận VPS đã hoạt động ổn định.

4.2. Tạo BIOS Boot Partition

sgdisk -n 2:2048:4095 -t 2:ef02 -c 2:bios_grub /dev/vda partprobe /dev/vda lsblk -o NAME,SIZE,FSTYPE,PARTTYPE,PARTLABEL

5. Tạo Lại /boot, Bind Mount Và Chroot

Chỉ tạo lại thư mục /boot sau khi đã chắc chắn đây không phải một phân vùng riêng trong /etc/fstab. Sau đó bind mount các filesystem cần thiết và chuyển vào hệ điều hành đang lỗi bằng chroot.

mkdir -p /mnt/boot mount --rbind /dev /mnt/dev mount --make-rslave /mnt/dev mount -t proc proc /mnt/proc mount --rbind /sys /mnt/sys mount --make-rslave /mnt/sys mount --rbind /run /mnt/run mount --make-rslave /mnt/run chroot /mnt /bin/bash

Bên trong chroot, kiểm tra mạng, cập nhật danh sách gói và xác định kernel đang được cài:

apt-get update dpkg -l 'linux-image*'

Tiền tố ii nghĩa là gói đã được cài. Ca mẫu có linux-image-6.8.0-111-generic, nhưng các file trong /boot đã mất nên cần cài lại đúng gói kernel này.

6. Phục Hồi Kernel Và Initramfs

Thay phiên bản kernel trong lệnh dưới đây nếu kết quả dpkg -l trên VPS của bạn khác ca mẫu:

DEBIAN_FRONTEND=noninteractive apt-get install --reinstall -y linux-image-6.8.0-111-generic grub-pc grub-pc-bin update-initramfs -u -k 6.8.0-111-generic

Trong môi trường rescue có thể xuất hiện một số cảnh báo nhưng không nhất thiết làm quá trình thất bại:

  • MD subsystem is not loaded hoặc cảnh báo mdadm.conf khi VPS không dùng RAID.
  • Cảnh báo DBus vì systemd không chạy đầy đủ trong chroot.
  • Cảnh báo thiếu file cấu hình kernel, miễn là cuối cùng vẫn tạo được vmlinuzinitrd.img.

7. Cài Lại GRUB Và Tạo Menu Boot

grub-install --target=i386-pc --recheck /dev/vda update-grub ls -lh /boot

Thư mục /boot phải có tối thiểu:

  • vmlinuz-6.8.0-111-generic
  • initrd.img-6.8.0-111-generic
  • Thư mục /boot/grub

8. Thoát Chroot, Tháo ISO Và Khởi Động Lại

exit sync umount -R /mnt poweroff
  1. Eject hoặc unmount ISO SystemRescue trong bảng điều khiển VPS.
  2. Giữ firmware ở Legacy BIOS, không chuyển sang UEFI.
  3. Đặt ổ cứng làm thiết bị boot đầu tiên rồi bật VPS.
  4. Sau khi Ubuntu khởi động, chạy các lệnh kiểm tra bên dưới.
uname -r lsblk systemctl --failed

Các Lỗi Thường Gặp Khi Cứu Boot VPS

Problem opening /dev/v for reading

Tên thiết bị bị gõ thiếu do cửa sổ console hẹp. Hãy nhập lại và bảo đảm tên ổ kết thúc đầy đủ bằng /dev/vda. Việc dòng lệnh tự xuống hàng trên màn hình không ảnh hưởng, miễn là bạn không nhấn Enter giữa tên ổ.

grub-install: embedding is not possible

Ổ GPT đang chạy BIOS nhưng chưa có phân vùng bios_grub, hoặc kernel chưa nhận phân vùng vừa tạo. Kiểm tra lại bằng lsblk, chạy partprobe /dev/vda rồi thử lại.

update-grub không tìm thấy Linux image

Bạn chưa phục hồi đúng gói kernel. Xác định phiên bản bằng dpkg -l 'linux-image*', cài lại đúng gói có trạng thái ii, sau đó chạy lại update-initramfsupdate-grub.

apt-get update báo lỗi DNS

Kiểm tra kết nối mạng của môi trường rescue và cấu hình DNS hợp lệ cho chroot. Không reboot khi kernel vẫn chưa xuất hiện trong /boot.

VPS tiếp tục vào SystemRescue sau khi reboot

ISO vẫn đang được gắn hoặc đứng trước ổ cứng trong boot order. Hãy eject ISO và chọn boot từ disk.

Bản Lệnh Rút Gọn Cho Đúng Ca Mẫu

mount /dev/vda1 /mnt sgdisk --backup=/mnt/root/vda-gpt-before-grub.bin /dev/vda sgdisk -n 2:2048:4095 -t 2:ef02 -c 2:bios_grub /dev/vda partprobe /dev/vda mkdir -p /mnt/boot mount --rbind /dev /mnt/dev mount --make-rslave /mnt/dev mount -t proc proc /mnt/proc mount --rbind /sys /mnt/sys mount --make-rslave /mnt/sys mount --rbind /run /mnt/run mount --make-rslave /mnt/run chroot /mnt /bin/bash
apt-get update DEBIAN_FRONTEND=noninteractive apt-get install --reinstall -y linux-image-6.8.0-111-generic grub-pc grub-pc-bin update-initramfs -u -k 6.8.0-111-generic grub-install --target=i386-pc --recheck /dev/vda update-grub ls -lh /boot exit sync umount -R /mnt poweroff

Câu hỏi thường gặp

Có thể dùng hướng dẫn này cho VPS UEFI không?

Không. Bài viết áp dụng cho GPT chạy Legacy BIOS và dùng grub-install target i386-pc. VPS UEFI cần xác định và mount đúng EFI System Partition rồi cài GRUB theo chế độ UEFI.

Có được cài GRUB vào /dev/vda1 không?

Không. Trong cấu trúc mẫu, GRUB phải được cài vào toàn bộ ổ /dev/vda.

Có cần format phân vùng bios_grub không?

Không. Phân vùng EF02 chỉ dành cho GRUB lưu core.img, không format và không mount.

Khi nào có thể tháo ISO SystemRescue?

Chỉ tháo ISO sau khi grub-installupdate-grub thành công, đồng thời /boot đã có vmlinuz, initrd.img và thư mục grub.

VPSTTT – Nhà Cung Cấp Giải Pháp Hạ Tầng Số Toàn Diện

VPSTTT là nhà cung cấp giải pháp hạ tầng số tại Việt Nam, phục vụ nhu cầu triển khai, vận hành và lưu trữ dữ liệu của cá nhân, lập trình viên và doanh nghiệp. Hệ sinh thái dịch vụ gồm VPS Việt Nam, VPS quốc tế, VPS Anti DDoS, Hosting cPanel, máy chủ riêng, thuê Rack, Proxy IPv4/IPv6, S3 MinIOCloud Storage.

Bên cạnh việc cung cấp tài nguyên hạ tầng, VPSTTT còn tập trung hỗ trợ khách hàng trong quá trình triển khai, cấu hình và xử lý các sự cố thực tế. Nội dung trên Blog VPSTTT được xây dựng từ những tình huống thường gặp khi vận hành VPS, máy chủ và hệ thống trực tuyến, giúp người đọc có thể hiểu nguyên nhân và áp dụng giải pháp rõ ràng hơn.

VPSTTT – Hạ tầng ổn định, giải pháp linh hoạt và đồng hành trong suốt quá trình vận hành.

Thông Tin Liên Hệ Đội Ngũ VPSTTT

Kết Luận

Khi VPS Ubuntu mất GRUB hoặc mất dữ liệu trong /boot, SystemRescue cho phép bạn kiểm tra ổ đĩa, chroot vào hệ thống, phục hồi kernel và cài lại bootloader mà không cần cài mới hệ điều hành. Yếu tố quan trọng nhất là xác định đúng firmware, bảng phân vùng, phân vùng root và khoảng sector trống trước khi thay đổi GPT.

Nếu cấu trúc VPS không giống ca mẫu hoặc dữ liệu trên máy có giá trị cao, bạn nên tạo snapshot và liên hệ kỹ thuật trước khi thao tác.