I want to enable encryption on an external FireWire disk. The disk has been formatted a while ago (2+ years), and when choosing "encrypt volume" from the Finder context menu, Mountain Lion refuses with the message:
A Recovery system for the targeted disk is required
Turns out: You need a Recovery Partition (RP) on the external disk you want to encrypt. Mine does not have one, as it was formatted when there were no Recovery Partitions.
Reformatting the drive does create a new RP, but I can’t do this because I have no spare disks where I can swap the data to.
This hint is not useful, as it deals with internal disks.
So I am looking for a way to create a Recovery Partition on the external disk so that I can enable encryption for this disk. (How) can this be done?
EDIT: Yes, there is space on the disk for another partition. diskutil list
:
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *320.1 GB disk2
1: EFI 209.7 MB disk2s1
2: Apple_HFS le_disk 306.7 GB disk2s2
EDIT II:
Output from an other disk. Here, encryption of a partition (FreeSpace-500) has worked directly from Finder. Note that the (invisible) boot partition created during the process is called Boot OS X, and not Recovery HD.
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk2
1: EFI 209.7 MB disk2s1
2: Apple_HFS TimeMachine 1.5 TB disk2s2
3: Apple_CoreStorage FreeSpace-500 503.3 GB disk2s3
4: Apple_Boot Boot OS X 134.2 MB disk2s4
Best Answer
Manually Cloning a Recovery Partition
This process worked for me on an external USB drive, but I don't have a Firewire drive or encrypted partition to test with, but it should work for you.
Requirements
Add New Partition
Notes: this process is not destructive, provided you have sufficient free space on your drive.
In Terminal, run
diskutil list
. You should get output like this:Make note of the identifiers for your existing recovery partition (in my case,
disk0s3
) and the main partition on your external drive (disk1s2
).diskutil info disk1s2 | grep 'Total Size'
, replacingdisk1s2
with the identifier for your external volume. Note the number of bytes listed.diskutil resizeVolume disk1s2 Xb JHFS+ Temp 650002432b
, replacing X with the total number of bytes from step 2 minus650002432
. This will repartition your disk, giving us a new partition with exactly enough space for the recovery partition. Note: A recovery partition is not always 650002432 bytes. Find out the exact size by checkingdiskutil info
on the partition you want to copy.resizeVolume
command will print out the new partition map (like in step 1), make note of the identifier for the new partition (labelledTemp
).Clone Existing Recovery to the New Partition
Run the following command in Terminal to clone the recovery partition to the new partition, replacing
disk0s3
anddisk1s3
with the appropriate identifiers for your partitions:You will be asked for your password, and to verify that you want to erase the contents (type y followed by enter), then the cloning process will begin.
sudo asr adjust --target /dev/disk1s3 --settype "Apple_Boot"
. Be sure to replacedisk1s3
with the appropriate identifier. This sets the proper partition type, which stops OS X from auto-mounting the recovery partition when you attach your external drive.If everything completed properly, you should have a working recovery partition on your external disk.