In this step we will partition our disk to create addiotional partition for our sedond OS.
First step is to resize our Data partition (as it has biggest size) and gain free space.
Command will look like this:
hfs_resize /private/var size
You should resize to about 5GB otherwise later you will have problem with copying rootFS as there won't be space on device . It's fixable but you will need to do more. For example I resized /private/var just to 2GB and had this issue so make sure you resize to bigger size.
Command should like this:
hfs_resize /private/var 5001000000
and I did:
hfs_resize /private/var 2001000000
Now make sure you write down size you resized to.
You should see Logical sector size also known as block size. On 64-bit devices it should be 4096. Keep this value in mind.
i Enter 2 Enter
Write down somewhere Partition unique GUID.
Attribute flags should be 0003000000000000
After this type:
d Enter 2 Enter
If you did it type:
n Enter Enter
You should see now Last Sector . Don't click Enter !! Now you need divide size you used to resize /private/var by block size (which should be 4096). In my case it's 2001000000/4096=488525,390625. In most cases you will get sum with a comma. In this you need to just ignore so it will be just 488525. Now you need to add it to first default sector which is 880018 so it's 488525+880018=1368543. Pass this value to Last Sector.
If you managed to do this you will need to change name back to Data too
c Enter 2 Enter Data Enter
Now make sure we did it correctly
Now we need to set attribute flags which were 0003000000000000 for Data
x Enter a Enter 2 Enter 48 Enter 49 Enter Enter
Now you need to recover unique GUID which was 5382B18A-FE58-4097-BCEE-2BE45806886E in my case.
c Enter 2 Enter (your GUID) Enter
After you do it type:
s Enter 3 Enter
Now you need to go back to basic mode
Now you need to create 3rd partition for our second OS
n Enter 3 Enter Enter
This time in Last Sector we wanna specify size that our 3rd partition will have. I recommend something like 4-5 GB. Let it be 4.9 GB so it will be something like 5000000000 bytes and divide this value by block size (4096) so it's 5000000000/4096=1220703,125. Again we ignore commas so it's 11220703. Now add this value to first default sector which is 1368543 in my case. 1220703+1368543=2589247
We are almost done. We need to just change partition our 3rd partition name and save changes.
c Enter 3 Enter (our name) Enter
Just to make sure we did did all correctly type:
Partitioning is done . We just need to save changes by typing:
w Enter Y Enter
To check you did correctly you can now type:
If you see this it means you partitioned correctly :)
If you resized /private/var to too small size I'm gonna show fix in next which is Restoring rootFS as I did same mistake.