grub-install: không tìm thấy lệnh


8

Tôi đã cài đặt Windows 8.1 và Kali Linux trong một phân vùng mở rộng. Vì một số lý do, tôi chỉ định dạng phân vùng nơi Windows được cài đặt và cài đặt lại. Bây giờ nó chỉ khởi động vào Windows và không hiển thị grub.

Tôi đang sử dụng USB trực tiếp và đã cố cài đặt lại grub:

grub-install --boot-directory=/mnt/boot /dev/sda

và nhận được lỗi:

grub-install :command not found

1
hãy thử 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.
Mohammad Etemaddar 5/2/2015

2
Tôi đã nhận được grub-install: command not foundvì trong CentOS 7, lệnh là grub2-install
Arnon Weinberg

Câu trả lời:


4

Để thêm vào câu trả lời do người dùng cung cấp @kirill-avà 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.

  1. 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 suhoặc sudo).

  1. Tạo một điểm gắn kết tạm thời cho Linux đã cài đặt:

    mkdir -p /mnt/linux
    

    ( -ptùy chọn tạo thư mục mẹ /mntnếu nó chưa tồn tại)

  2. Sử dụng /dev/xxyNtừ lsblklệnh trước :

    mount /dev/xxyN /mnt/linux
    
  3. Lệnh sau chỉ cần thiết nếu bạn có một /bootphân vùng riêng ; /dev/xxyNđây là đại diện cho bộ mô tả tên kernel của /bootphân vùng của bạn .

    mount /dev/xxyN /mnt/linux/boot
    
  4. 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)

  5. 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/grubtệp và lưu.

    grub-mkconfig -o /boot/grub/grub.cfg
    
  6. 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.


2

Bạn cần đến chroothệ thống đã cài đặt của mình và cài đặt lại grub từ đó:

mount /dev/sda(number of partition with kali) /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt bash
grub-install --boot-directory=/mnt/boot /dev/sda
update-grub
exit
reboot 

update-grub Tạo grub.cfg ... cat: /boot/grub/video.lst: Không có tệp hoặc thư mục như vậy Không tìm thấy nhóm khối lượng nào Tìm thấy Windows 8 (trình tải) trên / dev / sda1
sonubreeze 5/215

nó không hoạt động .
sonubreeze

thử cài đặt lại grub hoặc chạy lệnh sau echo vbe | sudo tee /boot/grub/video.lstvà cập nhật lại.
kirill-a 5/2/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.