VMware Communities
mboylanpgh
Contributor
Contributor
Jump to solution

Fusion 6/6.0.1 and Mavericks Developer Preview 4 - Installer not creating Recovery partition

I cannot seem to get a new install of Mavericks using the latest available full download from the Mac App Store (DP 4), to create a recovery partition during installation. I always end up with just an EFI and primary boot partition. The recovery partition is required to test new FileVault 2 features. Has anyone else seen this and/or found a solution? I filed a bug with Apple, but I feel like this is more of a VMware bug as the same installer on a physical machine did in fact create a recovery partition. I tried changing the hard drive type of the VM from SATA to SCSI, but that didn't make a difference.

Thanks,

- Mike

Reply
0 Kudos
1 Solution

Accepted Solutions
HPReg
VMware Employee
VMware Employee
Jump to solution

We have investigated and we can confirm the problem comes from Fusion, not Mavericks. We are working on a fix.

View solution in original post

Reply
0 Kudos
21 Replies
WoodyZ
Immortal
Immortal
Jump to solution

If I was in this situation and need to have it to do testing with then I'd just manually create the Recovery HD.  It's doable and I've done it before in a VMware Fusion OS X Virtual Machine that was created without a Recovery HD natively.

Reply
0 Kudos
ColoradoMarmot
Champion
Champion
Jump to solution

Try installing Carbon Copy Cloner in the VM and using it to create a recovery partition.  Alternatively, install 10.8, and the upgrade it to 10.9.

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

Since you already installed it physically you can make a copy of the Recovery HD from the physical install and then restore it to the Virtual Machine.

This can be done using Disk Utility by enabling the Debug menu in Disk Utility to show the Recovery HD partition in the List and make an image of it.  Or IMO an easier faster way without Disk Utility, you can create the image and scan for restore from the command line using hdiutil and asr in a Terminal.

Then you can restore the image to the VMware Fusion OS X 10.9 Mavericks DP4 Virtual Machine using Disk Utility after creating an => 650 MB partition at the end of the Macintosh HD virtual hard disk.

To do this...

On the donor system (system that has working Recovery HD) and with Disk Utility closed, then in a Terminal use the following command to enable the Debug menu in Disk Utility.

defaults write com.apple.DiskUtility DUDebugMenuEnabled 1

Open Disk Utility and from the Debug menu select: Show every partition

Next, select Recovery HD in the List and then select: File > New > Disk Image From "Recovery HD"...

Next, select the Recovery HD.dmg in the List and then select: Images > Scan Image for Restore

To disable the Debug menu in Disk Utility and with Disk Utility closed, then in a Terminal use the following command:

defaults write com.apple.DiskUtility DUDebugMenuEnabled 0

Or to create an image and scan it for restore just from the command line, in Terminal use the following commands:

sudo hdiutil create -volname "Recovery HD" -srcdevice /dev/disk0s3 "Recovery HD.dmg"

sudo asr -imagescan "Recovery HD.dmg"

Either way, now you have a restorable copy of the Recovery HD partition.

Next, copy the Recovery HD.dmg file to the target or have it available on a USB Flash Drive, other accessible media or via VMware Shared Folder.

Next, use Disk Utility in the VMware Fusion OS X 10.9 Mavericks DP4 Virtual Machine to create an => 650 MB partition at the end of the disk and restore the Recovery HD.dmg to it.

From the List select VMware Virtual SATA Hard Drive Media then click the Partition tab.

Change the value of Size: to reflect being => 650 MB less then it is now,  e.g. if 42.61 change to 41.95, press Enter then click the Apply button.  The following message is displayed...

Are you sure you want to partition the disk “VMware Virtual SATA Hard Drive Media”?

Partitioning this disk will change one of the partitions. No partitions will be erased.

This partition will be resized: “Macintosh HD”

Click the Partition button and when it's finished click the [+] button under Partition Layout: under the Macintosh HD.

This adds Macintosh HD 2* under Partition Layout:, now press the Apply button.  The following message is displayed…

Are you sure you want to partition the disk “VMware Virtual SATA Hard Drive Media”?

Partitioning this disk will change one of the partitions. No partitions will be erased.

This partition will be added: “Macintosh HD 2”

Click the Partition button and when it's finished select the Restore tab.

On the Restore tab, drag "Macintosh HD 2" from the List to the Destination: field.

Now, either drag and drop from Finder the Recovery HD.dmg image to the Source: field or use the Image... button to navigate to and select it and then click the Open button.

Now click the Restore button.  The following message is displayed…

Are you sure you want to erase “Macintosh HD 2” and replace its contents with the contents of “Recovery HD.dmg”?

