I just moved all my data on my laptop from a 90 GB drive to a 250 GB drive. I created the new partitions on the 250 GB drive with PartitionMagick and moved the data over to the new drive mounted externally via USB with ghost. (It is a dual boot system with Windows and Fedora 6.) I got both systems to boot (after some configuring, creating a boot partition, etc.), but I found that the Linux ext3 file system didn't automatically enlarge to the size of the new ext3 partition size (Windows did resize the file system).
Fortunately, I discovered resize2fs and ran:
resize2fs /dev/sda5 # so that it would automatically enlarge the file system from 20 GB to the new 70 GB size.
It did enlarge the file system to 30 GB, but failed with this error message:
resize2fs 1.40.8 (13-Mar-2008) (I also tried the version 1.39 bundled with Fedora 6).
Filesystem at /dev/sda5 is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 5
Performing an on-line resize of /dev/sda5 to 19456715 (4k) blocks.
resize2fs: No space left on device While trying to add group #243
BTW, this is the layout of my file system:
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 20403 163838902+ 7 HPFS/NTFS
/dev/sda3 20404 30401 80308935 f W95 Ext'd (LBA)
/dev/sda5 20404 30092 77826861 83 Linux
/dev/sda6 30093 30354 2104483+ 82 Linux swap / Solaris
/dev/sda7 30355 30401 377496 83 Linux
I read somewhere that you had to remove the journaling from the ext3 system to make it ext2 to be able to use resize2fs, but it doesn't look like that is necessary any more is it? I also saw something about having to change the block size to 4K from 1K for the larger file systems. If that is the case, can that be done in place without having to blow away my file system and recreate it?
Do you have a suggestion that I can try? This seems like a typical problem people will run into as they run out of space on their laptop drive.
I finally found a solution on-line.
I had to drop the journal on the file system and create a larger one:
Booting from the recovery disk without mounting the / filesystem on my /dev/sda5 device
tune2fs -O ^has_journal /dev/sda5
tune2fs -J size=128 /dev/sda5
Also, since a journal of 128M used up too much memory, I went back and changed it to 32M after I resized the file system.
It might be nice to add a message to the current error that tells the user that he needs to increase the journal size. Even better, tell the user what to do to fix the problem or do it for him. The current error message doesn't explicitly spell out what the actual problem is.