QuickPARのHOW-TO-USE(つかいかた)

はじめに

このドキュメントは、PAR/PAR2というすばらしい仕組みを知っていただくために、ごく簡単にまとめたものです。
文中のスクリーンショットは、QuickPARに、拙作の日本語化パッチを当てたものです。
英語版を使用されている場合は、適宜読み替えていただければ幸いです。

PAR/PAR2ファイルとは?

ネットニュース上に流れているファイルの中に「.P01」や、「.PAR2」といった拡張子のファイルが混じっていることがあります。
これらは、対象となるファイルを冗長化し、破損や欠損から回復するための追加ファイルです。
対応ツールを使えば、PAR/PAR2と元のファイルを組み合わせて、壊れてしまったデータも取り戻すことが可能です。

PAR/PAR2の仕組み

PAR/PAR2の基本的な仕組みは、いわゆる「RAID5」と似ています。
つまり、壊れてしまったり失われてしまったファイルを、手元にあるファイルとPARファイルの組み合わせで再計算して復元・補完してしまおう、という発想です。

どういうことかイメージで理解するためには、簡単な足し算と引き算を想像してください。
データファイル1が「0」、データファイル2が「1」というデータを持っているとき、PARファイルはデータ1とデータ2を足した数「0+1=1」というデータを持つようにします。
もし、データファイル1が失われてしまったときは、PARファイルの「1」から、データファイル2の「1」を引いてやれば、「1-1=0」で、データファイル1の元のデータ「0」が復元できます。
これは簡単なパリティの原理ですが、PAR/PAR2は「Reed-Solomon符号」という、より高度な計算技術を使用して、複数のPARファイルと、複数データの欠損復元を実現しています。

PAR(PAR 1.0)の仕様

拡張子が「.pxx」(xxは00から始まる数字)となっているファイルは、「PAR 1.0」という仕様に基づくPARファイルです。
PAR 1.0は、データの保護と復元をファイル単位で行うことができます。
復元はPARファイル1個につき、破損または欠損した1個のファイルを復元できます。
2個のファイルが壊れてしまっている場合は、PARファイルが2個以上必要になります。

PAR2(PAR 2.0)の仕様

拡張子が「.par2」となっているファイルは、「PAR 2.0」という仕様に基づくPAR2ファイルです。
PAR 1.0がファイル単位であったのに対し、PAR2はブロック単位で保護と復元を行います。ブロックとは、データをある程度のサイズで区切ったものです。
ブロック単位になったことで、仕組みは一見してわかりにくくなりましたが、実際のメリットは非常に大きなものです。
ネットニュースは、大きなファイルの場合分割されて複数の記事として投稿されますが、配信漏れのために分割されたパーツが部分的にしか流れてこないことが、ままあります。
PAR 1.0では、「ファイル単位での復元」であったために、不完全ではあるもののせっかく配信されてきたパーツがあったとしても、それらをまったく活用することができませんでした。
PAR 2.0では、「ブロック単位での復元」という仕組みのおかげで、完全にそろわなかった分割パーツでも、ある程度復元の元データとして使用することができるようになりました。
このおかげで不完全なファイルが多数混じっていても、復元できる可能性が高くなったわけです。

実際に復元を行ってみる

まずはQuickPARをダウンロードし、インストールしてください。
英語が嫌いな方は、拙作の日本語化パッチを使用すれば、見た目は日本語で使用できます

初回起動時は設定画面が出るはずです。

ここで、とりあえず左上の関連付けを設定してください。
特に問題がなければ「PAR」「PAR2」ともに関連付けておけばよいでしょう。
ほかの設定は特に変更する必要はありませんが、関連付け起動時にすぐに修復を行ってほしいなら、「自動的に修復を開始する」を有効にしておけばよいでしょう。
設定がすんだら右下のOKボタンで、設定ダイアログを閉じます。

関連付けから開きたい人は、ここでいったんツールを終了して、PAR/PAR2ファイルをダブルクリックしてください。

関連付けで開かなかった場合は、修復作業を行いたいファイルを選択します。
このツールにはメニューというものが存在しませんので、左下の「開く」ボタンをクリックします。
ファイル選択ダイアログが現れますので、PAR/PAR2ファイルを選択します。

この例ではPAR2ファイルを開いた場合です。

PAR2ファイルを開くと、すぐにファイルのチェックが始まります。
存在し正常なファイルは緑、破損ファイルは黄色、存在しない(欠損)ファイルは赤で表示されます。
また、破損ファイルは何ブロック読み取れたかも表示されています。
基本的に、PAR/PAR2ファイルと、修復対象になる元のファイルは同じディレクトリに置くことが前提となっていますが、異なるディレクトリにある場合はPAR/PAR2ファイルを開いた後で、ドラッグ&ドロップやダイアログ右の「ファイル追加」ボタンで、対象ファイルを追加してやることでも対応できます。

チェックの結果、すべて正常なら「修復の必要はありません」と表示されます。
異常があっても、PAR/PAR2ファイルを使って修復が可能な場合には、「修復する準備ができました」と表示されます。
破損や欠損が多すぎて、修復ができない状態の場合には「あと○○ブロック必要です」などのメッセージが表示されます。
もし、ほかのディレクトリなどに、まだ修復対象のファイルが散らばって保存されているなら、さらにファイルを追加すればチェックが行われて、使用可能なブロックがあれば上積みされます。
最終的に、修復に必要なファイル/ブロックがそろえられれば、修復可能になります。
もし、修復可能なファイルやブロックがそろわない場合は、再投稿を待ってダウンロードしたり、不完全な分割記事を強制結合して、新たにブロックを作り出すしかありません。
そろでもそろわなければ残念ながらあきらめるほかありません。

さて、「修復可能」と診断されたら、「修復」ボタンを押します。
すると、関連するデータファイルが読み込まれて、計算が始まります。
ファイル数やサイズにもよりますが、結構な時間がかかることもあります。
ただし、計算が終わるまで特にすることはありませんから、ただひたすら待つか放っておいてほかのことをやっていてもいいでしょう。

そして「修復が完了しました」と表示されたら、すべての処理は完了しました。
おめでとうございます!壊れていたあなたの手持ちのファイルは、PAR/PAR2によって復元・補完されました。

PAR2とABC2にかかわるTips

拙作のダウンロードツール「Auto Binaries Collector 2」(以下ABC2)でも、PAR/PAR2にかかわるいくつかの機能があります。
ここでいくつかご紹介しておきます。

不完全な分割パーツの結合
通常、すべてのパーツがそろっていない不完全な分割記事は、一定の期間保存された後、自動的に削除されていきます。
しかし、PAR2ではブロック単位での冗長化のため、完全にそろっていない不完全な分割記事でも、ある程度使用できることがあります。
そのため、そろわなかった分割記事でも貴重なデータになることがありますので、ABC2では削除前の不完全な記事の強制結合をサポートしています。
この機能を使用するには、ABC2のパーツに関する設定で、「期限切れ処理前に、強制結合を試みる」を有効にします。


PARファイル分類支援プラグイン
PARファイルは、修復対象ファイルと同じフォルダにおくのが原則ですが、ABC2の標準的な振り分け機能では、PARの特性に従った分類はできません。
そこで、PARファイルの分類支援のための追加プラグインが配布されています。
ABC2のプラグインマネージャから「PARファイル分類支援プラグイン」をインストールすれば、使用可能になります。
ABC2の「プラグイン」メニューから、「PARファイル分類支援」を選ぶと、プラグインの設定を行うことができます。
お好みの分類にあわせて、設定してください。