GRUB e LILO non si installano entrambi sul disco fisso di NVMe durante l'installazione di Debian


10

Sto cercando di installare Debian a 64 bit stabile su un Thinkpad Lenovo. Quando arrivo al passaggio di installazione che installa il bootloader, ricevo questo messaggio:

Una fase di installazione non è riuscita. Puoi provare a eseguire nuovamente l'elemento in errore dal menu, oppure saltarlo e scegliere qualcos'altro. Il passo fallito è: installare il boot loader GRUB su un disco rigido

Tornare al menu e selezionare LILO mi dà lo stesso errore. Dice il registro di installazione

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.

Non sto usando LVM o RAID. Finora ci ho provato

  1. Disabilitare l'avvio UEFI e utilizzare invece l'avvio legacy. L'errore si verifica ancora, sia con GRUB che con LILO.

  2. Seguendo le istruzioni su questa domanda e in esecuzione

    parted /dev/nvme01
    set 1 bios_grub on
    

    da TTY2, ma viene visualizzato un errore che dice parted not found. Sul mio sistema /dev/nvme01è l'unico disco rigido

  3. Controlla errori hardware. Quando ho acquistato il sistema per la prima volta ho eseguito tutti i test hardware disponibili, sia all'interno del BIOS che all'interno di Windows, e li ha superati tutti. Suppongo che ciò significhi che l'hardware non funziona male.

  4. Per questo thread che ha avuto un errore simile, anche se con LVM, ho provato a ripetere il partizionamento con una piccola /bootpartizione all'inizio, formattata con ext2. Stesso errore

  5. Passando a TTY4 per vedere l'output dell'installazione, vedo anche l'errore

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

    La ricerca di informazioni su ciò fa emergere questo thread e questa segnalazione di bug relativi a GRUB, ma a) quelli sono vecchi eb) Ho eseguito l'installazione fino a questo punto più di una dozzina di volte e ottengo l'errore ogni volta , quindi non sembra una cosa una tantum.

  6. Ho usato Gparted per verificare che il disco rigido sia completamente vuoto.

  7. L'avvio protetto è disabilitato nel BIOS.

  8. Ho eseguito l'installazione usando il DVD completo e il CD di netinstall; entrambi vengono avviati da USB, ma il problema persiste.

Sono stato in grado di creare correttamente una msdostabella delle partizioni e tre partizioni (per /, /homee swap) sull'unità nel passaggio di installazione precedente, quindi non so perché GRUB improvvisamente non sia in grado di scrivere sull'unità.

Come posso risolvere questo problema e installare Debian? A partire da ora, il sistema (nuovo di zecca!) È completamente inutilizzabile perché non riesco a ottenere un sistema operativo su di esso.


Parte del problema potrebbe essere che Debian / parted riconosce il disco in modo errato? Dice che il disco è 512,1 GB, il che è vero nel senso che le specifiche dicono 512 GB ed è quello che è pubblicizzato, e mi permetterà di allocare tutti i 512 GB a varie partizioni. Tuttavia, se lo carico in Gparted, lo spazio su disco effettivo è più vicino a 476 GB, ma ho pensato che fosse solo la solita roba da 1024 a 1000.

(Ho anche pubblicato una versione di questa domanda sui forum Debian , quindi aggiornerò la mia domanda con qualcosa di importante da quella discussione e viceversa.)


Hai provato a installare GRUB su un'unità esterna, ad esempio un'unità flash?
McSinyx,

Vedo che stai usando una msdostabella delle partizioni. GPT funziona?
forquare,

@forquare No, neanche GPT funziona.
Michael A

@McSinyx Posso installare GRUB su un'unità esterna, purché l'unità esterna sia riconosciuta come / dev / sdX e non / dev / nvmeXXX o / dev / <qualche altra strana combinazione>. La mia preferenza non è quella di utilizzare un'unità USB solo per avviare il mio computer, ma sembra sempre più che questa sia l'unica opzione a questo punto.
Michael A

Risposte:


13

Ecco cosa ha funzionato per me, usando Debian jessie (stable). Praticamente ho preso le istruzioni da questo post wiki e ho eliminato tutti i passaggi relativi al dual-boot con Windows, dal momento che quelli non si applicavano al mio caso.

  1. Nel BIOS, impostare l'avvio "Solo UEFI".

  2. Usando Gparted, crea una partizione FAT32 all'inizio del disco con i flag boote esp. (Anche il programma di installazione Debian dovrebbe essere in grado di farlo, ma poiché il programma di installazione ha riconosciuto erroneamente la dimensione del disco, preferisco usare Gparted). Nel mio caso, la partizione FAT32 è / dev / nvme0n1p1.

  3. Durante l'installazione, assicurati di avere una connessione di rete configurata (manualmente o automaticamente, non importa). Altrimenti, il prossimo passo fallirà.

  4. Nella fase di installazione in cui GRUB non riesce a installare, apri una shell ed esegui i seguenti comandi:

    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
    

    Esci dalla shell e seleziona "Continua senza installare un bootloader". Vedrai un messaggio di avviso che ti dà i comandi di avvio da usare; puoi ignorarlo.

  5. Al termine dell'installazione, avviare il sistema. Aggiungi "nvme" a / etc / initramfs-tools / modules, quindi esegui update-initramfs -ucome root.

  6. Modifica / etc / default / grub e aggiungi questa riga

    GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
    

    e aggiungi "nomodeset" al GRUB_CMDLINE_LINUX_DEFAULT in questo modo:

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

Gli ultimi comandi (da initramfs in poi) sono necessari per impedire errori non trovati sul disco al secondo tentativo di avvio nel nuovo sistema.


2
Grazie per questo! Funzionava bene anche senza usare Gparted!
Victor Schröder,

Quando ho grub-install --target=x86_64-efi /dev/nvme0n1ricevuto un errore:failed to register the EFI boot entry: No such file or directory
Rahn,

@Rahn C'è davvero un /dev/nvme0n1nel tuo sistema? Non si chiama qualcos'altro come /dev/nvme0n2? Dovresti fare una nuova domanda, ma sudo fdisk -lè il punto di partenza.
Michael A
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.