Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Parchive (Read 31967 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Parchive

Reply #50
Quote
Quote
I tried it and it works! A bit unexpected, because I expected the paths would make recovery impossible, but that worry appears to be unjustified). Thanks for pointing this out, geopaul.
This makes it a good alternative to Westgroveg's method above. Pro: no ISO extraction needed (initially). Con: during recovery, only files are recovered (no directories).

Wait a minute! Are you saying, that when par2 set is created from files themself (from all files on DVD), and then you extract DVD to an ISO, and feed Quickpar with that ISO, does Quickpar recover files?
[a href="index.php?act=findpost&pid=271346"][{POST_SNAPBACK}][/a]


Well, I tried this. My block size setting was 524288 bytes (512 kbyte) in Quickpar. The files were not audio files, they were random size and random type files. I created 10 % redundancy par2s. Then I generated a corrupt ISO (extracted 92% segment of the ISO with Isobuster.). Then I put this Iso segment and par2 files to one folders, and run Quickpar.

The result is interesting: only about half of the files were restored, however there was enough par2 data. The reason: there were many small files in the original files, which were smaller than block size (512 kbyte). So this method works, but it's important to set Quickpar options according to the files. If files are bigger files (for example flac images), then there is more chance to recover with this method. 

However ISO based PAR2 creation seems to more safe to me.

Parchive

Reply #51
That is a good remark.

To make sure everyone follows:

When PAR2 data is made from separate files, the files are padded with zeros untill they are an exact multiple of the blocksize. In other words: the efficiency drops (efficiency is displayed in Quickpar) to for example 70% which means that with 100MB of PAR2 data you can restore only 70MB of files. In other words your PARs are worth less than you might think. This explains the previous post.

Solution: for small files you should set either the blocksize low (ideally a fraction of the smallest filesize) but this is often not practical (PAR2 computation takes ages).
Alternative: avoid the number of small files or include them in a ZIP archive.
... or in an ISO

Another remark on same method referred to in the previous post: I suppose it will not work for files carrying the same filename (because recovery outputs them into the same folder = overwriting I suppose).

Parchive

Reply #52
Quote
I like this approach. What settings would you use for the creation of the PAR file? I would think the block size would be a very large multiple of 2048 since you plan on using the entire CD-R to burn the PAR file and your source file is a ~ 4.5gb *.iso file. Also, if you use 700mb CD-R a 15% redundancy level can be used (700/4500).

blocksize: The smaller the better, but the more computation time (for PAR creation). In practice you'd play around with the blocksize in Quickpar untill you get an acceptable computation time. Very probably you would end up with blocksize ~ MB. The more PAR data the more time so the bigger your blocksize. In practice people use anything from 512kB to 16MB.

% redundancy: a figure I hear a lot is 10%. IMHO what you need depends on your method. In the best case (=restore via ISO extraction), I think this is overkill (e.g. I plan to use about 2%). In the worst case (= restore without ISO extraction AND one PAR set per folder) 10% might be not enough since this would allow you to restore only 10% of a folder, while a scratch can do much more harm I'd guess.

Parchive

Reply #53
Let's take this topic into a new interesting direction:
Some of us would like to create PARs right away, without ISO extraction.

Quote
using burnatonce to compile and burn the ISO and isobuster to extract it, you get identical MD5s... at least with CD-Rs...
Don't know if this is the case for DVDs...

ISO compilation is probably faster than ISO extraction (at least I hope so - I have never compiled an ISO so far). So, with a little luck we can speed up our procedure.

Parchive

Reply #54
Quote
When PAR2 data is made from separate files, the files are padded with zeros untill they are an exact multiple of the blocksize. In other words: the efficiency drops (efficiency is displayed in Quickpar) to for example 70% which means that with 100MB of PAR2 data you can restore only 70MB of files. In other words your PARs are worth less than you might think. This explains the previous post.

Yeah. When I created par2 based on ISO, efficiency was 99%, but when I created par2 based on files themself with same redundancy, the efficiency was only 80%. That's why I couldn't restore all the files.

Parchive

Reply #55
Quote
Quote
If the disk fails, then:
a) Copy off as many of the files as you can still read, and if you can get partial files then so much the better.
b) Make as good of an ISO of the disc as you can (doesn't matter if you drop data or zero it, QuickPar can cope with either), and rename the ISO to PAR2.
c) Run Quickpar and feed it that "PAR2" to recover the set.

Seems like it should work fine to me. Unless I'm missing something.
[a href="index.php?act=findpost&pid=270995"][{POST_SNAPBACK}][/a]

I can't see why doing both a & b? Only one of them is necessary. And why renaming iso to par2?

Because a) is to get as many good files as you can, and b) is to recover the rest of them.

The idea here is that a PAR2 file comes in sets. So by ripping the ISO, you get as many PAR2 blocks from the single set you've created as you can get, and then rebuild all the missing files you couldn't get from step a) by using the PAR2 blocks you got in step b).

Quote
If i followed your scheme then in case of disc failure i would just make an iso and try to copy from the damaged disc any of par2 files. Then i would open the par2 file and feed the iso to QuickPar.[a href="index.php?act=findpost&pid=271033"][{POST_SNAPBACK}][/a]

But that's unnecessary, if you only have one big PAR2 file on the disc. QuickPAR works based on sets. By feeding the ISO to it as a PAR2 file, it'll get every possible PAR2 block out of the disk that it can, but only if you have one, and only one, PAR2 set in that ISO. Then this can be used to recover all the files you couldn't get from a).

Parchive

Reply #56
Quote
blocksize: The smaller the better, but the more computation time (for PAR creation). In practice you'd play around with the blocksize in Quickpar untill you get an acceptable computation time. Very probably you would end up with blocksize ~ MB. The more PAR data the more time so the bigger your blocksize. In practice people use anything from 512kB to 16MB.
[a href="index.php?act=findpost&pid=271398"][{POST_SNAPBACK}][/a]

Further more, if you select smaller block size then there would be a bigger overhead in the par2 files. If it hadn't been for the overhead, the ideal choice of block size would be 1 byte.


Quote
Quote
Quote
If the disk fails, then:
a) Copy off as many of the files as you can still read, and if you can get partial files then so much the better.
b) Make as good of an ISO of the disc as you can (doesn't matter if you drop data or zero it, QuickPar can cope with either), and rename the ISO to PAR2.
c) Run Quickpar and feed it that "PAR2" to recover the set.

Seems like it should work fine to me. Unless I'm missing something.
[a href="index.php?act=findpost&pid=270995"][{POST_SNAPBACK}][/a]

I can't see why doing both a & b? Only one of them is necessary. And why renaming iso to par2?

Because a) is to get as many good files as you can, and b) is to recover the rest of them.

The idea here is that a PAR2 file comes in sets. So by ripping the ISO, you get as many PAR2 blocks from the single set you've created as you can get, and then rebuild all the missing files you couldn't get from step a) by using the PAR2 blocks you got in step b).
[a href="index.php?act=findpost&pid=271433"][{POST_SNAPBACK}][/a]

If you extract the iso (as good as you can) then it will contain both good files and good PAR2 blocks. So there's no need to perform both a) and b). Just create 2 copies of the iso and rename then one of them to PAR2. Then open open this "PAR2" and feed to QuickPar the ISO.

Parchive

Reply #57
[span style='font-size:14pt;line-height:100%']To sum up:[/span]

Method A
(for those who like to keep the par2 set together with the files):
A1) Create the directory structure in whatever way you like
A2) Search for *.* and throw all files to QuickPar
A3) Create as much recovery blocks as you can
A4) Burn all the files and PAR2 sets in the same disc
In case of disc failure:
a1) Read the (possibly damaged) iso image of the disc with DVDDecrypter or IsoBuster
a2) Create a copy of this iso and rename it to *.PAR2
a3) Double-click this "PAR2" and feed to QuickPar the ISO
Alternative recovery process:
a'1) Copy as many files you can either with explorer or with isobuster
a'2) Double-click any of the par2 files
a'3) Click "Add" button in quickpar and add all the files copied both the actual files and the par2, even the damaged ones.
I recomend the a? recovery method since explorer cannot do partial copying.

Method B
(for those who like to keep the par2 set separately from the files):
B1) Burn a cd/dvd with whatever data you like
B2) Read the iso with DVDDecrypter or IsoBuster and create for that iso a par2 set
or
B'1) Create an iso of whatever data you like
B'2) Burn the iso to a cd/dvd
B'3) Read the iso with DVDDecrypter or IsoBuster and create for that iso a par2 set
Remark: if you notice that iso's in B1 and B3 are identical (you can check that with fc /b command in the Command Prompt) then omit the reading of the iso in step B3.
In case of disc failure:
b1) Read the iso with DVDDecrypter or IsoBuster and try to repair using the separately stored par2 sets

Method C
C1) Put all source files inside a truecrypt container
C2) Create as much recovery blocks as you can for this truecrypt container
C3) Burn both par2 set & truecrypt container in the same disc
In case of disc failure:
either a? or a'?

Method C*
Same as above except that you put all source files in an iso and burn it as a file along with the par2 set in a single cd/dvd.


Short comparison of the 3 methods
QuickPar pads all files in order to make their sizes an exact multiple of the block size. Hence, if you use method A and there are many small files then "source data" will be much more than the "actual data" resulting in lower recovery efficiency. Thus method B is more effective than A. C is somehow between A and B since everything is burned in a single disc and still all source files are treated as a single file. Moreover there are no problems with filename lengths.


General remarks
- The more recovery block the more time needed for par2 creation
- The smaller the recovery block the more time needed for par2 creation
- The more recovery block the greatest the recovery efficiency
- The smaller the recovery block the greatest the recovery efficiency
- Don't forget to set the following option:
  Preferred block size -> Exact: 2048
  and check always the "restict block size to multiples..." checkbox in quickpar's main window.

