• Grub missing after successful install


    I recently installed Antergos via live USB on a new system. This is the first time I’ve installed Linux on a device which uses UEFI. I disabled secure boot and fast boot in the bios settings to avoid any problems. The existing UEFI partition on the disk was at /dev/sda2, and I created a new ext4 partition in gparted to install Antergos onto at /dev/sda7. Then I launched the cnchi installer and everything went smoothly. When it finished it offered to reboot into the installed OS, and I accepted, expecting to be greeted by grub2. Bizarrely there was no grub on reboot; it just booted straight into Windows.
    No problem; it must have failed to install grub2. I figured I’d just boot into the live USB again and reinstall grub. I just did:
    # mount /dev/sda7 /mnt
    # mount /dev/sda2 /mnt/boot/efi
    # arch-chroot /mnt
    # grub-install --recheck /dev/sda
    Everything went smoothly once again. The grub2 installer seemed to find the necessary EFI information without any issues. I rebooted once again, and still no grub!
    At this point I don’t even know how to debug this issue. Antergos seems to be correctly installed on /dev/sda7, but I can’t boot into it. I tried disabling UEFI entirely in the bios settings, but then the device wouldn’t boot from the hard drive at all (it attempted to boot from the network instead). Any advice would be greatly appreciated.

  • @Altay-Hunter Avoid EFI, no matter of what. It is evil. :v

  • Using the advanced installation, you should have mounted your efi partition as /boot/efi. Did you do this?

    P.S. I hate UEFI, too.

  • @karasu i hate it too. i avoid it.

  • @karasu Yes, the cnchi installer asked me to specify a mount point for / and /boot/efi. I gave it /dev/sda7 and /dev/sda2 respectively.

  • Can you grab the log? It should be on your /dev/sda7, the file should be named /var/log/cnchi-[install date].log

    Thanks!

  • Here’s a link to the full log (3.5 MB), and below is the most relevant portion of it:

    2015-08-24 20:47:17 [DEBUG] - process.py : 1501 : configure_system | Installing bootloader...
    2015-08-24 20:47:18 [DEBUG] - bootloader.py : 214 : set_grub_option | Set GRUB_THEME="/boot/grub/themes/Antergos-Default/theme.txt" in /etc/default/grub
    2015-08-24 20:47:18 [DEBUG] - bootloader.py : 214 : set_grub_option | Set GRUB_CMDLINE_LINUX_DEFAULT="quiet " in /etc/default/grub
    2015-08-24 20:47:18 [DEBUG] - bootloader.py : 214 : set_grub_option | Set GRUB_DISTRIBUTOR="Antergos" in /etc/default/grub
    2015-08-24 20:47:18 [DEBUG] - bootloader.py : 188 : modify_grub_default | /etc/default/grub configuration completed successfully.
    2015-08-24 20:47:18 [DEBUG] - bootloader.py : 92 : install_grub | Cnchi will install the Grub2 (efi) loader
    2015-08-24 20:47:18 [INFO] - bootloader.py : 311 : install_grub2_efi | Installing GRUB(2) UEFI x86_64 boot loader
    2015-08-24 20:47:35 [INFO] - bootloader.py : 410 : install_grub2_locales | Installing Grub2 locales.
    2015-08-24 20:47:35 [INFO] - bootloader.py : 357 : install_grub2_efi | Generating grub.cfg
    2015-08-24 20:47:35 [DEBUG] - chroot.py : 78 : mount_special_dirs | Mounting special dir '/dev' to /install/dev
    2015-08-24 20:47:35 [DEBUG] - chroot.py : 78 : mount_special_dirs | Mounting special dir '/dev/pts' to /install/dev/pts
    2015-08-24 20:47:35 [DEBUG] - chroot.py : 78 : mount_special_dirs | Mounting special dir '/proc' to /install/proc
    2015-08-24 20:47:35 [DEBUG] - chroot.py : 78 : mount_special_dirs | Mounting special dir '/sys' to /install/sys
    2015-08-24 20:47:35 [DEBUG] - chroot.py : 78 : mount_special_dirs | Mounting special dir '/sys/firmware/efi/efivars' to /install/sys/firmware/efi/efivars
    2015-08-24 20:47:35 [DEBUG] - bootloader.py : 404 : apply_osprober_patch | 50mounted-tests file patched successfully
    2015-08-24 20:47:35 [DEBUG] - bootloader.py : 366 : install_grub2_efi | Running grub-mkconfig...
    2015-08-24 20:47:49 [DEBUG] - chroot.py : 136 : run | Generating grub configuration file ...
    Found theme: /boot/grub/themes/Antergos-Default/theme.txt
    Found linux image: /boot/vmlinuz-linux-lts
    Found initrd image: /boot/initramfs-linux-lts.img
    Found fallback initramfs image: /boot/initramfs-linux-lts-fallback.img
    Found linux image: /boot/vmlinuz-linux
    Found initrd image: /boot/initramfs-linux.img
    Found fallback initramfs image: /boot/initramfs-linux-fallback.img
      /run/lvm/lvmetad.socket: connect failed: No such file or directory
      WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
    grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
    done
    2015-08-24 20:47:49 [INFO] - bootloader.py : 389 : install_grub2_efi | GRUB(2) UEFI install completed successfully
    
  • When you chose /dev/sda2 for /boot/efi, was it your existing EFI partition or a new partition? (It should have been your existing EFI partition)

  • @lots.0.logs Yeah, it already existed. It was the only partition with a fat32 filesystem and it had an “EFI System” label, so I figured it must be the right partition.

    # fdisk -l
    Device          Start        End    Sectors   Size Type
    /dev/sda1        2048    2099199    2097152     1G Windows recovery environment
    /dev/sda2     2099200    2303999     204800   100M EFI System
    /dev/sda3     2304000    2566143     262144   128M Microsoft reserved
    /dev/sda4     2566144  212281343  209715200   100G Microsoft basic data
    /dev/sda5  1444280320 1445986303    1705984   833M Windows recovery environment
    /dev/sda6  1445986304 1465147391   19161088   9.1G Windows recovery environment
    /dev/sda7   212281344 1444280319 1231998976 587.5G Linux filesystem
    
    Partition table entries are not in disk order.
    
  • Hmm…try booting the live iso and run the following commands:

    su
     # Be sure to double check the partition numbers as they aren't guaranteed to be the same.
    mount /dev/sda7 /mnt
    mount /dev/sda2 /mnt/boot/efi
    arch-chroot /mnt
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=antergos_grub --recheck
    grub-mkconfig -o /boot/grub/grub.cfg
    exit
    umount -Rl /mnt
    
  • @lots.0.logs No dice. The commands seemed successful, but there’s no sign of grub upon reboot.

    [[email protected] ~]$ su
    [[email protected] antergos]# mount /dev/sda7 /mnt
    [[email protected] antergos]# mount /dev/sda2 /mnt/boot/efi
    [[email protected] antergos]# arch-chroot /mnt
    sh-4.3# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=antergos_grub --recheck
    Installing for x86_64-efi platform.
    Installation finished. No error reported.
    sh-4.3# grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/Antergos-Default/theme.txt
    Found linux image: /boot/vmlinuz-linux-lts
    Found initrd image: /boot/initramfs-linux-lts.img
    Found fallback initramfs image: /boot/initramfs-linux-lts-fallback.img
    Found linux image: /boot/vmlinuz-linux
    Found initrd image: /boot/initramfs-linux.img
    Found fallback initramfs image: /boot/initramfs-linux-fallback.img
      /run/lvm/lvmetad.socket: connect failed: No such file or directory
      WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
    grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
    done
    sh-4.3# exit
    exit
    [[email protected] antergos]# umount -Rl /mnt
    
  • Well, I finally got grub2 installed and working on this computer (Toshiba Satellite P55t-A5116). I followed the instructions in this guide to repair grub, but ran into an error because the Ubuntu live USB couldn’t find some packages on the Antergos partition.
    I deleted my Antergos partition and installed Ubuntu instead, but ran into the same problem with grub missing. Then I tried running the instructions in the guide again and it gave me this message:

    If your computer reboots directly into Windows, try to change the boot order in your BIOS.
    If your BIOS does not allow to change the boot order, change the default boot entry of the Windows bootloader.
    For example you can boot into Windows, then type the following command in an admin command prompt:
    bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi

    I ran that command from an admin command prompt in Windows and when I rebooted I could finally see grub. Now I have Ubuntu installed and working, but I would prefer Antergos. Can anyone tell me how I can figure out what command I’ll need to run from Windows once I install Antergos?

  • Try this:

    bcdedit /set {bootmgr} path \EFI\antergos_grub\grubx64.efi
    
  • Thanks! I ran the command in Windows before overwriting Ubuntu with Antergos. I’m not 100% sure whether it was actually necessary, but either way everything is fine and dandy now.
    The only quirk was that Antergos’ grub menu was missing an entry for Windows, so I had to run this to fix it: sudo grub-mkconfig -o /boot/grub/grub.cfg

  • Hi,
    I tried to install Antergos on two older laptops (a 32-bit ASUS PC 901 Eeebook anda 64-bit Dell E 6400), both of which do not have UEFI.

    Installation was successful with a Complete poppu at the end. However, upon reboot, and beyond the BIOS flash screen, all that shows up is a blinkg cursor. I do not have Windoze installed on these machines so how I go about fixing this?

    Many thanks!

  • @aarem

    If the Grub menu is not shown, you might try to reinstall it (but it’s weird Cnchi didn’t detect it wasn’t correctly installed).
    To reinstall grub, you can use Antergos iso.
    Boot from the CD/USB and run these commands in a terminal. If your root partition is not sda1, substitute it accordingly. Also if you have a /boot partition you should mount it in /mnt/boot after mounting your root partition

    sudo su
    mount /dev/sda1 /mnt
    arch-chroot /mnt
    grub-mkconfig -o /boot/grub/grub.cfg
    grub-install /dev/sda
    

    Please, post here your cnchi log (it’s in /var/log) from any of the two laptops to see if an error was detected when trying to install Grub in the instalation.
    Ask if you have any doubts.

    Cheers!

    EDIT: Even though the question you asked is related to this thread, it’s always better to open a new one. Next time. Thanks!

  • So, I did as requested, but:

    sudo su
    mount /dev/sdb1 /mnt
    arch-chroot /mnt
    mkdir /mnt/boot
    mount /dev/sda1 /mnt/boot
    mkdir /mnt/var
    mount /dev/sda3 /mnt/var
    grub-mkconfig -o /boot/grub/grub.cfg

    There is an error on:

    BEGIN /etc/grub.d/30_os-prober

    /run/lvm/lvmetad.socket: connect failed: No such file or directory
    WARNING: Failed to connect to lvmetad. Failing back to internal scanning.

    There are two notifications on mkdir (can not create a directory: /varlib/os-prober/mount: No such file or directory).

    Later on,

    grub-install /dev/sda1
    gives error: hostdisk//dev/sda appears to contain a xfs filesystem which isn;t known to reserve space for DOS-style boot. Installing GRUB there could result in FILESYSTEMDESCTURCTION!..

    There is no file in /var/log.

    My partitions:
    /dev/sda1: boot – 1 G
    /dev/sda2 - swap – 2 G
    /devsda3 - /var – 1G
    /dev/sdb1: / – 8G
    /dev/sdd1: /home – 8G

    All /xfs, but I will note that all /ext4 did not create a diffeernce.

    No grub for booting yet.

  • I’ve rarely had any problems with UEFI (in fact, I like it), but then I’ve always used gummiboot, now systemd-boot. I’m just chiming in to ask why bother with grub2 if you’re going to use UEFI?

  • @aarem

    OK, you have a boot partition. Also you got the grub-install command wrong. Grub must be installed in /dev/sda not /dev/sda1

    So, it should be:

    sudo su
    mount /dev/sdb1 /mnt
    mount /dev/sda1 /mnt/boot
    mount /dev/sda3 /mnt/var
    arch-chroot /mnt
    grub-mkconfig -o /boot/grub/grub.cfg
    grub-install /dev/sda
    

    Cheers!

  • @karasu Thanks! Tried the above, but the errors did not go away.(Got different errrors). Specifically, gor the following:

    grub-mkconfig -o /boot/grub/grub.cfg


    /run/lvm/lvmetad.socket: connect failed: No such file or directory
    WARNING: Failed to connect to lvmetad. Failing back to internal scanning.
    done

    grub-install /dev/sda1

    gives error:

    grub-install:warning: this GPT partition lable contains no BIOS Boot Partition: embedding won’t be possible.
    grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.
    grub-install: error: will not proceed with blocklists.

    Now what?

install78 dual-boot11 uefi37 grub224 Posts 35Views 18230
Log in to reply