Many Mac owners, myself included, partition their machine such that the OS is isolated from User data. Or so they can install two copies of the OS. Or for any of a number of other reasons.

Of course, as the system and user’s relationship to the system evolves, it often proves to be the case that the originally chosen partitioning scheme is, well, wrong. Too much space for OS, not enough for Data.

Or, in the case of Boot Camp, a new technology is released that requires an additional partition on the system’s drive.

With the 10.4.6 update, the diskutil command has gained the ability to resize partitions, including creating new partitions.

This is via the resizeVolume subcommand:

[albbum:~] bbum% diskutil resizeVolume Disk Utility Tool Usage: diskutil resizeVolume [Mount Point|Disk Identifier|Device Node] size <part1format part1Name part1Size> <part2format part2Name part2Size> ... Non-destructively resize a disk. You may increase or decrease its size. When decreasing size, you may optionally supply a list of new partitions to create. Ownership of the affected disk is required. Valid partition sizes are in the format of <number><size>. Valid sizes are B(ytes), K(ilobytes), M(egabytes), G(igabytes), T(erabytes) Example: 10G (10 gigabytes), 4.23T (4.23 terabytes), 5M (5 megabytes) resizeVolume is only supported on GPT media with a Journaled HFS+ filesystem. A size of "limits" will print the range of valid values for the current filesystem. Example: diskutil resizeVolume disk1s3 10G JHFS+ HDX1 5G MS-DOS HDX2 5G Valid filesystems: "Case-sensitive HFS+" "Journaled HFS+" "Case-sensitive Journaled HFS+" "HFS+" "HFS" "MS-DOS FAT32" "MS-DOS FAT16" "MS-DOS" "MS-DOS FAT12" "UFS" "Linux" "Swap" </size></number></part2format></part1format>

Boot camp requires an MS-DOS Partition for installation. There can only be one MS-DOS partition in the first three partitions on the disk and it must be the last of the first three partitions (you can have any number of additional partitions beyond 3 of any type).

The example in the above command is telling; it would resize disk1s3 to 10 gigabytes while creating a new journaled HFS+ partition of 5 gigs and an MS-DOS partition of 5 gigs. Assuming that there is no disk1s0 or disk1s1 (which happens), the end result would be an MS-DOS partition as the last of three partitions, ready for the installation of Windows.

: link_pages issince version 2.1.0! Use wp_link_pages() instead. inon line