Khởi động một bản phân phối trực tiếp. Đây có thể là đĩa cài đặt Ubuntu của bạn hoặc một đĩa khác như Knoppix .
Tìm ổ đĩa / phân vùng nơi bạn đã cài đặt hệ thống tập tin gốc của bạn. Để làm điều này, bạn có thể mở một thiết bị đầu cuối và chạy sudo parted -l
hoặc sudo fdisk -l
. Nếu bạn không thể nói, sau đó chỉnh sửa câu hỏi của bạn và thêm đầu ra.
Giả sử rằng phân vùng gốc mà bạn tìm thấy từ bước cuối cùng là /dev/sdxy
( x
nên là một chữ cái khác và y
phải là một số), sau đó chạy các lệnh sau trong một thiết bị đầu cuối:
mkdir mnt
sudo mount /dev/sdxy mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot mnt
Bây giờ bạn sẽ ở trong một chroot
môi trường có nghĩa là chạy các lệnh ở đây tương đương với việc chạy chúng trên hệ thống đã cài đặt của bạn. Điều đầu tiên bạn muốn làm là cài đặt lại GRUB2 vào thiết bị để nó sao chép các tệp chính xác vào /boot
thư mục. Để thực hiện việc này, hãy chạy như sau với ổ đĩa mà phân vùng gốc của bạn đang bật (tức là đã xóa /dev/sdxy
số ( y
)):
grub-install /dev/sdx
Bây giờ bạn muốn tìm hiểu những gói bạn đã cài đặt có tệp trong thư mục khởi động và cài đặt lại chúng. Điều này sẽ thay thế các hình ảnh hạt nhân đã bị xóa trong số những thứ khác. Lệnh để tìm các gói là:
dpkg -S /boot
Và để cài đặt lại chúng:
apt-get --reinstall install ...
Trường hợp ...
được thay thế bằng tên của các gói từ lệnh đầu tiên. Không bao gồm dấu phẩy, chỉ có tên gói có dấu cách để phân tách.
Bước này có thể sẽ yêu cầu truy cập internet (trừ khi các gói đã có trong bộ đệm), vì vậy hãy đảm bảo bạn đã kết nối nếu có vấn đề.
Vì bạn sẽ xóa các hạt nhân của mình và cài đặt lại chúng, điều này sẽ tự động kích hoạt bản cập nhật GRUB2. Nhưng chỉ trong trường hợp họ không có, bạn có thể chạy:
update-grub
Khởi động lại và mọi thứ nên được sửa chữa. Một vấn đề mà lần trước tôi đã làm một điều tương tự là Windows cài đặt không tìm thấy update-grub
khi chạy chroot
do lỗi os-prober
. Nếu đây là một vấn đề, chỉ cần chạy sudo update-grub
lại trong hệ thống được sửa chữa.