Dual Boot Win-XP and RemixOS on HDD
|| Krister's Blog |
krister at hallergard dot com
A friend of mine asked for my advice on how to dual boot Windows XP and RemixOS 3.0.207 32-bit. There are several issues involved in this:
The RemixOS installer tool requires Windows 7 or higher. Although RemixOS can install Grub (Legacy Grub, also referred to as Grub1) or Grub2, it only comes with the very minimum
to create a bootmenu, which has to be edited manually - "update-grub" does not work. This means that it is more practical to include RemixOS
in a Grub2 menu on a Linux installation on a third partition. The preferred way in Linux is to manually edit /etc/grub.d/40_Custom, as "update-grub" also
in Linux does not update RemixOS entries.
Alternatively you can use the Windows bootmenu. With Windows 7 and higher EasyBCD can be used to add RemixOS to the bootmenu,
but how do you add to the Windows XP bootmenu, boot.ini? There are ways of doing that, but most of them require that the RemixOS partition
has a pbr, a partition boot record. And how do you achieve that? Since I got the new PC 18 months ago I no longer have Windows XP, so
I have not been able to check all methods mentioned below.
Windows XP Installation
Starting with a clean MBR disk with two partitions. The first partition (sda1) for Windows XP with NTFS file system, and the second (sda2) with Ext4 file system.
The XP installer asks which partition to install to. After completed installation I suggest installing Ex2Fsd to be able to mount the ext4 partition later on.
Also the Windows Recovery Console is good to have.
RemixOS Installation USB
The zip package from RemixOS includes an installer tool, which gives you two options. Install directly to HDD - which installs to fat32 and gives a closed file structure,
which I do not like. So I always used the other option, install to USB. In addition to extracting the ISO it includes a script for installing a bootloader into the mbr
of the disk, which replaces the Windows bootloader.
I have not been using the installer tool. Instead I have used Rufus (or Unetbootin) to create the USB directly from the ISO. I have not installed Legacy Grub or Grub2,
but instead added RemixOS manually to the Grub2 bootmenu of my Linux installations. Even if I had chosen to install Legacy Grub or Grub2, RemixOS would not boot,
as no RemixOS bootloader will have been installed with the Rufus USB.
So, do you want to boot into Windows bootmenu or a RemixOS bootmenu?
At the menu choose "Resident mode" and tap "TAB" for edit. On the kernel command line delete everything after quiet and add "INSTALL=1".
INSTALL=1 on command line
If you have not already formatted to Ext4 - then choose to do so! OK to install the Grub bootloader, Yes to create a Windows boot menu entry
Skip Grub2 and Yes to install the system directory as Read/Write. Instead of Run or Reboot let's first check what the file structure looks like, picture to the right!
Before first boot
system folder 1.5 GB
data folder is empty!
If you used a USB created with the official installation tool you should now be able to boot into RemixOS. When asked to Run or Reboot, remove the USB and tap Reboot.
And the created Grub1 menu also allows you to choose to boot Windows. If you are happy with using this RemixOS bootmenu, then the job is done!.
Proceed to the First Boot at the bottom of the page!
(Legacy) Grub Bootmenu
If you rather want to boot into the Windows XP bootmenu, you could either use a USB created directly from the ISO, or restore the
XP bootloader by using the Windows Recovery Console, command "fixmbr C:". But how then start RemixOS from Windows?
Below are some options for how to add RemixOS to the Windows boot menu:
Option 1: (Legacy) Grub
This option is to install the Grub1 bootloader, writing a bootsector (pbr) at the very beginning of the Remix partition. For this we need to get to a proper Legacy
Grub prompt. I have not used Grub1 since 2015 and did not have it on any of my USB-sticks anymore. So I used one of my Linux installations, uninstalled Grub2 and
installed Grub1. Rebooted with the boot flag on this Linux partition, and at the Grub1 boot menu tapped "C" to get the grub command prompt.
The "find /grub/stage1" command is to make sure you install the bootloader to the correct partition. After entering "root (hd0,1)" the "setup (hd0,1)" command installs the
bootloader to the partition's bootsector.
Yes, it works! But you have to move the boot flag to partition 2 using e.g. GParted. The bootmenu is the one created when installing RemixOS, see above and to the right!.
(Legacy) Grub Install
Option 2: XP boot.ini
If you did install the (Legacy) Grub bootloader on partition 2, you can also boot RemixOS from the XP bootmenu (without having to move the boot flag).
You add the file bootsect.sda2 to the root of partition 1. This file
can be created in Linux with the command "sudo dd if=/dev/sda2 of=bootsect.sda2 bs=512 count=1"
Option 3: Grub2Win
With this option Windows XP can start RemixOS without requiring a "pbr" for RemixOS partition.
In the created grub2 folder there is the configuration file "grub.cfg". Just add the same entries as used for grub2 in Linux below.
This worked for me in Windows 7, but I have not checked it in Windows XP, where I assume it adds an entry to boot.ini.
Option 4: Install Linux on a third partition.
This option does not require a bootloader on partition 2. You add what is shown to the right to /etc/grub.d/40_Custom and do
"update-grub", for the Grub2 bootmenu.
If you have to force shut down the RemixOS partition might be come marked "dirty". Clean it by executing "sudo e2fsck -fv /dev/sda2"!
Having GParted installed might also come in handy.
40_Custom entries (Grub2)
Ranish Partition Manager?
With Ranish PM each partition you want to boot has to have its own pbr. For RemixOS just follow Option 1 above. For Windows XP use the
Recovery Console with the command "fixboot c:".
Which Option to Choose?
I believe it will be difficult for my friend to get hold of a proper Legacy Grub prompt, which leaves options 3 and 4. I would choose adding another
partition with Linux, but my friend probably would feel more at home with Grub4Win? My friend chose using the (Legacy) Grub
bootmenu as per using the official installation tool to create the USB and installing (Legacy) Grub.
The first boot have added 742 MiB to the previously empty data folder. Note the open file structure obtained for data and system
obtained through using "INSTALL=1" on an ext4 partition.
I usually upgrade the system by installing on top of the old, thus not having to reinstall
apps and settings. It should also be possible to copy over the data folder from another partition, though some files might not be copied and some settings
might have to be redone.
This open file structure probably won't work with the OTA updates that Remix are offering. Instead I recommend installing over (on top of) the previous
installtion, no to format!
After first boot