Cả GRUB và LILO đều không cài đặt được vào đĩa cứng NVMe khi cài đặt Debian


10

Tôi đang cố gắng cài đặt Debian 64-bit ổn định trên Lenovo Thinkpad. Khi tôi đến bước cài đặt cài đặt bộ tải khởi động, tôi nhận được thông báo này:

Một bước cài đặt thất bại. Bạn có thể thử chạy lại mục bị lỗi từ menu, hoặc bỏ qua nó và chọn một mục khác. Bước không thành công là: Cài đặt bộ tải khởi động GRUB trên đĩa cứng

Quay trở lại menu và chọn LILO cho tôi cùng một lỗi. Nhật ký cài đặt cho biết

May  1 13:24:23 main-menu[188]: WARNING **: Configuring 'grub-installer' failed with error code 1
May  1 13:24:23 main-menu[188]: WARNING **: Menu item 'grub-installer' failed.
May  1 13:24:28 main-menu[188]: INFO: Menu item 'lilo-installer' selected
May  1 13:24:28 main-menu[188]: WARNING **: Unable to set title for fdisk-udeb.
May  1 13:24:28 main-menu[188]: WARNING **: Configuring 'lilo-installer' failed with error code 1
May  1 13:24:28 main-menu[188]: WARNING **: Menu item 'lilo-installer' failed.

Tôi không sử dụng LVM hoặc RAID. Cho đến nay, tôi đã thử

  1. Thay vào đó, vô hiệu hóa UEFI boot và sử dụng boot legacy. Lỗi vẫn xảy ra, với cả GRUB và LILO.

  2. Làm theo hướng dẫn về câu hỏi này và chạy

    parted /dev/nvme01
    set 1 bios_grub on
    

    từ TTY2, nhưng tôi nhận được một lỗi nói parted not found. Trên hệ thống của tôi /dev/nvme01là đĩa cứng duy nhất

  3. Kiểm tra lỗi phần cứng. Khi tôi mua hệ thống lần đầu tiên, tôi đã chạy tất cả các bài kiểm tra phần cứng có sẵn, cả từ bên trong BIOS và từ bên trong Windows, và nó đã vượt qua tất cả chúng. Tôi cho rằng điều đó có nghĩa là phần cứng không bị trục trặc.

  4. Mỗi luồng này có một lỗi tương tự, mặc dù với LVM, tôi đã thử làm lại phân vùng với một /bootphân vùng nhỏ ở đầu, được định dạng ext2. Cùng một lỗi.

  5. Chuyển sang TTY4 để xem đầu ra cài đặt, tôi cũng thấy lỗi

    chroot: can't execute 'grub-probe': No such file or directory
    

    Tìm kiếm thông tin về chủ đề nàybáo cáo lỗi này liên quan đến GRUB, nhưng a) chúng đã cũ và b) Tôi đã chạy qua cài đặt cho đến thời điểm này hơn chục lần và tôi gặp lỗi mỗi lần , vì vậy nó dường như không phải là một thứ.

  6. Tôi đã sử dụng Gparted để kiểm tra xem đĩa cứng có trống hoàn toàn không.

  7. Khởi động an toàn bị vô hiệu hóa trong BIOS.

  8. Tôi đã chạy cài đặt bằng DVD đầy đủ và CD cài đặt mạng; cả hai đều được khởi động từ USB, nhưng vấn đề vẫn tồn tại.

Tôi đã có thể tạo thành công một msdosbảng phân vùng và ba phân vùng (cho /, /homeswap) trên ổ đĩa trong bước cài đặt trước đó, vì vậy tôi không biết tại sao GRUB đột nhiên không thể ghi vào ổ đĩa.

Làm cách nào để khắc phục điều này và cài đặt Debian? Đến bây giờ, hệ thống (hoàn toàn mới!) Hoàn toàn không sử dụng được vì tôi không thể có được hệ điều hành trên nó.


Có thể một phần của vấn đề là Debian / parted nhận ra đĩa không chính xác? Nó nói rằng đĩa là 512,1 GB, điều này đúng theo nghĩa thông số kỹ thuật nói 512 GB và đó là những gì được quảng cáo, và nó sẽ cho phép tôi phân bổ tất cả 512 GB cho các phân vùng khác nhau. Tuy nhiên, nếu tôi tải nó trong Gparted, dung lượng ổ đĩa thực tế gần hơn với 476 GB, nhưng tôi cho rằng đó chỉ là 1024 so với 1000 thứ thông thường.

(Tôi cũng đã đăng một phiên bản của câu hỏi này trên các diễn đàn Debian , vì vậy tôi sẽ cập nhật câu hỏi của mình với bất kỳ điều gì quan trọng từ chủ đề đó và ngược lại.)


Bạn đã thử cài đặt GRUB trên ổ đĩa ngoài, ví dụ ổ đĩa flash chưa?
McSinyx

Tôi thấy bạn đang sử dụng một msdosbảng phân vùng. GPT có hoạt động không?
forapes

@forapes Không, GPT cũng không hoạt động.
Michael A

@McSinyx Tôi có thể cài đặt GRUB trên ổ đĩa ngoài, miễn là ổ đĩa ngoài được nhận dạng là / dev / sdX chứ không phải / dev / nvmeXXX hoặc / dev / <một số kết hợp lạ khác>. Sở thích của tôi là không phải sử dụng ổ USB chỉ để khởi động máy, nhưng có vẻ như đó là lựa chọn duy nhất của tôi vào thời điểm này.
Michael A

Câu trả lời:


13

Đây là những gì làm việc cho tôi, sử dụng Debian jessie (ổn định). Về cơ bản, tôi đã lấy các hướng dẫn từ bài đăng wiki này và loại bỏ tất cả các bước về khởi động kép với Windows, vì những điều đó không áp dụng cho trường hợp của tôi.

  1. Trong BIOS, đặt khởi động "chỉ UEFI".

  2. Sử dụng Gparted, tạo phân vùng FAT32 ở đầu đĩa với các cờ bootesp. (Trình cài đặt Debian cũng có thể làm điều này, nhưng vì trình cài đặt nhận dạng không chính xác kích thước của đĩa, tôi thích sử dụng Gparted hơn). Trong trường hợp của tôi, phân vùng FAT32 là / dev / nvme0n1p1.

  3. Trong quá trình cài đặt, đảm bảo bạn có kết nối mạng được cấu hình (thủ công hoặc tự động, không thành vấn đề). Nếu không, bước tiếp theo sẽ thất bại.

  4. Ở giai đoạn cài đặt nơi GRUB không cài đặt được, hãy mở shell và chạy các lệnh sau:

    mount --bind /dev /target/dev
    mount --bind /dev/pts /target/dev/pts
    mount --bind /proc /target/proc
    mount --bind /sys /target/sys
    cp /etc/resolv.conf /target/etc
    chroot /target /bin/bash
    
    aptitude update
    aptitude install grub-efi-amd64
    update-grub
    grub-install --target=x86_64-efi /dev/nvme0n1
    

    Thoát khỏi shell và chọn "Tiếp tục mà không cần cài đặt bộ tải khởi động." Bạn sẽ thấy một thông báo cảnh báo cung cấp cho bạn các lệnh khởi động để sử dụng; bạn có thể bỏ qua điều này.

  5. Sau khi cài đặt hoàn tất, khởi động vào hệ thống. Thêm "nvme" vào / etc / initramfs-tools / module, sau đó chạy update-initramfs -uvới quyền root.

  6. Chỉnh sửa / etc / default / grub và thêm dòng này

    GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
    

    và thêm "nomodeset" vào GRUB_CMDLINE_LINUX_DEFAULT để nó trông như thế này:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
    
  7. Chạy đi update-grub.

Một số lệnh cuối cùng (initramfs trở đi) là cần thiết để ngăn chặn lỗi không tìm thấy đĩa trong lần thứ hai bạn cố gắng khởi động vào hệ thống mới.


2
Cảm ơn bạn vì điều này! Nó hoạt động tốt ngay cả khi không sử dụng Gparted!
Victor Schröder

Khi tôi grub-install --target=x86_64-efi /dev/nvme0n1, tôi gặp lỗi:failed to register the EFI boot entry: No such file or directory
Rahn

@Rahn Có thực sự có một /dev/nvme0n1hệ thống của bạn? Nó không được gọi là cái gì khác như thế /dev/nvme0n2nào? Bạn nên hỏi một câu hỏi mới, nhưng sudo fdisk -llà nơi để bắt đầu.
Michael A
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.