GRUB et LILO ne parviennent pas à installer sur le disque dur NVMe lors de l'installation de Debian

10

J'essaie d'installer Debian stable 64 bits sur un Thinkpad Lenovo. Lorsque j'arrive à l'étape d'installation qui installe le chargeur de démarrage, je reçois ce message:

Une étape d'installation a échoué. Vous pouvez essayer d'exécuter à nouveau l'élément défaillant dans le menu, ou l'ignorer et choisir autre chose. L'étape qui échoue est: installer le chargeur de démarrage GRUB sur un disque dur

Revenir au menu et sélectionner LILO me donne la même erreur. Le journal d'installation indique

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.

Je n'utilise pas LVM ou RAID. Jusqu'à présent, j'ai essayé

  1. Désactiver le démarrage UEFI et utiliser le démarrage hérité à la place. L'erreur se produit toujours, avec GRUB et LILO.

  2. En suivant les instructions sur cette question et en exécutant

    parted /dev/nvme01
    set 1 bios_grub on
    

    de TTY2, mais je reçois une erreur qui dit parted not found. Sur mon système /dev/nvme01est le seul disque dur

  3. Vérifiez les erreurs matérielles. Lorsque j'ai acheté le système pour la première fois, j'ai exécuté tous les tests matériels disponibles, à la fois dans le BIOS et dans Windows, et il a réussi tous. Je suppose que cela signifie que le matériel ne fonctionne pas mal.

  4. Par ce fil qui avait une erreur similaire, bien qu'avec LVM, j'ai essayé de refaire le partitionnement avec une petite /bootpartition au début, formatée avec ext2. Même erreur.

  5. Passer à TTY4 pour regarder la sortie de l'installation, je vois aussi l'erreur

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

    La recherche d'informations à ce sujet fait apparaître ce fil et ce rapport de bogue lié à GRUB, mais a) ceux-ci sont anciens et b) j'ai parcouru l'installation jusqu'à ce point plus d'une douzaine de fois maintenant et j'obtiens l'erreur à chaque fois , donc cela ne semble pas être une chose unique.

  6. J'ai utilisé Gparted pour vérifier que le disque dur est complètement vide.

  7. Le démarrage sécurisé est désactivé dans le BIOS.

  8. J'ai exécuté l'installation en utilisant le DVD complet et le CD netinstall; les deux sont démarrés à partir de l'USB, mais le problème persiste.

J'ai réussi à créer une msdostable de partition et trois partitions (pour /, /homeet swap) sur le lecteur à l'étape d'installation précédente, donc je ne sais pas pourquoi GRUB ne peut soudainement pas écrire sur le lecteur.

Comment résoudre ce problème et installer Debian? Pour l'instant, le (tout nouveau!) Système est complètement inutilisable car je ne peux pas y installer de système d'exploitation.


Une partie du problème pourrait-elle être due au fait que Debian / parted ne reconnaît pas correctement le disque? Il dit que le disque fait 512,1 Go, ce qui est vrai dans le sens où les spécifications disent 512 Go et c'est ce qui est annoncé, et cela me permettra d'allouer les 512 Go à différentes partitions. Cependant, si je le charge dans Gparted, l'espace disque réel est plus proche de 476 Go, mais j'ai supposé que c'était juste le 1024 vs 1000 habituel.

(J'ai également posté une version de cette question sur les forums Debian , donc je mettrai à jour ma question avec quelque chose d'important de ce fil et vice versa.)

Michael A
la source
Avez-vous essayé d'installer GRUB sur un lecteur externe, par exemple un lecteur flash?
McSinyx
Je vois que vous utilisez une msdostable de partition. Le GPT fonctionne-t-il?
forquare
@forquare Non, GPT ne fonctionne pas non plus.
Michael A
@McSinyx Je peux installer GRUB sur un disque externe, tant que le disque externe est reconnu comme / dev / sdX et non / dev / nvmeXXX ou / dev / <une autre combinaison étrange>. Ma préférence n'est pas d'avoir à utiliser une clé USB juste pour démarrer ma machine, mais il semble de plus en plus que c'est ma seule option à ce stade.
Michael A

Réponses:

13

Voici ce qui a fonctionné pour moi, en utilisant Debian Jessie (stable). J'ai essentiellement pris les instructions de ce post wiki et supprimé toutes les étapes concernant le double démarrage avec Windows, car celles-ci ne s'appliquaient pas à mon cas.

  1. Dans le BIOS, définissez le démarrage "UEFI uniquement".

  2. À l'aide de Gparted, créez une partition FAT32 au début du disque avec les indicateurs bootet esp. (L'installateur Debian devrait également pouvoir le faire, mais comme l'installateur a mal reconnu la taille du disque, je préfère utiliser Gparted). Dans mon cas, la partition FAT32 est / dev / nvme0n1p1.

  3. Pendant l'installation, assurez-vous qu'une connexion réseau est configurée (manuellement ou automatiquement, peu importe). Sinon, l'étape suivante échouera.

  4. À l'étape d'installation où GRUB ne parvient pas à installer, ouvrez un shell et exécutez les commandes suivantes:

    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
    

    Quittez le shell et sélectionnez «Continuer sans installer de chargeur de démarrage». Vous verrez un message d'avertissement qui vous donne des commandes de démarrage à utiliser; vous pouvez ignorer cela.

  5. Une fois l'installation terminée, démarrez le système. Ajoutez "nvme" à / etc / initramfs-tools / modules, puis exécutez-le en update-initramfs -utant que root.

  6. Modifiez / etc / default / grub et ajoutez cette ligne

    GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
    

    et ajoutez "nomodeset" au GRUB_CMDLINE_LINUX_DEFAULT pour qu'il ressemble à ceci:

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

Les dernières commandes (à partir d'initramfs) sont nécessaires pour éviter les erreurs de disque introuvable la deuxième fois que vous essayez de démarrer sur le nouveau système.

Michael A
la source
2
Merci pour celui-ci! Cela a bien fonctionné même sans utiliser Gparted!
Victor Schröder
Quand j'ai grub-install --target=x86_64-efi /dev/nvme0n1, j'ai eu une erreur:failed to register the EFI boot entry: No such file or directory
Rahn
@Rahn Y a-t-il réellement un /dev/nvme0n1sur votre système? Ça ne s'appelle pas quelque chose d'autre /dev/nvme0n2? Vous devriez poser une nouvelle question, mais sudo fdisk -lc'est le point de départ.
Michael A