
He tenido un problema con la reinstalación deArco Linuxen una máquina con arranque dual con Windows 10.
Por varias razones no relacionadas, decidí hacer una copia de seguridad de todo lo que había en mi antigua instalación de Arch Linux y empezar de nuevo. Tengo el medio en vivo Arch Linux en un USB, así que seguí adelante y arranqué desde allí (enUEFI), formateé mi partición de Linux y revisé la guía de instalación de Arch Linux.
Todo parecía funcionar bien hasta que llegué a la sección "instalar el gestor de arranque". No estaba 100% seguro de qué hacer aquí, ya que la guía para principiantes que usé antes se eliminó en favor de la guía de instalación (mucho, mucho más breve).
Sé que miEFILa partición ya tenía todo el material de GRUB que necesitaba, pero pensé que sería necesario cambiarla para una nueva instalación.
- Eliminé el
/boot/EFI/grub.efi
código auxiliar y le cambié el nombre/boot/grub/
a/boot/grub.bak
. - yo corrí
Ejecuté elpacman -S grub os-prober
grub-install
comando de la guía de instalación de Arch contarget=x86_64-efi
ydirectory=/boot
(mi punto de montaje para mi partición EFI) y luego ejecutégrub-mkconfig -o /boot/grub/grub.cfg
Aquí es donde empezó mi problema. Al ejecutar el grub-mkconfig
comando me dio un failed to connect to lvmetad
error " " y decía que estaba volviendo al modo alternativo. Produjo con éxito un grub.cfg
archivo en el directorio correcto, sin embargo, no había entradas de menú presentes.
Cuando intento arrancar, todo lo que obtengo es una línea de comando de GRUB. Volviendo a mi medio en vivo de Arch Linux y rehaciendo el archivo arch-chroot
, entré /boot/grub.bak
y copié las secciones de entrada del menú para Arch Linux desde allí, asegurándome de reemplazar el UUID anterior con el que se informa actualmente en mifstab
para mi directorio raíz. Esto hizo que el menú de GRUB volviera a aparecer cuando reinicié, pero al seleccionar Arch Linux me dio un error que decía /vmlinux couldn't be found
.
Volví chroot
a los medios en vivo y volví a ejecutar grub-config
. Aún no hay entradas en el menú. encontréesta preguntacon un problema similar que decía que había un problema conocido con el grub-mkconfig
script auxiliar. Esto fue de 2014, por lo que pensé que era poco probable que mi problema fuera el mismo, pero seguí la mejor respuesta allí. La sugerencia fue hacer lo siguiente:
Me encontré con el mismo problema hace un momento y encontré otra solución. Básicamente, se trata de poner el
/run
directorio de hosts a disposición del huésped.Primero, lo montamos
/run
donde el huésped pueda acceder. Asumiré que su partición de instalación está montada en/mnt
.mkdir /mnt/hostrun mount --bind /run /mnt/hostrun
Luego, ingresamos
chroot
al invitado y montamos nuestro anfitrión/run/lvm
en el del invitado/run
.arch-chroot /mnt /bin/bash mkdir /run/lvm mount --bind /hostrun/lvm /run/lvm
Luego podrá ejecutar
grub-mkconfig
ygrub-install
sin errores LVM. Esto también hace que los comandos se comporten si estás instalando con LVM, por si sirve de algo.Cuando termine, recuerde desmontar
/run/lvm
antes de salir del chroot.
Al hacerlo, en realidad eliminé mi fails to connect to lvmetad
error, pero lo reemplacé con un archivo /dev/sdx not initialized in UDEV
. El comando todavía produce grub.cfg
entradas sin menú.
Puedo ingresar a Windows seleccionando el Administrador de arranque de Windows en F12el menú "martillo durante el arranque" de mi computadora portátil.
Respuesta1
El problema aparece solo porque estás arch-chroot
usando os-prober
. Lo que resolvió mi caso fue:
- Copia de seguridad actual
grub.cfg
, si aún no la has hecho. - Eliminar
os-prober
(pacman -R os-prober
,o puedes desactivarlo) - Correr
grub-mkcondig
- Reiniciar en Arch
- Instalar
os-prober
- Corre
grub-mkconfig
de nuevo
Respuesta2
Yo tuve el mismo problema. Esta es una publicación antigua, pero publicaré mi solución alternativa en caso de que ayude a alguien.
Al igual que usted, tenía una copia de seguridad completa, incluido un grub.cfg
archivo de trabajo. Extraje las entradas de menú requeridas del grub.cfg
archivo antiguo y las agregué a /etc/grub.d/40_custom
. Luego volví a correr
grub mkconfig -o /boot/grub/grub.cfg
Todo está bien ahora.
os-prober
Es un artículo de conveniencia de baja prioridad y no es realmente esencial. Personalmente, no dedicaría mucho tiempo a intentar que funcione. Es una elección personal. A algunas personas les encanta intentar solucionar este tipo de problemas y les agradezco sus esfuerzos, pero otras necesitan que sus sistemas funcionen de verdad, tienen limitaciones de tiempo y necesitan ponerse en funcionamiento.
Con el tiempo, este problema se solucionará mediante software o documentación. Si tiene preguntas sobre cómo configurar las entradas del menú en el 40_custom
archivo, encontrará numerosos ejemplos mediante una búsqueda en la web.