Method D ("Advanved method") This method is still in beta version! don't use it!
D1) Create an iso of whatever data you like and name it "1.iso"
D2) Create a par2 set for "1.iso"
D3) Create an iso containg solely the par2 files and name it "2.iso"
D4) Create the following cue-sheet
Code: [Select]
FILE "1.ISO" BINARY
 TRACK 01 MODE1/2048
   INDEX 01 00:00:00
   POSTGAP 00:02:00
FILE "2.ISO" BINARY
 TRACK 02 MODE1/2048
   INDEX 01 00:00:00
   POSTGAP 00:02:00

    and store it in the same directory as "1.iso" and "2.iso"
D5) Burn the cue sheet
In case of disc failure:
d1) Open isobuster and save each of the two tracks in a separate iso (named: "1.iso", "2.iso")
d2) Rename "2.iso" to "2.par2"
d3) Double-click "2.iso" and feed "1.iso" to QuickPar
I tag this method as a beta one because it seems it's not iso compliant. Windows will not read the second track (which is not necessarily bad) of the disc produced and nero cannot extract track 2 either. However, in all other respects (including recovery) this method is fine.

Parchive

Reply #58
Quote
If you extract the iso (as good as you can) then it will contain both good files and good PAR2 blocks. So there's no need to perform both a) and b). Just create 2 copies of the iso and rename then one of them to PAR2. Then open open this "PAR2" and feed to QuickPar the ISO.
[a href="index.php?act=findpost&pid=271459"][{POST_SNAPBACK}][/a]

For a lot of reasons:
1) Processing time. If your PAR2 is of the files in the ISO, then it has to rebuild the files from blocks it finds in the ISO. Whereas copying off what you can means that is less that the PAR program has to do.
2) If you're making a PAR of the ISO itself as a lot of people are talking about, then that's kinda putting the cart before the horse, isn't it? How can you make a PAR2 of an ISO when the PAR2 will be inside the ISO itself? If you put all your files on a disc and then make that into an ISO and then make a PAR2 of that and then burn the PAR2 to disk with the ISO, then the ISO has now changed, hasn't it?

However, the important bits here is to stick to one big PAR2 set. This allows you to get maximum value out of the broken ISO later, because of limitations in QuickPAR that only allow one set per "PAR2" file it reads.

Parchive

Reply #59
Quote
For a lot of reasons:
1) Processing time. If your PAR2 is of the files in the ISO, then it has to rebuild the files from blocks it finds in the ISO. Whereas copying off what you can means that is less that the PAR program has to do.
2) If you're making a PAR of the ISO itself as a lot of people are talking about, then that's kinda putting the cart before the horse, isn't it? How can you make a PAR2 of an ISO when the PAR2 will be inside the ISO itself? If you put all your files on a disc and then make that into an ISO and then make a PAR2 of that and then burn the PAR2 to disk with the ISO, then the ISO has now changed, hasn't it?
[a href="index.php?act=findpost&pid=271484"][{POST_SNAPBACK}][/a]

In case of damaged disc, reading from this disc is propably the most time-consuming procedure so i try to avoid doing it twice.
I was not talking about the case 2.

Parchive

Reply #60
Quote
[span style='font-size:14pt;line-height:100%']To sum up:[/span]
Method A
...

Thanks for your summing up geopaul.
However a remark about method A: what if the same filename occurs in more than one folder? Only one will be restored I suppose. EDIT: no problem, i tested it and Quickpar makes sure every file has a different name.

Quote
General remarks
...

You might want to add the factor 'how many par files'. The more files, the lower the efficiency. When recovering via simple windows explorer drag & drop, more par files on the DVD seems safer (in case you lose any), but it is not safer when recovering by ISO extraction (since damaged files can be extracted & used).

Parchive

Reply #61
Quote
2) If you're making a PAR of the ISO itself as a lot of people are talking about, then that's kinda putting the cart before the horse, isn't it? How can you make a PAR2 of an ISO when the PAR2 will be inside the ISO itself? If you put all your files on a disc and then make that into an ISO and then make a PAR2 of that and then burn the PAR2 to disk with the ISO, then the ISO has now changed, hasn't it?

No, we are not talking about put par2 files INTO the ISO. We are saying create par2 based on ISO, and store par2 ON ANOTHER MEDIUM. (However it's also possible to store on the same medium, as geopoul pointed out in his Method D.)

Parchive

Reply #62
I would like to see some comments on method D. Can someone propose a modification that will make it behave better with various programs? Is POSTGAP 00:02:00 really necessary?

Parchive

Reply #63
I'm currently using an alternative to geopoul's method C:

1) Create .tar files from all top-level directories to go on the disc
2) Create .par files to fill up the rest of the space on the disc
3) Burn the .tar and .par files to the same disc

The advantage is that .par files are made from all files, directory structure is preserved, and you can use large blocksizes without losing much efficiency (I'm currently using 30MB blocks, efficiency is usually around 97%). It's also easy to check what's on the disc without needing extra software like TrueCrypt.

The disadvantage, of course, is that you have to unarchive the .tar files before you can get at the contents, so you can't play music files straight from the disc, for instance. As I'm using this for backup purposes and play music from the original CDs most of the time these days this doesn't bother me.