2

System: SIP disabled, Macbook Air 2013-mid, about 120 GB SSD, 8 GB DDR3. My current disk state

enter image description here

OS X portion

enter image description here

I want to decrease OS X portion and move it to other but trying to startup partion, I get

enter image description here

Outputs motivated by klanomath

Command diskutil list and its output

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            76.0 GB    disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data                         44.3 GB    disk0s4
/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           +75.7 GB    disk1
                                 Logical Volume on disk0s2
                                 20C85797-328F-4A27-B0DE-97DB2B14F1D7
                                 Unlocked Encrypted
/dev/disk3 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *128.7 GB   disk3
   1:             Windows_FAT_32 FAT32                   128.7 GB   disk3s1

Command diskutil cs list and its output

CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group E7F4DE9D-EFE4-4CEC-BCA3-3A0C20ED47C9
    =========================================================
    Name:         Macintosh HD
    Status:       Online
    Size:         76017078272 B (76.0 GB)
    Free Space:   12656640 B (12.7 MB)
    |
    +-< Physical Volume 6F9B1342-37C0-4734-8C95-9E20F2344F04
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     76017078272 B (76.0 GB)
    |
    +-> Logical Volume Family A8F4C470-C0FF-4000-85A9-565FACDA1818
        ----------------------------------------------------------
        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 20C85797-328F-4A27-B0DE-97DB2B14F1D7
            ---------------------------------------------------
            Disk:                  disk1
            Status:                Online
            Size (Total):          75652100096 B (75.7 GB)
            Revertible:            Yes (unlock and decryption required)
            LV Name:               Macintosh HD
            Volume Name:           Macintosh HD
            Content Hint:          Apple_HFS

Command sudo gpt -r show disk0 and its output

gpt show: disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  148470856      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  148880496    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  150150032   86566407      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  236716439     261704         
  236978143         32         Sec GPT table
  236978175          1         Sec GPT header

I run exactly klanomath's commands in real partions but I get with the last command; everything goes fine before the last command

Error -69722: You can't perform this resize unless it has a booter (target partition is probably too small)

How can you Make OS X Partion Smaller?

  • @klanomath Please, see the body. – Léo Léopold Hertz 준영 Jun 2 '16 at 21:27
  • You can't resize your OS X partition if you aren't in recovery mode... – perhapsmaybeharry Jun 3 '16 at 3:24
  • @klanomath disk0s4 is Ubuntu 16.04 made by diskutility: by choosing partion and then installing Ubuntu there through a live system. – Léo Léopold Hertz 준영 Jun 3 '16 at 3:31
1

You should be able to resize the CoreStorage stack by booting to a second boot volume (e.g. Internet Recovery Mode) after modifying the partition table. Afterwards you have to re-add the partitions in the old boundaries but with proper types.

Preparation:

  • Restart to Internet Recovery Mode by pressing alt cmd R at startup.

    The prerequisites are the latest firmware update installed, either ethernet or WLAN (WPA/WPA2) and a router with DHCP activated.
    On a 50 Mbps-line it takes about 4 min (presenting a small animated globe) to boot into a recovery netboot image which usually is loaded from an Apple/Akamai server.

    I recommend ethernet because it's more reliable. If you are restricted to WIFI and the boot process fails, just restart your Mac until you succeed booting.

    Alternatively you may start from a bootable installer thumb drive (preferably Yosemite or El Capitan) or a thumb drive containing a full system (preferably Yosemite or El Capitan). If you boot to a full system and login as admin you have to prepend sudo to execute some commands like gpt ... or newfs_hfs ...!

Remove the bogus MBR/GPT and re-add the partitions

  • Open in the menubar Utlities->Terminal
  • Enter diskutil list and gpt -r show /dev/disk0 to get an overview
  • Destroy the bogus GUID partition table/MBR and recreate a fresh one:

    diskutil umountDisk /dev/diskX #with diskX = disk identifier of the logical volume
    diskutil umountDisk /dev/disk0
    gpt destroy /dev/disk0
    diskutil umountDisk /dev/disk0
    gpt create -f /dev/disk0
    
  • Re-add the partitions:

    gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
    gpt add -b 488966144 -i 3 -s 1267712 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    gpt add -b 150150032 -i 4 -s 86566407 -t EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 /dev/disk0
    gpt add -b 148880496 -i 2 -s 148470856 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • The logical volume should mount automatically if not encrypted. If not you may have to unlock it.

  • Verify the disk and the volume and try to repair them if necessary
  • Unlock your FileVault volume

    diskutil cs unlockVolume lvUUID
    
  • Resize the CoreStorage stack

    diskutil cs resizestack lvUUID size
    

    e.g.

    diskutil cs resizestack 20C85797-328F-4A27-B0DE-97DB2B14F1D7 65000m
    
  • if this fails you may have to decrypt the FileVault volume

    diskutil cs unlockVolume 20C85797-328F-4A27-B0DE-97DB2B14F1D7
    diskutil cs decryptVolume 20C85797-328F-4A27-B0DE-97DB2B14F1D7
    

    and get the new device node with

    diskutil list
    
  • Verify the decrypted volume (e.g. disk16)

    diskutil verifyVolume /dev/disk16
    
  • Try to resize the CoreStorage stack again (like above)

    diskutil cs resizestack lvUUID size
    

Resizing you Linux partition from inside Linux afterwards will probably hose your current MBR (and/or GPT) and will render one or both systems unbootable.


Tested in a VM:

Resizing the unlocked but encrypted volume from a second boot volume failed with an error number and some "booter is mounted" message. The reason for the message may be the following: the FileVault volume (disk0s2/disk16) relies on some files in the Recovery HD (disk0s3). Resizing the stack means shrinking the Logical Volume Group and all subsequent CoreStorage items and moving the Recovery HD to lower block numbers afterwards. The Recovery HD has to be unmounted to achieve this.

Using real partitions may yield different results or errors.

  • 1
    @Masi No, you have to boot to a second independent boot drive. Internet Recovery Mode is available by pressing cmd-alt-R and boots to a netboot image provided by Apple via internet. – klanomath Jun 3 '16 at 5:33
  • @Masi Since OS X doesn't provide a real Live session DVD/USB, IRM is more like RM or an OS X installer thumb drive. You may install a full OS X to a thumb drive and use that one though. This will behave like a normal OS X. – klanomath Jun 3 '16 at 9:04
  • 1
    @Masi I don't think so! If you don't want to create a OS X thumb drive or OS X install thumb drive you only have the Internet Recovery Mode left! – klanomath Jun 3 '16 at 9:24
  • @Masi What's the error message? – klanomath Jun 3 '16 at 11:27
  • I get the error Error -69722: You can't perform this resize unless it has a booter (target partition is probably too small). – Léo Léopold Hertz 준영 Jun 3 '16 at 11:41
0

For APFS volumes, resizing (including shrinking) is quite easy and can be done on a "live" filesystem. See apfs resizeContainer help page for details:

diskutil apfs resizeContainer

Example:

diskutil apfs resizeContainer disk0s2 300g

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .