Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

This question already has an answer here:

I state I am asking if it is possible and HOW. I note many forum answers are 'you can't' or 'you don't need to on Linux cause it is perfect and wonderful' - none of these answers will help.

Firstly, the HDD in question is SATA 163 GB and contains ONLY backup data like music, video and NO windows programs or installations. I have had a HDD failure in second HDD that is completely FUBAR so have lost my windows installation, this HDD had linux and windows dual boot, HDD is undetectable in BIOS.

The working HDD is 130GB full with capacity of 163GB (it is badly fragmented due to excessive use...). I intend to defrag this drive using USB linux OS (bootable USB with installation files and 'trial') and any other programs that will enable this task. Once this is done I intend to locate which data areas are free (the end of HDD data storage area), create a new partition on this free space, install linux full version and get things working.

+++

I understand fully the following:

I can buy a new HDD for install.

I can get an external hard drive, back up the data.

I also understand that copying off backup hdd and then copying back will do the same as defrag.

I ask this question to find out how to complete this action I have requested and NOT to complete it using the methods unavailable to me at this time.

Thanks

share|improve this question

marked as duplicate by Seth, Alvar, psusi, Eric Carvalho, Radu Rădeanu Jul 14 '13 at 4:46

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
you don't hvae to defrag a ext filesystem, so no you can't do it. –  Alvar Jul 13 '13 at 16:48
1  
Well, to add to "you can't" and "you don't need", I think you don't even want to. Defragmentation won't make a large area of free space. It will only defragment individual files - so they can still be scattered over the whole area. Secondly, if you succeed in moving files to the start of end of the current partition then it will take you the same amount of time as letting the partition shrink and have the resize process take care of that for you. (both methods require the same data to be moved). –  gertvdijk Jul 13 '13 at 16:48
    
thanks for your answers. –  mike Jul 13 '13 at 16:53
1  
Alvar, it is not ext filesystem it is NTFS, and aswell as that linux can become fragmented and at times a defrag could be useful (except on new drives etc) despite what linux users say about allocation of HDD space by linux. This question asks: is this action possible and how would i do it, NOT should i do it. –  mike Jul 13 '13 at 16:58
1  
well you never said what file system was used on the HDD –  Alvar Jul 13 '13 at 17:01

1 Answer 1

up vote 4 down vote accepted

Personally I wouldn't bother to defrag the NTFS partition of the HDD since if you install Ubuntu on the spare part it will only use that amount as a hard drive and the rest will not be effected. Then just mount the NTFS on Ubuntu and access the files there.

an ext4 file system doesn't have the problems with empty slots as NTFS or FAT32. The problems with NTFS and FAT32 are that the storage is based on data being put in slots and if a files on fills up 15 slots but are assigned 16 slots then one slot will be empty.

here is where defrag comes in and moves the data around so that the data is used in each slot and the empty slots are declared as empty instead of used by this and that file. This saves space and makes access times shorter since you don't have to search the whole HDD for a file.

In ext4 files are divided through out the disk and the fields where the data is stored is linked to the original file, so a file can be stored in row 1, field 2, row3 field 12, etc.

So moving files around to save space doesn't work in ext4, you will make no more room on the hard drive. it will be just as easy to access files as it was before. This is just an example of the principle, explaining it in detail seemed too complex right now.

Is it possible to defrag an NTFS from Ubuntu
What I've found out by searching on this topic is that there is no program to defrag an NTFS HDD from Ubuntu. The best solution is to:

  1. mount the HDD under Ubuntu
  2. Copy the files to another HDD
  3. Re-format the HDD (preferably with ext4)
  4. move back the files

If you don't have another drive I would

  1. create a ext4 partition on the empty space and move some files to there
  2. remove those files from the NTFS partition
  3. resize the NTFS partition to make it smaller
  4. make the ext4 partition larger

Do this procedure until all files are moved and the NTFS partition is gone.

share|improve this answer
    
I am not trying to create 'more' space, I am trying to compress the files in one section of the HDD so I can manually create the space for a possible new partition. As I said before the question is how can you do this, please refer to the question. –  mike Jul 13 '13 at 17:04
    
thanks though!! –  mike Jul 13 '13 at 17:05
    
Unless I am wrong a defrag can allow files to be stored in sections 0-130 GB with the rest empty. Im trying to make a new partition that is all. –  mike Jul 13 '13 at 17:07
1  
@mike No. Read up on how filesystems work. Your continuing repeated question about to control the physical spot on the hard drive does not make sense for what you're trying to achieve. Shrinking a filesystem (and partition) should not delete any files. –  gertvdijk Jul 13 '13 at 17:13
1  
Just wanted to add that the order of shrinking the filesystem and then shrinking the partition is important. Otherwise you will lose data. And yes, a filesystem is different from a partition, in case you are frowning upon this comment. –  gertvdijk Jul 13 '13 at 17:19

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