Can't resize partition: "You can't perform this resize unless it has a booter"
I have an external 1TB disk that I use for Time Machine backups that I temporarily added a second 100GB partition to. After deleting the partition, though, I can't reclaim the free space. Disk Utility won't let me drag the partition button onto it:
I tried the resizeStack
command, but got an error:
******:~ ******$ diskutil cs resizeStack 389D8763-4C1B-4D77-A734-C507DBD567C1 0g
The Core Storage Logical Volume UUID is 389D8763-4C1B-4D77-A734-C507DBD567C1
Started CoreStorage operation
Error: -69722: You can't perform this resize unless it has a booter (target partition is probably too small)
What's this business about a 'booter'? How can I reclaim my lost 100GB?
EDIT:
Output from diskutil list
:
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_CoreStorage Time Machine 900.0 GB disk3s2
... and from diskutil cs list
:
+-- Logical Volume Group 7DBE7E68-7EB4-4208-9BBF-1ED08259754F
=========================================================
Name: Time Machine
Status: Online
Size: 899995127808 B (900.0 GB)
Free Space: 0 B (0 B)
|
+-< Physical Volume 38259B44-99D7-4F3C-973D-2510408E8E72
| ----------------------------------------------------
| Index: 0
| Disk: disk3s2
| Status: Online
| Size: 899995127808 B (900.0 GB)
|
+-> Logical Volume Family 76E4A480-E849-47D0-96D8-D07940EAB3C7
----------------------------------------------------------
Encryption Type: AES-XTS
Encryption Status: Unlocked
Conversion Status: Complete
High Level Queries: Fully Secure
| Passphrase Required
| Accepts New Users
| Has Visible Users
| Has Volume Key
|
+-> Logical Volume 389D8763-4C1B-4D77-A734-C507DBD567C1
---------------------------------------------------
Disk: disk4
Status: Online
Size (Total): 899642802176 B (899.6 GB)
Revertible: No
LV Name: Time Machine
Volume Name: Time Machine
Content Hint: Apple_HFS
Solution 1:
Note: This answer assumes your drive is not hybrid partitioned. In other words, I assume your drive is using a GUID partitioning scheme and the Master Boot Record (MBR) table is fully protected. Also, I assume the sector size is 512 bytes.
I will use an approximately 500 GB spare image file to illustrate your problem and my solution. The output from diskutil disk1
and diskutil disk2
for my drive is shown below. Here, there is almost no free space.
/dev/disk1 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +500.0 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_CoreStorage Macbook HD 499.1 GB disk1s2
3: Apple_Boot Recovery HD 650.0 MB disk1s4
/dev/disk2 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macbook HD +498.8 GB disk2
Logical Volume on disk1s2
06A8BD94-5D42-4A7A-A8DF-2FAB7A268153
Unlocked Encrypted
Normally, a Apple_CoreStorage
partition is followed by a Apple_Boot
partition. Your drive is missing this Apple_Boot
partition.
Note: Other Core Storage configurations will use a different name and size for this
Apple_Boot
partition. For example, the partition may appear with the nameBoot OS X
and a size of134.2 MB
.
Below is output from the same commands, but this time my drive has approximately 50 GB of free space. Furthermore, the Apple_Boot
partition is missing.
/dev/disk1 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +500.0 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_CoreStorage Macbook HD 449.9 GB disk1s2
3: Apple_Boot Recovery HD 650.0 MB disk1s3
/dev/disk2 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macbook HD +449.5 GB disk2
Logical Volume on disk1s2
06A8BD94-5D42-4A7A-A8DF-2FAB7A268153
Unlocked Encrypted
Below are instructions for recreating the Apple_Boot
partition and recovering the free space. When required, make the appropriate adjustments to these commands. These instructions will not recreate any important files that were stored in this partition. In your case, there may not have been any important files. If needed, prepend a sudo
to any of these commands.
-
Use the third part tool
gdisk
to create the missingApple_Boot
partition. Enter the text given below to invoke this interactive command.gdisk /dev/disk1
Below are the interactive gdisk commands. The blank line indicates the default was selected. You should expect your default value to be different from mine.
n 3 +1269536 AB00 w y
Below is the output from when I used the
gdisk /dev/disk1
command.GPT fdisk (gdisk) version 1.0.3 Warning: Devices opened with shared lock will not have their partition table automatically reloaded! Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): n Partition number (3-128, default 3): 3 First sector (34-976562506, default = 879053752) or {+-}size{KMGTP}: Last sector (879053752-976562506, default = 976562506) or {+-}size{KMGTP}: +1269536 Current type is 'Apple HFS/HFS+' Hex code or GUID (L to show codes, Enter = AF00): AB00 Changed type of partition to 'Recovery HD' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/disk1. Warning: Devices opened with shared lock will not have their partition table automatically reloaded! Warning: The kernel may continue to use old or deleted partitions. You should reboot or remove the drive. The operation has completed successfully.
-
Use the command below to format the newly created partition.
newfs_hfs -J -v "Recovery HD" /dev/disk1s3
-
Use the command below to recover the free space. Note: I already substituted your logical volume UUID.
diskutil cs resizestack 389D8763-4C1B-4D77-A734-C507DBD567C1 0
Final note:
The gpt
command can be used instead of the third party gdisk
command. You would need to enter the gpt
command shown below to partially dump the contents of the GUID Partition Table (GPT).
gpt -r show /dev/disk1
For my drive, the output is shown below.
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 878644112 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
879053752 97508755
976562507 32 Sec GPT table
976562539 1 Sec GPT header
From this output, determine the start of the free space after the Apple_CoreStorage
(53746F72-6167-11AA-AA11-00306543ECAC
) partition. For my drive this would be sector 879053752
.
Note: In the
gpt
command given below, replace my value of879053752
with your own value.
The gpt
command shown below adds a new Apple_Boot
partition do the drive. Set the -b
option to the start of the free space value. This command must be immediately preceded by the diskutil
command shown below.
Note: If necessary, the
-b
option needs rounded up to a value evenly divisible by 8.
diskutil umountdisk disk1
gpt add -i 3 -b 879053752 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk1
Next, proceed to step 2.