Tutorial #8: Elegantly dual booting Windows and Android (Remix OS) on PC using UEFI


The ability to dual boot Android with Windows has always been an enticing prospect and Remix OS made doing so on a desktop/laptop a much more practical one. While Android x86 project has been around for a long time, its support and stability has always been spotty. Moreover, stock Android, in spite of natively supporting keyboard and mouse, doesn't feel very intuitive to use on large screen devices. Remix OS, although it based on Android x86, feels much more suitable for this use case. It has its fair share of bugs and one is certainly entitled to question the utility of using Android on a PC, but it exists nonetheless and there is no reason to not try it out.
Out of the box, the 64-bit variant of Remix OS supports dual booting with Windows and comes with its own GRUB bootloader. But my experience with it hasn't been the best because of the following reasons:
1. On more than one occasion, the 'Windows' entry in the boot menu simply stopped working. This is more than inconvenient because it means have to boot up the Windows installation for recovery. Moreover, fixing of MBR through the command line doesn't work and neither does start-up recovery, meaning you have to reset your PC to have access to your files.
2. Editing any boot parameter like timeout and default entry means playing around with the various grub config files in a text editor and hoping you don't mess things up.
3. Two lines on a black screen for OS selection is not the best way to relive the 90s.

In light of all these points, I found the most elegant option to be the use of a separate GRUB EFI bootloader. In case your primary OS is Windows, the easiest option is to use Grub2Win which is easy to install/uninstall and has a GUI to boot (pun intended). On a side note, you might find references to EasyBCD over the web in relation to Remix OS, but the fact is that it only works with the legacy mode which means foregoing some of the benefits of UEFI, mainly speed and security.

The steps involved in setting up the dual boot process is as follows:
1. Install Remix OS as you would normally using the supplied tool from the official site (say C:\RemixOS)
2. Make a back-up of the RemixOS folder which you just installed (say C:\Remix)
3. Now, uninstall Remix OS. The net effect is that your PC is now back to its pre-Remix state but you have the necessary files along with a formatted data partition of your choosing.
4. Next, install Grub2Win to the same partition where you have kept the Remix OS files (say C:\grub2)
5. Run Grub2Win and and install the necessary EFI modules using the 'Manage EFI Partition Modules'. Next, go to 'Manage Boot Menu' and select 'Edit Custom Configuration Code' for Menu Entry 1 if already present or select 'Add a New Entry'.
6. For OS Type, select 'remix' (or 'remix-nvidia' if you have a Nvidia GPU). In the 'Automatically generate Configuration Code for Remix' section, ensure that the proper path (/Remix/kernel) is selected against the 'Partition Search by File' radio button. You can play around with the other configuration options but there is no need to further edit the configuration code.
7. On the main screen of Grub2Win, if you had been booting only Windows until now, you should change the 'Windows boot timeout seconds for BCD' to "0". Again you can play around with the other timeout and theme options.
That's it, you should now have a perfectly functional, customizable and attractive boot selection screen. Moreover, you can easily set 'Windows Boot Menu' as the default boot option in UEFI so that your PC skips Grub2Win altogether unless you invoke it using the one-time boot menu (F11 in my case) and select Grub2Win EFI.

0 comments: