Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a 500GB external drive. It had two partitions, each around 250GB. I removed the first partition. I'd like to move the 2nd to the left, so it consumes 100% of the drive. How can this be accomplished without any GUI tools (CLI only)?

fdisk

Disk /dev/sdd: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc80b1f3d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd2           29374       60801   252445410   83  Linux

parted

Model: ST350032 0AS (scsi)
Disk /dev/sdd: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End    Size   Type     File system  Flags
 2      242GB  500GB  259GB  primary  ext3         type=83  

dumpe2fs

Filesystem volume name:   extstar                            
Last mounted on:          <not available>                    
Filesystem UUID:          f0b1d2bc-08b8-4f6e-b1c6-c529024a777d
Filesystem magic number:  0xEF53                              
Filesystem revision #:    1 (dynamic)                         
Filesystem features:      has_journal dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash                                                
Default mount options:    (none)                                                               
Filesystem state:         clean                                                                
Errors behavior:          Continue                                                             
Filesystem OS type:       Linux                                                                
Inode count:              15808608                                                             
Block count:              63111168                                                             
Reserved block count:     0                                                                    
Free blocks:              2449985                                                              
Free inodes:              15799302
First block:              0
Block size:               4096
Fragment size:            4096
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8208
Inode blocks per group:   513
Filesystem created:       Mon Feb 15 08:07:01 2010
Last mount time:          Fri May 21 19:31:30 2010
Last write time:          Fri May 21 19:31:30 2010
Mount count:              5
Maximum mount count:      29
Last checked:             Mon May 17 14:52:47 2010
Check interval:           15552000 (6 months)
Next check after:         Sat Nov 13 14:52:47 2010
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      d0363517-c095-4f53-baa7-7428c02fbfc6
Journal backup:           inode blocks
Journal size:             128M
share|improve this question

2 Answers 2

GNU parted does not permit moving an ext2/3 partition if the source and destination partition overlap. Because partition2 is >50% the size of drive, it will overlap. The end goal is to make this partition #2 fill 100% of the available drive space. If GParted can do this, then surely there's a CLI way that can accomplish this...

RESIZE2FS MAN PAGE The size of the filesystem may never be larger than the size of the partition. If size parameter is not specified, it will default to the size of the partition. [...] The resize2fs program does not manipulate the size of partitions. If you wish to enlarge a filesystem, you must make sure you can expand the size of the underlying partition first. This can be done using fdisk(8) by deleting the partition and recreating it with a larger size [...]

Is it safe to delete a partition with fdisk, then recreate it larger, then resize2fs the ext3 partition to fill the entirety of the partition (drive)?

share|improve this answer
    
Any ideas...??? –  Felipe Alvarez Jun 3 '10 at 13:54

It seems that parted is what you are looking for. The documentation is here.

To do what you want, you either delete the first partition (which you have already done), move the second partition with the parted command move, then resize it.

Or you can recreate the fist partition, copy all the data from the second partition to the first, delete the second partition and resize the first.

My gut feeling is to go with the second option. Less meddling with the partition table.

And as usual, do a backup beforehand.

share|improve this answer
    
FWIW, i've used gparted many times w/o any data loss. On ext3 and even ntfs (XP & 2000). It's a little frightening, becuase by default it doesn't give any feedback after the move/resize commnads. Make sure your plugged in (if it's a laptop) and that there's no risk of power loss ... –  Jason May 21 '10 at 12:03
    
gparted can do it. Of this I am sure, and so very grateful. Therefore, If one program can do it, one that is probably using GNU parted for most of the work, I seek a command-line only way to achieve the same thing. –  Felipe Alvarez Nov 7 '10 at 6:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.