Erasing a partition deletes all the data on that partition, but does not affect other partitions on the same disk.

Click the Erase button and then provide your password and click OK.

Next, unmount the Recovery HD and close Disk Utility.

Last, hide the Recovery HD partition and make it bootable, as it would be in a native install, in a Terminal use the following command:

sudo asr adjust -target /dev/disk0s3 -settype Apple_Boot

That's it... you're done.  Now you can boot the VMware Fusion OS X 10.9 Mavericks DP4 Virtual Machine from the Recovery HD partition by pressing Command-R as if on a physical system.

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

dlhotka wrote: Try installing Carbon Copy Cloner in the VM and using it to create a recovery partition.

dlhotka, I haven't tested with CCC however if my understanding is correct CCC would not be able to create the Recovery HD partition on the Startup Disk as CCC needs to unmount the disk to do so and obviously it may not unmount the startup disk! Smiley Wink  Have a look at "Creating a new Recovery HD volume" in the CCC Help File as the first thing it does is "1. Unmount the donor disk" and this shouldn't/wouldn't be allowed to happen to the Startup Disk.   The context of all of this is assuming that the VMware Fusion OS X 10.9 Mavericks DP4 Virtual Machine created by mboylanpgh has a single virtual hard disk that the Recovery HD was not created on to begin with so I do not see where CCC is applicable with his issue.

On another note CCC uses the term "donor disk" in "Creating a new Recovery HD volume" and I find that erroneous and should be called the "target disk" (not to be confused with Target Disk Mode).  IMO the "donor disk" would be the disk from which the image of the "Recovery HD" is being made.

Reply
0 Kudos
mboylanpgh
Contributor
Contributor
Jump to solution

Woody, thanks for the replies. This may work, but I have yet to try it. More than trying to make it work, I was just hoping to hear that others did or did not experience the same thing. Making the recovery partition manually and copying the contents from another machine may indeed work (or may not), but it doesn't answer the question of why one consistently isn't being created in the first place. I haven't a tried Mt. Lion install on Fusion 6 yet to see if this is unique to Mavericks, but I think I'll try that next.

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

This does work and I wouldn't have taken the time to provide step-by-step directions otherwise! Smiley Wink  On my system it took 30 seconds using the command line to create the Recovery HD.dmg and 2 minutes to create and restore the image to a OS X Virtual Machine.  It took me longer to do the write up! Smiley Happy

While I've had the same thing occur, depending on how OS X was installed to the Virtual Machine, nonetheless I read many posts on the Internet in which on a physical install the Recovery HD was not created and as a result one would need to deal with it.  Some of those cases were the result of restoring an image while erasing the disk and as such the Recovery HD was wiped out however some were not and this probably more so do to how OS X was installed to begin with.  Remember starting with Mac OS X 10.7 Lion Apple only provide the installer as a App Store download or on a USB Flash Drive, the latter of which was not continued going forward, and there were many Users that wanted to do a clean build and had to create either a Optical Disk or USB Flash Drive installer.  Depending on how one created this the Recovery HD partition was or wasn't created.  Not sure that really has anything to do with your particular issue and have mentioned this for more completeness on the topic in general.   What I can say is the Recovery HD partition was created for me in a OS X 10.8.2 Virtual Machine from the installer downloaded from the App Store so it will be interesting to see if this is a Fusion issue with the OS X 10.9 Mavericks DP4 and VMware Fusion or with the installer itself or a combination of both.  That said, as long as it all works with the official OS X 10.9 Mavericks release that's really what matter most! Smiley Wink

Reply
0 Kudos
ColoradoMarmot
Champion
Champion
Jump to solution

Ahh, good point.  So you'd have to mount one VMDK as a secondary disk in another 10.8 VM and do it that way.

Message was edited by: dlhotka Sorry Woody - clicked reply in your note instead of to the OP.

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

dlhotka wrote: Ahh, good point.  So you'd have to mount one VMDK as a secondary disk in another 10.8 VM and do it that way.

Yes then that should work however, for me anyway, it's faster and easier to just use Terminal and Disk Utility in a case such as this...  No having to temporarily attach the .vmdk, download and install CCC, learn how to do it in CCC, etc.  Like I said in my other reply it took me took 30 seconds using the command line to create the Recovery HD.dmg and 2 minutes to restore the image to a OS X Virtual Machine just using Terminal and Disk Utility and I can't temporarily attach the .vmdk, download and install CCC, learn how to do it in CCC, etc. in that short of time! Smiley Wink

For Uses that are not comfortable using just Terminal and Disk Utility then CCC is certainly a good option! Smiley Wink

Reply
0 Kudos
HPReg
VMware Employee
VMware Employee
Jump to solution

