GRUB y LILO no pueden instalarse en el disco duro NVMe al instalar Debian

10

Estoy tratando de instalar Debian estable de 64 bits en un Lenovo Thinkpad. Cuando llego al paso de instalación que instala el gestor de arranque, recibo este mensaje:

Un paso de instalación falló. Puede intentar volver a ejecutar el elemento que falla desde el menú, o saltearlo y elegir otra cosa. El paso fallido es: instalar el cargador de arranque GRUB en un disco duro

Volver al menú y seleccionar LILO me da el mismo error. El registro de instalación dice

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.

No estoy usando LVM o RAID. Hasta ahora lo he intentado

  1. Deshabilitar el arranque UEFI y usar el arranque heredado en su lugar. El error aún ocurre, tanto con GRUB como con LILO.

  2. Seguir las instrucciones sobre esta pregunta y ejecutar

    parted /dev/nvme01
    set 1 bios_grub on
    

    de TTY2, pero recibo un error que dice parted not found. En mi sistema /dev/nvme01es el único disco duro

  3. Verifique si hay errores de hardware. Cuando compré el sistema por primera vez, ejecuté todas las pruebas de hardware disponibles, tanto desde el BIOS como desde Windows, y las aprobó todas. Supongo que eso significa que el hardware no está funcionando mal.

  4. Por este hilo que tenía un error similar, aunque con LVM, intenté rehacer la partición con una pequeña /bootpartición al principio, formateada con ext2. Mismo error.

  5. Cambiando a TTY4 para ver la salida de instalación, también veo el error

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

    Al buscar información sobre eso aparece este hilo y este informe de error relacionado con GRUB, pero a) esos son viejos, yb) he ejecutado la instalación hasta ahora más de una docena de veces y recibo el error cada vez , por lo que no parece una cosa única.

  6. He usado Gparted para verificar que el disco duro esté completamente vacío.

  7. El arranque seguro está deshabilitado en el BIOS.

  8. Ejecuté la instalación usando el DVD completo y el CD netinstall; ambos se inician desde USB, pero el problema persiste.

Pude crear con éxito una msdostabla de particiones y tres particiones (para /, /homey swap) en la unidad en el paso de instalación anterior, por lo que no sé por qué GRUB de repente no puede escribir en la unidad.

¿Cómo soluciono esto e instalo Debian? A partir de ahora, el sistema (¡nuevo!) Está completamente inutilizable porque no puedo obtener un sistema operativo.


¿Podría parte del problema ser que Debian / parted reconoce el disco incorrectamente? Dice que el disco tiene 512.1 GB, lo cual es cierto en el sentido de que las especificaciones dicen 512 GB y eso es lo que se anuncia, y me permitirá asignar los 512 GB a varias particiones. Sin embargo, si lo cargo en Gparted, el espacio en disco real está más cerca de 476 GB, pero asumí que eso es solo lo habitual de 1024 vs 1000.

(También publiqué una versión de esta pregunta en los foros de Debian , así que actualizaré mi pregunta con cualquier cosa importante de ese hilo y viceversa).

Michael A
fuente
¿Has intentado instalar GRUB en una unidad externa, por ejemplo, una unidad flash?
McSinyx
Veo que estás usando una msdostabla de particiones. ¿GPT funciona?
forquare
@forquare No, GPT tampoco funciona.
Michael A
@McSinyx Puedo instalar GRUB en una unidad externa, siempre que la unidad externa sea reconocida como / dev / sdX y no / dev / nvmeXXX o / dev / <alguna otra combinación extraña>. Mi preferencia no es tener que usar una unidad USB solo para iniciar mi máquina, pero parece que esa es mi única opción en este momento.
Michael A

Respuestas:

13

Esto es lo que funcionó para mí, usando Debian jessie (estable). Básicamente, tomé las instrucciones de esta publicación wiki y eliminé todos los pasos sobre el arranque dual con Windows, ya que no se aplicaban a mi caso.

  1. En el BIOS, configure el arranque "UEFI only".

  2. Usando Gparted, cree una partición FAT32 al comienzo del disco con las banderas booty esp. (El instalador de Debian también debería poder hacer esto, pero dado que el instalador reconoció incorrectamente el tamaño del disco, prefiero usar Gparted). En mi caso, la partición FAT32 es / dev / nvme0n1p1.

  3. Durante la instalación, asegúrese de tener una conexión de red configurada (manual o automáticamente, no importa). De lo contrario, el siguiente paso fallará.

  4. En la etapa de instalación donde GRUB no se instala, abra un shell y ejecute los siguientes comandos:

    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
    

    Salga del shell y seleccione "Continuar sin instalar un gestor de arranque". Verá un mensaje de advertencia que le da los comandos de arranque para usar; Puedes ignorar esto.

  5. Una vez que se complete la instalación, inicie en el sistema. Agregue "nvme" a / etc / initramfs-tools / modules, luego ejecútelo update-initramfs -ucomo root.

  6. Edite / etc / default / grub y agregue esta línea

    GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
    

    y agregue "nomodeset" a GRUB_CMDLINE_LINUX_DEFAULT para que se vea así:

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

Los últimos comandos (initramfs en adelante) son necesarios para evitar errores de disco no encontrado la segunda vez que intenta iniciar el sistema nuevo.

Michael A
fuente
2
¡Gracias por esto! ¡Funcionó bien incluso sin usar Gparted!
Victor Schröder
Cuando grub-install --target=x86_64-efi /dev/nvme0n1recibí un error:failed to register the EFI boot entry: No such file or directory
Rahn
@ Rahn ¿Hay realmente un /dev/nvme0n1en su sistema? ¿No se llama algo así /dev/nvme0n2? Debe hacer una nueva pregunta, pero sudo fdisk -les el lugar para comenzar.
Michael A