Is there any way that I can resize (grow, in this case) a HFS+ partition?
I tried gparted and acronis but of them none seem to be able to do it.
hfs+macospartitioning
Is there any way that I can resize (grow, in this case) a HFS+ partition?
I tried gparted and acronis but of them none seem to be able to do it.
Can GParted rewrite the partition map (delete the linux partition and then resize the remaining HFS+ partition) without trying to enlarge the HFS+ filesystem? If so you might then be able to use diskutil
to enlarge the HFS+ filesystem to fit the bounds of the newly grown partition.
Before trying this (or even using any of the commercial software), you should make sure you have a full backup (that way you can just destructively redo the partition with Disk Utility and restore from your backup—plus get a ‘free’ defrag for your troubles).
Specify the option as
-Re
If you command fsck_hfs with no option, then the list of options presented under 'usage' may be less than the options that are truly accepted. This is, I believe, a documentation bug.
Update — 2011-07-30
If the -R option is unrecognised by fsck_hfs in Mac OS X 10.6.3, assume that it was introduced in a later version of 10.6.x — for the manual page referenced in the opening post, between 10.5 and 10.6.6 there's nothing.
Snow Leopard in the Apple Store (UK) remains at 10.6.3 so if you require bootable media with the more capable version of fsck_hfs I should recommend either of the following:
upgrade an installation of Snow Leopard to 10.6.8 or greater
await Apple's production of Lion on a USB thumb drive (beware of known risks and unknowns associated with things hacked from 11A511).
For reference, here's a transcript from 10.7 (Build 11A511):
[macbookpro08-centrim:~] gjp22% date
Sat 30 Jul 2011 08:25:39 BST
[macbookpro08-centrim:~] gjp22% uname -a
Darwin macbookpro08-centrim.home 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64
[macbookpro08-centrim:~] gjp22% diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *320.1 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_CoreStorage 318.1 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
4: Apple_Journal 536.9 MB disk0s4
5: Apple_HFS scratchy 536.9 MB disk0s5
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS speedy *317.8 GB disk1
[macbookpro08-centrim:~] gjp22% sudo /sbin/fsck_hfs -R
/sbin/fsck_hfs: option requires an argument -- R
usage: fsck_hfs [-b [size] B [path] c [size] Edfglx m [mode] npqruy] special-device
b size = size of physical blocks (in bytes) for -B option
B path = file containing physical block numbers to map to paths
c size = cache size (ex. 512m, 1g)
E = exit on first major error
d = output debugging info
f = force fsck even if clean (preen only)
g = GUI output mode
x = XML output mode
l = live fsck (lock down and test-only)
m arg = octal mode used when creating lost+found directory
n = assume a no response
p = just fix normal inconsistencies
q = quick check returns clean, dirty, or failure
r = rebuild catalog btree
u = usage
y = assume a yes response
[macbookpro08-centrim:~] gjp22% sudo diskutil unmount /Volumes/scratchy
Volume scratchy on disk0s5 unmounted
[macbookpro08-centrim:~] gjp22% sudo /sbin/fsck_hfs -Re /dev/disk0s5
** /dev/rdisk0s5
Executing fsck_hfs (version diskdev_cmds-540.1~34).
** Checking Journaled HFS Plus volume.
The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Rebuilding extents overflow B-tree.
** Rechecking volume.
** Checking Journaled HFS Plus volume.
The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
Invalid volume file count
(It should be 336 instead of 226)
Invalid volume directory count
(It should be 37 instead of 52)
Invalid volume free block count
(It should be 124541 instead of 125082)
Volume header needs minor repair
(2, 0)
** Repairing volume.
** Rechecking volume.
** Checking Journaled HFS Plus volume.
The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume scratchy was repaired successfully.
[macbookpro08-centrim:~] gjp22% sudo /sbin/fsck_hfs -fn /dev/disk0s5
** /dev/rdisk0s5 (NO WRITE)
Executing fsck_hfs (version diskdev_cmds-540.1~34).
** Checking Journaled HFS Plus volume.
The volume name is scratchy
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume scratchy appears to be OK.
[macbookpro08-centrim:~] gjp22%
Best Answer
With or without formatting the drive? What partition map are you using as the live resizing feature only works with GPT (GUID Partition Table) which is the default if you have an Intel Mac.
It is possible to resize an HFS+ drive from the command line using
diskutil
or by using Disk Utility. In Disk Utility you can resize the partition using the resize scrubber (the the diagonal lines in the bottom right corner of the partition) (Example).If you want to do it via the command line you're looking for the command
resizeVolume
as part ofdiskutil
. This will non-destructively resize a disk so long as you have space available. It may be necessary to defrag your disk before this is possible if your disk is relatively full.Example:
diskutil resizeVolume disk0s2 10G JHFS+ 10G JHFS+
(Creates two partitions of 10GB apiece formatted as Journaled HFS+ systems).You can find more by running
diskutil resizeVolume
. It should go without saying that you should have a backup just in case something goes wrong.