GRUB i LILO nie instalują się na dysku twardym NVMe podczas instalacji Debiana


10

Próbuję zainstalować 64-bitową stabilną wersję Debiana na Lenovo Thinkpad. Gdy przejdę do kroku instalacji, który instaluje program ładujący, pojawia się następujący komunikat:

Krok instalacji nie powiódł się. Możesz spróbować ponownie uruchomić zepsuty element z menu lub pominąć go i wybrać coś innego. Niepowodzenie to: Zainstaluj moduł ładujący GRUB na dysku twardym

Powrót do menu i wybranie LILO powoduje ten sam błąd. Dziennik instalacji mówi

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.

Nie używam LVM ani RAID. Do tej pory próbowałem

  1. Wyłączanie rozruchu UEFI i używanie zamiast tego starszego rozruchu. Błąd nadal występuje w przypadku GRUB i LILO.

  2. Postępuj zgodnie z instrukcjami w tym pytaniu i uruchom

    parted /dev/nvme01
    set 1 bios_grub on
    

    z TTY2, ale pojawia się komunikat o błędzie parted not found. W moim systemie /dev/nvme01jest jedyny dysk twardy

  3. Sprawdź błędy sprzętowe. Kiedy pierwszy raz kupiłem system, przeprowadziłem wszystkie dostępne testy sprzętowe, zarówno z poziomu BIOS-u, jak i systemu Windows, i przeszedłem wszystkie z nich. Zakładam, że to oznacza, że ​​sprzęt nie działa nieprawidłowo.

  4. W przypadku tego wątku, który miał podobny błąd, chociaż w przypadku LVM, próbowałem powtórzyć partycjonowanie z małą /bootpartycją na początku, sformatowaną za pomocą ext2. Ten sam błąd.

  5. Przełączając się na TTY4, aby spojrzeć na dane wyjściowe instalacji, również widzę błąd

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

    Wyszukiwanie informacji na ten temat ujawnia ten wątek i ten raport o błędach związany z GRUB-em, ale a) są stare ib) kilkakrotnie przeszedłem instalację do tego momentu i za każdym razem otrzymuję błąd , więc to nie wydaje się jednorazowe.

  6. Użyłem Gparted do sprawdzenia, czy dysk twardy jest całkowicie pusty.

  7. Bezpieczne uruchamianie jest wyłączone w systemie BIOS.

  8. Uruchomiłem instalację przy użyciu pełnej płyty DVD i płyty CD z instalacją sieciową; oba są ładowane z USB, ale problem nadal występuje.

W poprzednim kroku instalacji udało mi się utworzyć msdostablicę partycji i trzy partycje (dla /, /homei swap) na dysku, więc nie wiem, dlaczego GRUB nagle nie może zapisać na dysku.

Jak to naprawić i zainstalować Debiana? Na chwilę obecną (zupełnie nowy!) System jest całkowicie bezużyteczny, ponieważ nie mogę uzyskać na nim systemu operacyjnego.


Czy częścią problemu może być to, że Debian / parted nieprawidłowo rozpoznaje dysk? Mówi, że dysk ma 512,1 GB, co jest prawdą w tym sensie, że specyfikacja mówi 512 GB i to jest reklamowane, i pozwoli mi przydzielić wszystkie 512 GB na różne partycje. Jednak jeśli załaduję go do Gparted, rzeczywiste miejsce na dysku jest bliższe 476 GB, ale założyłem, że to zwykłe 1024 vs 1000 rzeczy.

(Opublikowałem również wersję tego pytania na forach Debiana , więc zaktualizuję moje pytanie o wszystko, co ważne z tego wątku i odwrotnie.)


Czy próbowałeś zainstalować GRUB na dysku zewnętrznym, np. Dysku flash?
McSinyx

Widzę, że używasz msdostabeli partycji. Czy GPT działa?
forquare

@forquare Nie, GPT też nie działa.
Michael A

@McSinyx Mogę zainstalować GRUB na dysku zewnętrznym, o ile dysk zewnętrzny jest rozpoznawany jako / dev / sdX, a nie / dev / nvmeXXX lub / dev / <inna dziwna kombinacja>. Wolę nie używać dysku USB tylko do uruchamiania komputera, ale wygląda na to, że w tym momencie jest to moja jedyna opcja.
Michael A

Odpowiedzi:


13

Oto, co zadziałało dla mnie, używając Debiana jessie (stabilnego). Zasadniczo wziąłem instrukcje z tego postu wiki i usunąłem wszystkie kroki związane z podwójnym uruchomieniem systemu Windows, ponieważ nie dotyczyły one mojego przypadku.

  1. W systemie BIOS ustaw rozruch „Tylko UEFI”.

  2. Korzystając z Gparted, utwórz partycję FAT32 na początku dysku z flagami booti esp. (Instalator Debiana powinien być w stanie to zrobić, ale ponieważ instalator nieprawidłowo rozpoznał rozmiar dysku, wolę użyć Gparted). W moim przypadku partycją FAT32 jest / dev / nvme0n1p1.

  3. Podczas instalacji upewnij się, że masz skonfigurowane połączenie sieciowe (ręcznie lub automatycznie, to nie ma znaczenia). W przeciwnym razie następny krok się nie powiedzie.

  4. Na etapie instalacji, gdy GRUB nie instaluje się, otwórz powłokę i uruchom następujące polecenia:

    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
    

    Wyjdź z powłoki i wybierz „Kontynuuj bez instalowania programu ładującego”. Zobaczysz komunikat ostrzegawczy, który daje ci polecenia uruchamiania; możesz to zignorować.

  5. Po zakończeniu instalacji uruchom system. Dodaj „nvme” do / etc / initramfs-tools / modułów, a następnie uruchom update-initramfs -ujako root.

  6. Edytuj / etc / default / grub i dodaj ten wiersz

    GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
    

    i dodaj „nomodeset” do GRUB_CMDLINE_LINUX_DEFAULT, aby wyglądało to tak:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
    
  7. Uruchom update-grub.

Kilka ostatnich poleceń (initramfs i nowsze) są niezbędne, aby zapobiec błędom nie znalezienia dysku przy drugiej próbie rozruchu w nowym systemie.


2
Dziękuję za to! Działa dobrze nawet bez użycia Gparted!
Victor Schröder

Kiedy grub-install --target=x86_64-efi /dev/nvme0n1dostałem błąd:failed to register the EFI boot entry: No such file or directory
Rahn

@Rahn Czy /dev/nvme0n1w twoim systemie jest coś takiego ? Nie nazywa się to czymś innym /dev/nvme0n2? Powinieneś zadać nowe pytanie, ale sudo fdisk -lto jest miejsce, aby zacząć.
Michael A,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.