• Problemas con el grub. Me carga directamente Windows 10 (portátil HP)


    Re: Problemas con el grub. Me carga directamente Windows 10

    Hola a todos. Quizá alguno me recuerde del año pasado, del anterior tema que enlazo, en el que trataba de solucionar los problemas con el grub, ya que siempre me inicia directamente a Windows 10. Al ser un topic muy antiguo, me recomendaba crear un topic nuevo enlazando con el anterior. Espero haber actuado bien.

    Siguiendo con el tema, el anterior topic se quedó como un poco en el aire. Se me empezaron a juntar cosas y dejé lo del grub olvidado, pero sin solucionar. 
    Ahora tengo más tiempo libre y he vuelto a formatear el portátil, y claro, al intentar hacer el dual boot, pues he seguido con los mismos problemas y como soy muy cabezón, pues llevo toda la puñetera mañana intentando arreglar esto, evidentemente sin resultado jaja
    Así que aquí estoy de nuevo, para pediros ayuda otra vez para a ver si, esta vez, puedo arreglar esto.

    Para empezar, vuelvo a pegar el resultado de fdisk:

    Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: E323B2F1-93D4-4075-BD5B-4DEAAABFF2C6
    
    Device         Start        End    Sectors   Size Type
    /dev/sda1       2048     923647     921600   450M Windows recovery environment
    /dev/sda2     923648    1128447     204800   100M EFI System
    /dev/sda3    1128448    1161215      32768    16M Microsoft reserved
    /dev/sda4    1161216  314591231  313430016 149.5G Microsoft basic data
    /dev/sda5  314591232  412261152   97669921  46.6G Linux filesystem
    /dev/sda6  412261153  423981855   11720703   5.6G Linux filesystem
    /dev/sda7  423981856 1465149134 1041167279 496.5G Linux filesystem
    
    Partition 6 does not start on physical sector boundary.
    
    
    
    
    Disk /dev/sdb: 14.5 GiB, 15518924800 bytes, 30310400 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x7c32349a
    
    Device     Boot Start     End Sectors  Size Id Type
    /dev/sdb1  *        0 3985983 3985984  1.9G  0 Empty
    /dev/sdb2         224  131295  131072   64M ef EFI (FAT-12/16/32)
    
    
    Disk /dev/loop0: 1.8 GiB, 1922932736 bytes, 3755728 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    

    Vale, una vez hecho esto, seguí de nuevo las instrucciones recomendadas por karasu, en el mensaje 7. Por comodidad, voy a postear lo que puso:

    Arranca con el USB con Antergos y abre una terminal:

    • 1 -  Por comodidad, pasa a usuario root con
    sudo su
    
    • 2 - Monta el sistema raiz:
    mount /dev/sda5 /mnt
    
    • 3 - Comprueba que en /mnt/boot no hay nada:
    ls /mnt/boot
    
    • 4 - Monta la partición EFI (este paso fue modificado por karasu más adelante y quedó así):
    mount /dev/sda2 /mnt/boot/efi 
    
    • 5 - Haz el chroot:
    arch-chroot /mnt
    
    • 6 - Genera el menú (comprueba que encuentra Antergos y Windows):
    
    grub-mkconfig -o /boot/grub/grub.cfg
    
    • 7 - Vuelve a instalar el Grub:
    grub-install --efi-directory=/boot/efi /dev/sda
    

    Es muy importante que compruebes bien estas dos últimas instrucciones (y los mensajes que puedan surgir).
    Una vez ejecutadas las dos instrucciones, para salir y reiniciar:

    exit
    cd /
    umount /mnt/boot
    umount /mnt
    reboot
    

    Vale, hasta el punto 6, todo va correcto, sin ningún problema. Al introducir los comandos del punto 6, sucede lo siguiente:

    [[email protected] /]# grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/Antergos-Default/theme.txt
    Found Intel Microcode image
    Found linux image: /boot/vmlinuz-linux
    Found initrd image: /boot/initramfs-linux.img
    Found fallback initramfs image: /boot/initramfs-linux-fallback.img
      WARNING: Failed to connect to lvmetad. Falling back to device scanning.
    grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
    done
    
    

    Todo parece ir bien hasta el WARNING. Ahora hablo sobre esto. 
    Si continuo con los pasos, al ejecutar el paso 7 me muestra lo siguiente:

    [[email protected] /]# grub-install --efi-directory=/boot/efi /dev/sda
    Installing for x86_64-efi platform.
    Installation finished. No error reported.
    
    

    En apariencia todo va bien. 
    En los comandos umount /mnt/boot y umount /mnt, aparece lo siguiente, que no sé si será relevante:

    [[email protected] /]# exit
    exit
    [[email protected] antergos]# cd /
    [[email protected] /]# umount /mnt/boot
    umount: /mnt/boot: not mounted.
    [[email protected] /]# umount /mnt
    umount: /mnt: target is busy.
    
    

    Vale, siguiendo estos pasos que acabo de mostrar, esto no funciona. Posiblemente, pienso, por el WARNING y el error en el paso 6.

    Ahora paso a comentar este caso. En cierto momento, entré en Antergos. En el grub me di cuenta de que Windows no aparecía como opción y recordé haber visto una guía donde mostraba cómo hacerlo aparecer, con los comandos sudo os-prober y el mismo utilizado en el paso 6, grub-mkconfig -o /boot/grub/grub.cfg

    Efectivamente, haciendo eso, Windows ya aparece en el grub y lo que más me llamó la atención, fue el resultado de grub-mkconfig -o /boot/grub/grub.cfg. En este caso, no me apareció ningún WARNING ni ningún error y sí me detectó Windows, cosa que tampoco pasaba cuando seguía estos pasos en el USB Live:

    [[email protected] ~]$ sudo os-prober
    [sudo] password for carlospj: 
    /dev/[email protected]/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
    [[email protected] ~]$ sudo grub-mkconfig -o /boot/grub/grub.cfg
    Generando un fichero de configuración de grub...
    Encontrado tema: /boot/grub/themes/Antergos-Default/theme.txt
    Found Intel Microcode image
    Encontrada imagen de linux: /boot/vmlinuz-linux
    Encontrada imagen de memoria inicial: /boot/initramfs-linux.img
    Found fallback initramfs image: /boot/initramfs-linux-fallback.img
    Encontrado Windows Boot Manager en /dev/[email protected]/EFI/Microsoft/Boot/bootmgfw.efi
    hecho
    

    Esto es lo que me hizo pensar que a lo mejor por aquí estaba el fallo. Intenté con el USB Live a ver si no me salía el Warning y el error. Solo he conseguido que no me salga el Warning y ha sido siguiendo estas instrucciones.
    Siguiendo los pasos que me puso karasu y antes del paso 6 haciendo lo que pone en el enlace, he conseguido que el Warning no aparezca, pero el error sigue apareciendo y sigue sin detectarme Windows.

    ¿Alguna sugerencia?

    Gracias y un saludo.

    EDITO una vez solucionado el problema. En este hilo seguramente se encuentren la mayoría de soluciones posibles al problema del dual boot con Windows. Hay que tener en cuenta que dependiendo del sistema instalado y del modelo del PC o portátil, estas soluciones quizá necesiten una pequeña variación, por lo que este hilo sirve de guía y de ayuda pero tampoco hay que seguirlo ciegamente al pie de la letra.

    Además, he de remarcar que este problema para mi ha sido especialmente difícil de resolver porque tengo un portátil HP y parece ser que las máquinas HP son muy especiales en cuanto al boot, ya que las soluciones a la mayoría de estos problemas con HP no funcionan porque está construido para entrar directamente a Windows.
    Dejó aquí dos artículos (inglés) que explican la problemática y el porqué:
    https://wiki.archlinux.org/index.php/HP_EliteBook_840_G1#UEFI_Setup
    http://fomori.org/blog/?p=892

  • @carlospj
    Hola!

    Cambia/Inverta los pasos 6 y 7, primero instala grub después lo configura…

    Antergos (default OS) - WIN10 (abandoned)
    I3wm - Mate desktop
    AMD - A4 7300 Radeon graphics
    16 GB ram
    HD 1 TB
    Linux newbie since 06/2016

  • @carlospj
    ¡Hola! Parece que también tienes EFI en / dev / sdb. ¿Qué disco es ese, y puede quitarlo?

  • Hola.

    Lo que propone fernandomaroto lo he probado, y sigue pasando lo mismo. No cambia nada si inviertes el orden de esos pasos, parece ser.

    En cuanto al /dev/sdb, no tengo ni la más remota idea de qué disco podrá ser y no creo que pueda quitarlo. Cuando estoy haciendo las particiones yo solo veo sda ¿Alguna forma de saber qué es eso?

    Un saludo.

  • Google translate:

    sdb probablemente es el pendrive con antergos.iso
    pero si está conectando en un puerto usb 3.0 es posible que sda / sdb se alternen aleatoriamente al dar el arranque en el equipo (sucede en mi computadora al conectar el hd externo)
    Por lo tanto, recomiendo que al iniciar antergos .iso repita todos los pasos recondiendo si el disco del equipo permanece sda o se ha cambiado a sdb.
    En el resto de los pasos que usted está haciendo parecen correctos y no percibo nada más mal

    Antergos (default OS) - WIN10 (abandoned)
    I3wm - Mate desktop
    AMD - A4 7300 Radeon graphics
    16 GB ram
    HD 1 TB
    Linux newbie since 06/2016

  • Hola fernando

    No estoy seguro de haber entendido bien lo que quieres decir. Entiendo que sospechas que el sdb se debe al pendrive con la iso de antergos, pero no entiendo la parte de “repita todos los pasos recondiendo si el disco del equipo permanece sda o se ha cambiado a sdb.”

    Un saludo.

  • @carlospj
    utilice el comando sudo blkid para confirmar las particiones (talvez lo que antes aparecía como sda ahora sea sdb)

    Antergos (default OS) - WIN10 (abandoned)
    I3wm - Mate desktop
    AMD - A4 7300 Radeon graphics
    16 GB ram
    HD 1 TB
    Linux newbie since 06/2016

  • Utilizando ese comando en el USB Live de Antergos y antes de hacer ningun otro paso, esto es lo que me muestra:

    [[email protected] ~]$ sudo blkid
    /dev/sda1: LABEL="RecuperaciM-CM-3n" UUID="6C10C51010C4E266" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="562c40e8-dd2b-4d9a-9ac2-7b66cd44de2c"
    /dev/sda2: UUID="46C9-39F0" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="61059fc3-8cf2-427f-b92a-d5770e41a505"
    /dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="863a19cd-2831-455e-af7b-6ed109aa4c1e"
    /dev/sda4: UUID="B406E48D06E451C2" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="ca8bd8f0-8529-47a9-a946-b4dfe54ac8a6"
    /dev/sda5: LABEL="root" UUID="c1375a04-2df6-4314-bf10-3c34f0d2ac09" TYPE="ext4" PARTUUID="1bac3c12-162a-4415-a79f-df15ee50eb20"
    /dev/sda6: LABEL="swap" UUID="17ee481f-2f28-46b8-951a-e7feee592fc0" TYPE="swap" PARTUUID="1070acfd-49b7-4721-88eb-4a61e9fc3949"
    /dev/sda7: LABEL="home" UUID="ed8ee15d-e5c3-4805-8e97-cd38ce65a307" TYPE="ext4" PARTUUID="1eff4ba9-7cb1-4657-a034-9de6527b4403"
    /dev/sdb1: UUID="2017-10-03-13-49-14-00" LABEL="ANTERGOS" TYPE="iso9660" PTUUID="7c32349a" PTTYPE="dos" PARTUUID="7c32349a-01"
    /dev/sdb2: SEC_TYPE="msdos" LABEL="ARCHISO_EFI" UUID="3E84-6CE9" TYPE="vfat" PARTUUID="7c32349a-02"
    /dev/loop0: TYPE="squashfs"
    
    
  • Bueno, pruebe otra cosa:
    Inicie antergos.iso, abra un terminal y escriba sudo cfdisk navegue hasta /dev/sda5 y marque la opción bootable y luego write y quit.
    el asterisco debe aparecer en la opción “boot”0_1507660354129_boot.jpg

    Antergos (default OS) - WIN10 (abandoned)
    I3wm - Mate desktop
    AMD - A4 7300 Radeon graphics
    16 GB ram
    HD 1 TB
    Linux newbie since 06/2016

  • He probado con ese comando pero no me aparece ni la opción Boot ni la etiqueta Bootable. Te dejo imagen:
    0_1507714346399_cfdisk.png

    También he pulsado la tecla “b”, pero no ha hecho nada, se ha quedado igual.

  • @carlospj
    Has leído: https://wiki.archlinux.org/index.php/GRUB
    Pruebe algo similar a:
    grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub
    porque parece que tiene un sistema UEFI. Pero lea cuidadosamente ese artículo.
    (Google translation)

  • @carlospj

    He probado con ese comando pero no me aparece ni la opción Boot ni la etiqueta Bootable. Te dejo

    porque parece que tiene un sistema UEFI

    manuel es correcto, para editar EFI puede usar el gparted haga clic con el botón derecho del ratón en la gestión de los indicadores y marque la opción boot en la partición efi (fat32) y no como yo había dicho antes,  perdón.

    0_1507736870845_boot2.jpg

    Obs: Gracias manuel, voy a dejarle ayudarle de aquí en adelante, todavía tengo mucho que aprender sobre grub.

    Antergos (default OS) - WIN10 (abandoned)
    I3wm - Mate desktop
    AMD - A4 7300 Radeon graphics
    16 GB ram
    HD 1 TB
    Linux newbie since 06/2016

  • @fernandomaroto
    Puedo intentarlo, espero que ayude. Pero debo decir que no soy muy experimentado con los sistemas UEFI, sólo tengo sistemas BIOS actualmente.

  • Hola a los dos.

    He estado leyendo el link de manuel. La verdad es que apenas tengo conocimientos sobre este tema, así que la lectura ha sido un poco densa y apenas he sacado algo en claro.

    He probado con el comando que me pasaste, manuel, y esto es lo que me devuelve:

    [[email protected] /]# grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub
    Installing for x86_64-efi platform.
    grub-install: error: failed to get canonical path of `esp_mount'.
    
    

    Tampoco estoy seguro de si tenía que hacer algo previamente. La verdad es que soy bastante novato en estos temas.

    En cuanto a lo que comenta fernando, he probado con gparted y la opción boot ya estaba marcada y en Flags me aparecían las opciones boot y esp, como en la imagen que subiste.

    Un saludo.

  • @carlospj
    https://wiki.archlinux.org/index.php/GRUB#Check_if_you_have_GPT_and_an_ESP

    First, tell GRUB to use UEFI, set the boot directory and set the bootloader ID. Mount the ESP partition to e.g. /boot or /boot/efi and in the following change esp_mount to that mount point (usually /boot):
    grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub

    is something like
    grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
    OR
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub

    Antergos (default OS) - WIN10 (abandoned)
    I3wm - Mate desktop
    AMD - A4 7300 Radeon graphics
    16 GB ram
    HD 1 TB
    Linux newbie since 06/2016

  • @fernandomaroto

    Cierto, se me fue la cabeza.

    Vale, siguiendo todos los pasos hasta ahora dados, a la hora de instalar el grub he utilizado el segundo comando, con /boot/efi. Probé el primer comando por si acaso, pero como supuse, me daba error.
    Pero con el segundo, la instalación se hace correctamente y sin ningún fallo.

    Aún así, el problema persiste. Sigue iniciando directamente a Windows.

  • @carlospj
    Por favor, muestre la salida de los dos comandos siguientes:
    mount /dev/sda2 /mnt
    find /mnt -iname ‘* .efi’

    EDIT: también muestra lo que tienes en /boot de la partición /dev/sda5

  • @manuel

    Esta es la salida de los comandos:

    [[email protected] antergos]# mount /dev/sda2 /mnt
    [[email protected] antergos]# find /mnt -iname ‘* .efi’
    find: paths must precede expression: .efi’
    Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
    
    

    La verdad es que no sé si es así, si lo he hecho bien. Lo otro que dices de mostrar el /boot de esa partición no sé muy bien a qué te refieres ni cómo hacerlo. Perdonar mi ignorancia y las molestias.

  • @carlospj
    No debe haber espacio después de ‘*’.
    Este es el resultado del traductor de Google, que pone espacios adicionales, lo siento por eso.
    Así que debe ser:

    find /mnt -iname '*.efi'
    

    Muestra el /boot de la misma manera que /dev/sda2.

    umount /mnt
    mount /dev/sda5 /mnt
    find /mnt/boot -iname '*.efi'
    
  • @manuel

    Gracias por la aclaración, manuel.

    Aquí van los resultados:

    [[email protected] ~]$ sudo su
    [[email protected] antergos]# mount /dev/sda2 /mnt
    [[email protected] antergos]# find /mnt -iname '*.efi'
    /mnt/EFI/Microsoft/Boot/memtest.efi
    /mnt/EFI/Microsoft/Boot/bootmgfw.efi
    /mnt/EFI/Microsoft/Boot/bootmgr.efi
    /mnt/EFI/Boot/bootx64.efi
    /mnt/EFI/antergos_grub/grubx64.efi
    /mnt/EFI/grub/grubx64.efi
    [[email protected] antergos]# umount /mnt
    [[email protected] antergos]# mount /dev/sda5 /mnt
    [[email protected] antergos]# find /mnt/boot -iname '*.efi'
    /mnt/boot/grub/x86_64-efi/core.efi
    /mnt/boot/grub/x86_64-efi/grub.efi
    
    

    Un saludo.

Posts 47Views 767
Log in to reply