Để thêm vào câu trả lời do người dùng cung cấp @kirill-a
và xác nhận thêm một chút:
Đây là những gì tôi đã làm gần đây để khôi phục bộ tải khởi động GRUB trên máy khởi động kép Windows 8 và Debian 8, sau khi cài đặt lại Windows 8 đã xóa mục nhập bộ tải khởi động GRUB trước đó từ đầu đĩa.
REPAIR GRUB2: Phương pháp 'chroot' USB / CD trực tiếp trên linux:
Các hướng dẫn này thường áp dụng cho đĩa không LVM, không được mã hóa trên các bản phát hành dựa trên Debian, các thay đổi nhỏ là cần thiết trong tên thư mục và các tiện ích được sử dụng trong các bản phân phối dựa trên RHEL / SUSE và có thể dựa trên Arch.
Bắt đầu với USB hoặc CD Live có thể khởi động của bản phân phối bạn chọn.
- Sử dụng
lsblk
để xác định bộ mô tả tên hạt nhân (nghĩa là /dev/xxyN
) của thiết bị khối với bộ tải khởi động GRUB bị thiếu hoặc bị hỏng.
Tất cả các hành động sau đây sẽ được thực hiện dưới dạng root (sử dụng su
hoặc sudo
).
Tạo một điểm gắn kết tạm thời cho Linux đã cài đặt:
mkdir -p /mnt/linux
( -p
tùy chọn tạo thư mục mẹ /mnt
nếu nó chưa tồn tại)
Sử dụng /dev/xxyN
từ lsblk
lệnh trước :
mount /dev/xxyN /mnt/linux
Lệnh sau chỉ cần thiết nếu bạn có một /boot
phân vùng riêng ; /dev/xxyN
đây là đại diện cho bộ mô tả tên kernel của /boot
phân vùng của bạn .
mount /dev/xxyN /mnt/linux/boot
Sau đó:
mount -t proc none /mnt/linux/proc
mount -t sysfs sys /mnt/linux/sys
mount -o bind /dev /mnt/linux/dev
mount -t devpts pts /mnt/linux/dev/pts
chroot /mnt/linux /bin/bash
grep -v rootfs /proc/mounts > /etc/mtab
grub-install /dev/xxy
(Ở đây, dev/xxy
= tên và số thiết bị để cài đặt bộ tải khởi động GRUB, ví dụ /dev/sda
, không bao gồm số phân vùng gốc như trong /dev/sda1
)
Nếu bạn muốn thực hiện bất kỳ thay đổi / tùy chỉnh nào khác cho GRUB, bây giờ là thời gian để chỉnh sửa /etc/default/grub
tệp và lưu.
grub-mkconfig -o /boot/grub/grub.cfg
Khởi động lại và xác minh.
Lưu ý: Có một số bước bổ sung cho quy trình này nếu bộ tải khởi động GRUB2 của bạn nằm trên hệ thống linux có gốc LVM LV và / hoặc khối lượng gốc được mã hóa. Vui lòng nhắn tin cho tôi ở đây, tôi có các hướng dẫn bổ sung được viết ra và đã áp dụng chúng thành công nhiều lần cho LVM LV trên một ssd chứa khối lượng gốc được mã hóa với mô-đun dm-crypt kernel.
sudo grub-install --boot-directory=/mnt/boot /dev/sda
grub-install trong/usr/sbin/
phần không phải trong đường dẫn của người dùng thông thường.