• GRUB issue with mixed UEFI/BIOS and Windows

    OK so I have quite a complicated setup. I am using Windows 10 and because my setup is so old (that is, the boot drive since I upgraded from Windows 7, not the actual computer components), Windows is in Legacy mode using MBR. I have Windows installed on a 250 GB SSD and it is not sharing any other partitions or operating systems. I also have another 120 GB SSD which I formatted completely for installing Linux. My motherboard supports both UEFI and BIOS.

    Now when I installed Antergos to this 120 GB drive, it chose UEFI mode. The problem is I want to be able to dual boot into Windows without having to go into UEFI/BIOS and changing the boot device every time. So I read that you can’t have mixed mode with GRUB, therefore I went about converting the installation to use BIOS. I used the built-in Disks application to change the boot partition to be BIOS instead of UEFI, and also ticked “Legacy bootable” box for both the boot and OS partitions. I re-built my GRUB and installed it, no issues.

    Finally, the option I put in my custom40 file for booting non-EFI Windows showed up! Albeit GRUB was in super-low resolution mode, so everything looked huge on my 4K monitor. Anyways I chose Antergos and it didn’t work. There were some strange numbers and I presume somehow the section where the OS needs to start booting from is hard-coded or something like that, since I just get some progress timer that goes to 1 min 30 seconds every time I boot.

    Anyways, I have no idea what’s going on or how to fix it. Do I need to re-install Antergos or is there some way to fix this?


  • @sinadoom
    You could try commands

    sudo grub-install /dev/sdX
    sudo grub-mkconfig -o /boot/grub/grub.cfg

    where X refers to the Antergos SSD and make the machine boot from legacy BIOS instead of UEFI.

    Alternatively you could try this: https://forum.antergos.com/topic/9039/grub-boot-examples-custom-cfg/7

  • Sorry, the alternative on the previous post is not for your system since your Windows is using legacy boot.

  • @manuel Thanks for the reply. If you re-read my post I tried your suggestion before I rebooted after making the changes. Are you meaning I should do that again but in the “emergency mode”?

  • No, sorry. Read your post without using my brains. ;)

    Using both UEFI and BIOS boot leads to problems as you’ve seen. It is better to choose only one boot method for all operating systems.
    A reinstall of Antergos using BIOS legacy boot would probably fix it.

  • @manuel Ah, that’s what I suspected. So there is no way to recover the system as it is? I presume it’s only the booting that’s different - the OS partition (aside from now being “Legacy bootable”) is untouched. I was just wondering whether there is some easy utility (perhaps fsck) that could do the trick.

  • @sinadoom
    If you have already done grub-install and grub-mkconfig and it doesn’t work, then, unless there is some other compatibility problem, reinstall sounds like the best option.
    Another thing: what are your SSD disks partition table types? BIOS boot using MBR afaik should be on a msdos partition table, not gpt.

  • @manuel I’m not sure what order I did make and install, I could re-try I suppose. My 120 GB SSD with Antergos is GPT with 4 partitions (GRUB, Antergos boot, Antergos main partition, swap) and my 250 GB one with Windows is MBR.

  • Or, if you really want to use gpt table, you should add a small empty partition in the beginning of the disk and mark it as bios_grub (or something like that, don’t remember the exact name).

  • I’d recommend a reinstall, and msdos partition table for the Antergos SSD.
    And select the target disk of grub-install so that you can boot. If the target is the Windows SSD, then it overwrites the MBR, so maybe you want to make a Windows rescue disk first.

  • But what I want is really simple in principle: I have Windows on one disk, Linux on another, and want to be able to boot into either without going into UEFI/BIOS! I don’t see what partitions have to do with that, since both MBR and GPT can be used with Legacy and UEFI.

  • @sinadoom
    Yes, I fully understand what you want.
    Since you have Windows on msdos partition table and BIOS legacy booting, to my knowledge there may be problems if other disks are on gpt partition table. But of course you can format disks as you like, hopefully it works.
    Anyway, afaik UEFI and BIOS boot is not possible together, so you need to install Antergos in BIOS boot mode. And write the MBR to the Windows SSD so that you can boot. Then you’ll use the machine always in BIOS boot mode, and grub gives the OS menu to choose.

  • @manuel My Windows installation is working fine, I don’t know why you keep bringing that up. It boots fine in both UEFI and BIOS mode despite being installed in Legacy and using MBR. I don’t want to touch that SSD at all. Infact with my current setup I managed to get Windows to boot from GRUB in BIOS mode, the trouble is booting Antergos. So my question is, what is fundamentally so different? I presumed that the only difference between UEFI and BIOS for Linux is GRUB, since Windows works fine regardless of how the motherboard is configured.

  • @sinadoom
    So you don’t have problem booting Windows from grub, ok.
    And the only problem is that Antergos will not boot.
    How does Antergos behave when you try to boot it?
    Are there any error messages etc. ?

  • @manuel It’s pretty ineligible, just some big numbers like “xxxxxxxxx/yyyyyyyyyy” (where x < y) so like I said in my original post, probably just sector / partition numbers or something like that. Then some “job” runs for 1 min 30 with a countdown and then goes into emergency mode.

  • @sinadoom
    You could try reinstall, but the problem may not be solved with that.
    It also sounds like a problem with the hardware compatibility, e.g. graphics card, which is often a reason for booting problems.

    Could you show some information about your system? Like boot into the system with the installer stick and give commands:

    lsblk -fm
  • @manuel Unfortunately I don’t have the Antergos on the USB I sued for installation, but I doubt it could be a hardware issue since I managed to install and boot into it fine when GRUB was installed in UEFI mode. That said, I did install the nouveau drivers for my GTX 1060 6GB and even then things just worked. It’s only since I started trying to “convert” to BIOS mode that things are going wrong.

  • @sinadoom
    So is the only problem now that you have to change BIOS stuff for booting to another system?
    If so, why don’t you just reinstall Antergos in the same boot mode as Windows currently is?

  • @manuel Of course that would be an obvious solution but I was just curious as to why there’s no easy way to convert from EFI to BIOS install, since in theory only the bootloader is different. I was hoping that someone who is an expert with Linux installation would have a solution on this forum but it seems nobody knows how.

  • @sinadoom
    Converting might be possible, although I doubt that. But I haven’t tried that either, so I may be wrong.

    Could you tell us exactly, step by step, what you tried to do for converting?

    I’d say the following steps should be taken:

    • You need to create the Antergos installer, either USB or DVD
    • Boot to Antergos using the Antergos installer in BIOS mode, not UEFI.
    • Then chroot to Antergos on the SSD:
    sudo mount /dev/sdZ /mnt   # Z refers to the Antergos SSD
    sudo arch-chroot /mnt
    • Run command (X below refers to the SSD that boots using BIOS mode) to install grub:
    sudo grub-install /dev/sdX
    • Possibly you could install grub to both SSD drives, shouldn’t hurt, but create Windows rescue disk first, just in case.
    • Run command
    sudo grub-mkconfig -o /boot/grub/grub.cfg

    and reboot.

    If you already did all of the above (exactly) and it didn’t work, then I’d say it is not possible.

grub127 windows74 mixed2 uefibios1 Posts 28Views 1952
Log in to reply
Bloom Email Optin Plugin

Looks like your connection to Antergos Community Forum was lost, please wait while we try to reconnect.