Jump to content

Can ImgBurn Build use hardlinks for duplicate files


MarkC

Recommended Posts

I'm trying to burn data from multiple cd's to a dvd, and there is a lot of duplicated content across the cd's. There is about 6 gig of data, but less than 4 when duplicates are taken into account.

 

I've been using ImgBurn for a while, but it doesn't appear to have an option to hardlink duplicates when it builds iso.

 

I could probably work out how to use CdImage for this (I have CdImage_Gui as well), but the sucker grabs 130M of ram and 130M of virtual memory to run, even if the iso is only 2.5M (just built as a test)

 

Is there a way to get ImgBurn to build a iso with hardlinks, or does anyone know of another free Iso Builder that can do it?

 

Particularly given cdimage specifically says "For Microsoft internal use only."

 

Thanks

 

Mark

 

I hunted round the forum before I posted this for a half an hour before I posted this, but couldn't find a prior discussion on this topic, can anyone point me at one?

Link to comment
Share on other sites

No there's no way to handle duplicates within ImgBurn. It uses exactly what it's given.

 

Are these duplicate files in the same folders? I'm guessing they're not or it would be easy!

 

No, they're not in the same directory. There are matching files in CD1/image, CD2/image etc, but in order for the programs to run, the images and other files have to be in the directory below them.

 

CdImage appears to do an MD5 sum for each file, and if they match, only store the data file once on the cd and get the two directory entries to point to the same file, a cd equivalent of NTFS hardlinks. I've found a utility called DFHL (Duplicate file hard linker) that processes ntfs files this way, finding duplicates and hardlinking the two together, it saves disk space. I think some versions of MkIsoFs can do this too, if the files are already hardlinked on the disk, but there seems to be a few too many caveats and warnings for me to try that path, just at the moment.

 

Since this is pretty much a one-off, I think I'll proceed with CdImage. Though I might need this functionality again if I do another combined burn of all my old backups like I did a few months ago, where I copied back a few years worth of Cd backups, ran a script to delete some of the duplicates and then backed them up to a dvd.

 

I just hope I can find something nicer than CdImage to do it :-)

 

Thanks for the response.

 

Mark

Link to comment
Share on other sites

I don't know if it's something that should be considered, but, I've noticed one case that made me wonder if some check should be included for it.

 

 

When folders of the same name from different sources are placed into a image, say, C:\WINDOWS and D:\WINDOWS, where both C:\WINDOWS and D:\WINDOWS contained different file names. C:\WINDOWS is added first, so, D:\WINDOWS contents are ignored because the folder names are the same. As in the past, this may be that great a consideration because the image building is supposed to be quick and dirty, e.g. not a facing GUI driven Nero clone, as I think was the terms once used. :) But, I thought I'd mention it in context of this post.

Link to comment
Share on other sites

In your case db, ImgBurn would error out if duplicate files exist in the 2 source directories and they're going to end up in the same folder on the CD/DVD.

 

So there IS already a check in place for that kinda thing.

 

Hardlinking might not actually be that difficult to implement, it just means an extra stage of MD5'ing all the files and linking the duplicates before calculating the size of the image and building up the filesystems with the correct LBA for each file.

Link to comment
Share on other sites

Ok I'm working on this now so it'll be available as an option in the next version. It will be disabled by default though.

 

 

Umm, WOOT!!

 

Thank you very much, I'm looking forward to the next version.

 

MarkC

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.