Install older OSX a dual boot on a computer with OSX High sierra

I need to install a secondary OSX, older one, like yosemite or something, on a computer, which has High sierra installed. The problem is it has the crazy APFS file system, which doesn't seem to allow normal partitions (at least the Disk utility doesn't seem to do that) and it also says that it cannot run Yosemite installer, because it's too old for this computer... Any ideas?

I'm also trying to download the OSX High sierra installer and the damn App Store is saying "downloading", but that's it, no clue how far it is or if it is actually downloading...


Note: The OP has reported that this procedure initially failed to work on a 2015 MacBook Pro. However, if you read the comments, the OP eventually successed. The procedure does work on my 2013 iMac.

I am not sure I understand exactly how VirtualBox works, but I have always assumed the hardware was virtual. Therefore, if a particular operating system would run on one machine, then it should run on any machine where VirtualBox is installed. I suppose there are certain obvious limitations due to machine hardware, such as:

  • The amount of physical memory.
  • The physical number of cores.
  • The speed of the USB ports.
  • Whether the processor is 32 bit or 64 bit.
  • The amount of drive space available.
  • The speed of processor, memory and logic (mother) board).

The reason I bring up this issue is that I have a 2013 iMac that can run Yosemite, but I would prefer to run High Sierra. Unfortunately, I also have software (such as Adobe CS5) that does not work well with High Sierra. I have found it to be relatively trivial to install Yosemite as a guest in VirtualBox. The instructions are based on website OS X on OS X. These instructions also state that newer Macs have to fake the processor in order to run Yosemite. Since I do not have a newer Mac, I can not test to see if this is true. So, you will have to try the instructions for yourself.

Before anyone complains, according to the SOFTWARE LICENSE AGREEMENT FOR OS X YOSEMITE this is legal to do.

To be complete, I have repeated the instructions below. Just so you know, the file Yosemite.dmg, that is created below, should be inserted into the virtual optical drive.

  • Requirement

    1. Install OS X.app purchased in Mac App Store
    2. iESD

  • VirtualBox Settings

    ‑ Operating System Version: Mac OS X (64 bit)

    ‑ Base Memory: 2048 MB (larger is better)

    Enable EFI

    In the lastest VirtualBox, all the default settings work well.

    Some people encountered black screen upon booting the virtual machine. They reported that changing the default chipset ICH9 to PIIX3 fixes this issue.


  • Prepare Install Disk

    gem install iesd
    

    iESD requires ruby-1.9.2 or later.

  • Yosemite & Mavericks

    The new InstallESD.dmg is not bootable. Therefore, we need to create a bootable install disk with BaseSystem.dmg.

    iesd -i /Applications/Install\ OS\ X\ Yosemite.app -o Yosemite.dmg -t BaseSystem
    

    All Macs using Intel Haswell CPU (Macs after 2013) need to fake their CPU as Ivy Bridge in order to boot the virtual machine. Thank @danmccombs for this tip.

    VBoxManage modifyvm <vmname> --cpuidset 00000001 000306a9 00020800 80000201 178bfbff
    

    On Mac Pro Early 2009 and other Macs that have ECC memory, AppleTyMCEDriver.kext will cause a kernel panic during the boot. Thus we need to remove it.

    iesd -i /Applications/Install\ OS\ X\ Yosemite.app -o Yosemite.dmg -t BaseSystem --uninstall-extension AppleTyMCEDriver.kext
    

     

Finally, I have included instructions for setting the screen resolution. You can only change the resolution while the virtual machine is powered off. To set the horizontal and vertical (HxV) resolution for virtual machine named VM name, enter the commands given below.

VBoxManage setextradata "VM name" "CustomVideoMode1" "HxVx32"
VBoxManage setextradata "VM name" VBoxInternal2/EfiGraphicsResolution HxV

For example, to set the horizontal and vertical resolution to 1824x1026 for the virtual machine named Yosemite hosted by an iMac (21.5-inch, Late 2013), you would need to enter the commands given below.

VBoxManage setextradata "Yosemite" "CustomVideoMode1" "1824x1026x32"
VBoxManage setextradata "Yosemite" VBoxInternal2/EfiGraphicsResolution 1824x1026

Note: The main display of an iMac (21.5-inch, Late 2013) has a maximum resolution of 1920x1080.


Best way to really have a dual boot on Apple computers is to partition your Harddisk and install the other OSX via pendrive, or, alternatively, install the second OS on an external Harddisk or bigger pendrive.

  1. Get an install medium for your older OSX. you probably have to search the internet for a bootable version of e.g. El Capitan, Apple removes older installs regularly from their servers to enforce you to update to the newest available OS.

    Note: Apple does provide the website: How to download OS X El Capitan. As only official fallback for older OS

  2. Make a bootable device (e.g. pendrive) from that OS... there are plenty of guides in the internet, and on stackexchange. there's also an app: diskmakerx.com

  3. Reboot your computer and hold the alt / option key, to boot from that pendrive or external harddisk and install the older osx on the device of your choice.

  4. Again, to choose from which drive to boot, just have that devce connected when booting, press alt and select your OS of choice.

Cheers