iATKOS ML2: Multiboot


iATKOS ML2 has no integrated procedure for multibooting but preparing a multiboot GPT or MBR system with this release is easy.

Here is a ''How To'' for GPT and MBR triple boot including Mac-Win-Linux. iATKOS ML2, Debian GNU/Linux DVD and Windows7 DVD installers are used in this example.

- MBR (Master Boot Record) triple boot -

- Nearly all PC's work on MBR partitioned harddisks. Check it with Disk Utility and if so do no touch it.
If it is GPT then you need to repartition your harddisk that will cause to loose all the data in it. Click to partitioning options, select MBR and do the partitioning.

- Create 3 or more partitions by using iATKOS Disk Utility or Parted Magic Live CD. Mac OS Extended Journaled (HFS+) format for OS X target, MS-DOS (Fat32) for the others. OS targets must be one of the first 3 partitions creating with Disk Utility.

- Add boot flag to Windows or Linux target and install the operating systems in any order you like.
For windows, make sure the windows target disk is the first preceding disk by your BIOS, or unplug the other harddisks. This is a general windows issue.
For linux, do not install linux bootloader to MBR, install it to linux root.

- Boot iATKOS ML2 and install OS X to target as usual.

- If Windows fails to load then you may need to repair Windows (win7 or vista):
Add boot flag to Windows partition, boot Windows DVD, select repair, add boot flag to OS X partition.

- You can also add boot flag to Linux partition to use Linux bootloader for booting the operating systems if you want to.

Now you have triple boot on MBR.

Note: Adding boot flag to MBR partitions: Boot Parted Magic Live CD, right click to partition, select flags and click to boot.

- GPT (Guid Partition Table) triple boot -

- Check the partition table type with Disk Utility.
If it is not GPT, then repartition the drive and change the partition map scheme to GPT by pressing partition options. You will loose all the data on target disk by repartitioning.

- Create 3 or more partitions by using iATKOS Disk Utility. Mac OS Extended Journaled (HFS+) format for OS X target, MS-DOS (Fat32) for the others. Windows and Linux targets should be of the first 3 partitions.

- Boot Windows Media and install it to its FAT32 target.

- Boot iATKOS ML2 and install OS X to target as usual. You have dual-boot with OS X and windows right now.

- Boot Linux media and install the operating system (OS) to its FAT32 target.
Do not install the linux bootloader to MBR, install it linux root.
Do not change the boot flags using Linux media.
Do not modify the partition table, it can be risky for some distros, just erase the target and do the install.

- Now you can boot to OS X and Linux using OSX86 bootloader which boots by default, but windows fails at this stage because Linux installation broke the hybrid GPT, so we will bring it back on this step.
>>Boot from Parted Magic CD and execute "sudo gptsync /dev/sdX" command on terminal without quotes (X is the BSD letter. Open the partition manager and you can easily see the BSD letter of your target disk).

Now you have triple boot on GPT. By default, OS X bootloader will take the control by these steps. It can boot all of them by just selecting. If you want linux or windows to take the control of multibooting then go on reading..

All the OS' are independent by this way, you can re-install each of them one by one. You just need to care about 2 things:
- gptsync will be needed after Linux re-install
- you need to re-install OS X bootloader after Windows re-install. Boot iATKOS ML2, open terminal by the utilities menu, install the bootloader using terminal (Search on Google). If you use linux for multibooting then this step is not necessary.

There are more combinations to make multiboot work on especially on GPT. If you know the procedures as well, there is no thing like an unrecoverable multiboot error.
i.e. Keep in mind that hybrid GPT may fail when dealing with linux stuff, then windows will not boot. Do not use Linux media for partitioning operations on Hybrid GPT, it breaks Hybrid GPT causing an unbootable windows. There comes the gptsync terminal program, it creates a fake MBR code on GPT drives that make Windows think it works on MBR partitioned hdd.
You can always apply gpysync if hybrid GPT is broken somehow. After bringing back the hybrid GPT partition, windows will work again.

After gptsync, you can add boot flag to other partitions by using OS X or Linux fdisk if you like to boot from another OS. i.e. >> booting from linux and using grub for multiboot manipulation instead of chameleon.
For OS X fdisk, boot iATKOS ML2 and open terminal:

fdisk -e /dev/diskX # X is the BSD number of your target disk
p # p is the fake MBR partition list
f Y # f for adding boot flag to the target partition, Y is the partition number you want to boot from
w # w to write changes
q # q for quit.

In this multiboot example I created 4 volumes, 3 for OS' and 1 for storage. OS volumes are first 3 ones. As you see on this fdisk print out and disk utility screen below, fdisk lists the 4 partitions of fake MBR of my hybrid GPT. You can not see the "Data 2" partition (disk0s5) there because it is the 5th one. 1st partition is the hidden efi, for this reason the OS' are to be installed to first 3 volumes.

Enter 'help' for information
fdisk: 1> p
Disk: /dev/disk0 geometry: 30401/255/63 [488395055 sectors]
Offset: 0 Signature: 0xAA55
#: id cyl hd sec - cyl hd sec [ start - size]
1: EE 1023 254 63 - 1023 254 63 [ 1 - 409639] <Unknown ID>
2: AF 1023 254 63 - 1023 254 63 [ 409640 - 97656256] HFS+
3: 07 1023 254 63 - 1023 254 63 [ 98328576 - 97654784] HPFS/QNX/AUX
*4: 83 1023 254 63 - 1023 254 63 [ 195983360 - 97654784] Linux files*
fdisk: 1> _

disk utility layout:
250.06GB WDC WD250…
-Data 2

Unmounted disk0s4 volume is ext4 linux partition (hd0,4) in this example. I added the boot flag to Linux partition using OS X fdisk and modified the grub.cfg file to boot all of them via grub2.

### here is the grub.cfg lines of this example for multibooting
menuentry "OS X" {
insmod hfsplus
set root=(hd0,2)
multiboot /boot
menuentry "Windows 7" {
set root=(hd0,3)
chainloader +1
menuentry "Debian GNU/Linux……