We have investigated and we can confirm the problem comes from Fusion, not Mavericks. We are working on a fix.

Reply
0 Kudos
mboylanpgh
Contributor
Contributor
Jump to solution

Great. Thanks. I opened a bug with Apple under ID 15073762 if you want to reference it with them. It's possible you already have, though. Thanks for the response!

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

HPReg wrote: We have investigated and we can confirm the problem comes from Fusion, not Mavericks. We are working on a fix.

We're aware it's a VMware Fusion issue because the "/Applications/VMware Fusion.app/Contents/Library/Create Mavericks Installer.tool" does not properly build the "OS X 10.9.dmg" installer image from the "Install OS X Mavericks.app" bundle.

However if one uses "Install OS X Mavericks.app/Contents/Resources/createinstallmedia" to create a USB Thumb Drive Installer it does create the Recovery HD properly on a clean-build.  The only problem with this method is the install is much slower, not only because USB vs. from a .dmg file on the SSD (or HDD), the createinstallmedia command sets up the USB with a bootstrap and then the entire "Install OS X Mavericks.app" bundle and the first phase of the install it has to go through and extremely long verification process on the InstallESD.dmg file, then setup a bootstrap on the Macintosh HD and then reboot, then the actual install takes place.  With this method, on my early 2013 2.8 GHz MacBook Pro/r, the verification process on the InstallESD.dmg file took 50 minutes! Smiley Sad then rebooted and started the normal install.

I played around a bit with creating a .dmg that's laid out like the USB created by createinstallmedia however this method wants writable media to install from.  I made some headway, got it to start the boot process but eventually bombs with the international no symbol.  I ran out of time however I suspect I need to run bless before my next testing.

Message was edited by: WoodyZ - Originally Posted, Oct 10, 2013 7:51 PM.

Reply
0 Kudos
HPReg
VMware Employee
VMware Employee
Jump to solution

> the "/Applications/VMware Fusion.app/Contents/Library/Create Mavericks Installer.tool" does not properly build the "OS X 10.9.dmg" installer image from the "Install OS X Mavericks.app" bundle.

Correct

> I played around a bit with creating a .dmg that's laid out like the USB created by createinstallmedia however this method wants writable media to install from.

You are on the right path. Here are the final bits you need to make it work:

1) Make sure the .dmg you create uses the UDRW format (i.e. it is a raw file). If not, convert it to use the UDRW format.

2) In the UI, create a Mac OS 10.9 VM but do not start the install. Instead, add a second virtual SATA hard disk named foo.vmdk

3) Now we are going to replace foo.vmdk with the contents of .dmg, thus making foo.vmdk a writable install media.

   3.1) Do ls -al on the .dmg, and divide the size (in bytes) by 512 to obtain a size in sector (let us call that size <S>).

   3.2) In the VM's folder (.vmwarevm), delete all foo*.vmdk files.

   3.3) In the VM's folder, run <path to Fusion.app>/Contents/Library/vmware-vdiskmanager -c -s <S> -a lsilogic -t 2 foo.vmdk

   3.4) In the VM's folder, copy the .dmg onto the existing file foo-flat.vmdk

4) Now power-on the VM and install Mavericks: you should have a proper recovery partition and FileVault should work.

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

HPReg, thanks for the additional input however I had already created a 6 GB .vmdk and used createinstallmedia to create an installer and of course this works and is much faster then from USB, 1/10 the time to verify...  However the reason I was already trying to do it with a UDRW .dmg is so I can automate the process using all native OS X resources and not having to first create the .vmdk, temporarily add it to an existing OS X VM in order to partition and format it to then use createinstallmedia to create an installer while then having to temporarily add it to a new OS X VM, etc.  In other words I was trying to script the entire process not having to rely on a .vmdk installer since the whole process cannot be done natively directly on the Host with a .vmdk where it should be able to be done with a UDRW .dmg.  The issue I ran into is while the UDRW .dmg installer created with createinstallmedia will start the boot process nonetheless it bombs out and that's where I ran out of time.

The exercise was about creating a new "Create Mavericks Installer.tool" utilizing createinstallmedia and a UDRW .dmg, not using USB and not having to resort to a workaround that requires an existing OS X VM to be part of the process or creating an installer based on how it now created with the current "Create Mavericks Installer.tool". Unfortunately I have a busy schedule for the next few weeks and can't spend much more time on this.

Hopefully VMware will actually get VMware Fusion 6 fully and properly compatible with OS X 10.9 both as a Host and Guest before OS X 10.9 released to the public.

Reply
0 Kudos
HPReg
VMware Employee
VMware Employee
Jump to solution

> The exercise was about creating a new "Create Mavericks Installer.tool" utilizing createinstallmedia and a UDRW .dmg

I have created such a script: it creates the same contents byte-for-byte as createinstallmedia, but it outputs a UDRW .dmg and does not require root privileges.

But then I realized that the result had to be writable, which is why I took the .vmdk direction.

> Hopefully VMware will actually get VMware Fusion 6 fully and properly compatible with OS X 10.9 both as a Host and Guest before OS X 10.9 released to the public.

We are working on it. But it is not easy: Apple keeps changing things from one seed to the next Smiley Happy

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

HPReg wrote: But then I realized that the result had to be writable, which is why I took the .vmdk direction.

Yes but a UDRW .dmg is writable, at least while attached to the Host, so why isn't it when attach to the CD/DVD of the OS X 10.9 VM?  Is it that the CD/DVD is RO unless burning an Optical Disc from an already running installed OS?

We are working on it. But it is not easy: Apple keeps changing things from one seed to the next Smiley Happy

At least it not as bad as dealing with the changes in the Linux Kernel and either installing VMware Player/Workstation under it or installing VMware Tools in a Linux VM! Smiley Wink

Reply
0 Kudos
HPReg
VMware Employee
VMware Employee
Jump to solution

> so why isn't it when attach to the CD/DVD of the OS X 10.9 VM?

I believe that when a virtual CD/DVD drive is backed by a file on the host, then the guest sees a CD-ROM/DVD-ROM media, i.e. a read-only optical media. I.e. I don't think you can burn from the guest to a file on the host.

However, when a virtual CD/DVD drive is backed by a physical drive on the host, and a read-write media is inserted on the host, then that media is seen by the guest as read-write as well and the guest can burn it.

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

Okay I already understand what you've said and this gets a bit off topic and must admit that I was more just thinking out loud when I asked.

Anyway from what I read on the internet and my own tests it looks like Apple really doesn't want to make it easy from a time element to do a clean-install physical or virtual as adding on a verification process takes twice as long from USB then the actual install and also requiring writable install media when in the past it could be optical media, USB or an image file when doing it in a VM.

So unless someone or VMware comes up with a way to create a proper installer on RO media/image file then for VMware Fusion anyway it looks like VMware will need to include a seed .vmdk for the installer and a way to mount it so createinstallmedia can do its thing, then add the .vmdk on the fly to the OS X 10.9 VM and remove it once the install has completed.   Analogous to creating the autoinst.iso during a Linux Guest Easy Install but with a virtual hard disk instead and hopefully cleaned up better then Linux Easy Install as it leaves the 2nd CD/DVD in the VM.

Good luck with getting this issue resolved. Smiley Happy

Reply
0 Kudos
HPReg
VMware Employee
VMware Employee
Jump to solution

> it looks like Apple really doesn't want to make it easy

That is my impression as well.

> it looks like VMware will need to include a seed .vmdk for the installer and a way to mount it so createinstallmedia can do its thing,

We are thinking about creating the .vmdk using the steps I outlined at Re: Fusion 6/6.0.1 and Mavericks Developer Preview 4 - Installer not creating Recovery partition

This way the .vmdk does not have to be mounted on the host.

> then add the .vmdk on the fly to the OS X 10.9 VM and remove it once the install has completed. Analogous to creating the autoinst.iso during a Linux Guest Easy Install but with a virtual hard disk instead and hopefully cleaned up better then Linux Easy Install as it leaves the 2nd CD/DVD in the VM.

Yes, we are thinking about automating this.

Reply
0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

> it looks like VMware will need to include a seed .vmdk for the installer and a way to mount it so createinstallmedia can do its thing,

We are thinking about creating the .vmdk using the steps I outlined at Re: Fusion 6/6.0.1 and Mavericks Developer Preview 4 - Installer not creating Recovery partition

This way the .vmdk does not have to be mounted on the host.

Okay I see what you're talking about now however you're not really going to create the binary portion of the virtual hard disk, just the Disk DescriptorFile having it point to the UDRW .dmg image file that's created to allow createinstallmedia do its thing.  And obviously this can be totally automated and transparent to the User.   How are you doing it without needing root privileges?

In the past, having used dd images with a manually created Disk DescriptorFile I should have realized I could have done this with a .dmg image file too however a couple days ago I had already created a binary .vmdk that I mounted with VMDKMounter for use as --volume with createinstallmedia.  Obviously I had to initialize, partition and format it in an existing VM first and this is why I was trying to get the UDRW .dmg image file with the CD/DVD to try and bypass that rigmarole.  I guess I just wasn't thinking hard enough! Smiley Wink

Reply
0 Kudos