「ディスクのクローン」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎ディスククローンソフトウェア: 英語版と同期してDeepin Cloneを翻訳して追加)
(校正(でき・出来))
 
(3人の利用者による、間の18版が非表示)
2行目: 2行目:
 
[[Category:システムリカバリ]]
 
[[Category:システムリカバリ]]
 
[[en:Disk cloning]]
 
[[en:Disk cloning]]
[[it:Disk cloning]]
+
[[es:Disk cloning]]
[[ru:Disk cloning]]
+
[[pt:Disk cloning]]
 
[[zh-hans:Disk cloning]]
 
[[zh-hans:Disk cloning]]
 
{{Related articles start}}
 
{{Related articles start}}
10行目: 10行目:
 
{{Related|Rsync によるフルシステムバックアップ}}
 
{{Related|Rsync によるフルシステムバックアップ}}
 
{{Related articles end}}
 
{{Related articles end}}
ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。[[バックアッププログラム|バックアップ]]や[[ファイルリカバリ|リカバリ]]用に他のコンピューターにドライブをコピーするのに役立ちます。
+
ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。[[バックアッププログラム|バックアップ]] [[ファイルリカバリ|リカバリ]] 用に他のコンピューターにドライブをコピーするのに役立ちます。
   
  +
{{Note|論理セクタサイズが異なる [[Advanced Format|ドライブ]] 間のディスククローニングはお勧めしません。
{{Tip|時間の経過とともに [[ファイルシステム]] は新しい機能を取得し、 [https://wiki.archlinux.org/index.php/File_systems#Create_a_file_system mkfs] ユーティリティはデフォルトを変更しますが、すべての新機能を再フォーマットせずに有効にできるわけではありません。 したがって、データを新しいドライブに移動するときは、ブロックデバイスやファイルシステムのクローンを作成する代わりに、新しいファイルシステムを作成し、 [[rsync#Full system backup|rsync]] などを使ってファイル (およびその属性、ACL、拡張属性など) のみをコピーすることを検討してください。}}
 
   
  +
* 論理セクタサイズが小さいドライブ (例:4096バイトから512バイト) への移行は、セクタ番号でパーティション境界を指定するため、パーティションテーブルの再作成が必要です。
== dd を使う ==
 
  +
* ファイルシステムのブロックサイズが対象ドライブの論理セクタサイズより小さいか、割り切れない場合、論理セクタサイズの大きいドライブ (例:512バイトから4096バイト) への移動ができない場合があります。
 
dd コマンドはシンプルでありながら、多目的に使える強力なツールです。ファイルシステムのタイプやオペレーティングシステムとは関係なく、ブロックごとに、コピーを行うことができます。ライブ CD などの、ライブ環境から dd を使用すると便利です。
 
 
{{Warning|この種のコマンドの常として、使うときは慎重にならなければなりません。さもないとデータを破壊するおそれがあります。入力ファイル ({{ic|1=if=}}) と出力ファイル ({{ic|1=of=}}) の順序に注意し、逆にしないように!必ずコピー先ドライブまたはパーティション ({{ic|1=of=}}) のサイズがコピー元 ({{ic|1=if=}}) のサイズ以上になっているようにしてください。}}
 
 
=== パーティションのクローン ===
 
 
物理ディスク {{ic|/dev/sda}} のパーティション 1 を、物理ディスク {{ic|/dev/sdb}} のパーティション 1 に複製。
 
# dd if=/dev/sda1 of=/dev/sdb1 bs=64K conv=noerror,sync status=progress
 
 
{{Warning|出力ファイル {{ic|1=of=}} (この例では {{ic|sdb1}}) が存在しない場合は、ルートファイルシステムにこの名前のファイルが作成されてしまいます。}}
 
 
=== ハードディスク全体のクローン ===
 
 
物理ディスク {{ic|/dev/sd''X''}} を物理ディスク {{ic|/dev/sdY}} に複製:
 
# dd if=/dev/sd''X'' of=/dev/sd''Y'' bs=64K conv=noerror,sync status=progress
 
 
このコマンドは MBR (とブートローダー)、全てのパーティション、UUID、データを含めディスクの全てを複製します。
 
* {{ic|1=bs=}} はブロックサイズをセットします。デフォルトはハードドライブの「古典的な」ブロックサイズである 512 バイトですが、64K や 128K など大きな値を使ったほうが最近の事情には即しています。また、以下の警告も読んでください。これはブロックサイズを変えるだけでなく、読み取りエラーがどのように伝播するかにも関係しています。どの値が最適なのかは [https://www.mail-archive.com/eug-lug@efn.org/msg12073.html] や [http://blog.tdg5.com/tuning-dd-block-size/] などを読んでください。
 
* {{ic|noerror}} は読み取りエラーを全て無視して操作を続行します。dd のデフォルトの挙動ではエラーがあると dd は動作を停止します。
 
* {{ic|sync}} は読み取りエラーが存在した場合、入力ブロックをゼロで埋めるため、データのオフセットも同期します。
 
* {{ic|1=status=progress}} は定期的に転送の統計を表示して、操作が完了するまでの時間を見積もることができます。
 
 
{{Warning|ブロックサイズを指定すると、読み取りエラーの制御方法が影響を受けます。以下を読んでください。}}
 
 
dd では入力ブロックサイズ (IBS) と出力ブロックサイズ (OBS) の指定ができます。{{ic|bs}} をセットすると IBS と OBS の両方をセットしたことになります。例えばブロックサイズを 1MiB にすると、通常は 1024*1024 バイト単位で読み書きします。しかし読み取りエラーが起きるとおかしくなります。{{ic|noerror,sync}} オプションを使うと dd は読み取りエラーをゼロで埋めるようになると思いがちですが、そうではありません。ドキュメントによると dd は''読み取りが完了した後で'' OBS を IBS と同じサイズになるようゼロ埋めします。つまりそのブロックの''最後''にゼロが追加されます。したがって、1MiB のブロックの最初でたった 512 バイトの読み取りエラーがあるだけで、1MiB 全体が駄目になってしまうことを意味します。例えば 12ERROR89 というデータの読み取り部分にエラーがあると、結果は 120000089 ではなく 128900000 になります。
 
 
自分のディスクにエラーがないと自信を持てるなら、ブロックサイズを大きくしてもよいでしょう。そうするとコピー速度が数倍向上します。例えば、単純な Celeron 2.7 GHz のシステムで bs を 512 から 64 KiB に変えたところ、コピー速度は 35 MB/s から 120 MB/s になりました。しかしくれぐれも、コピー元ディスクで読み取りエラーがあった場合はコピー先ディスクで''破損ブロック''になってしまうことに注意してください。つまり 512 バイトの読み取りエラーが1回あるだけで出力先ブロックの 64 KiB 全体が駄目になってしまいます。
 
 
{{Tip|''dd'' の進捗状況を表示したい場合、{{ic|1=status=progress}} オプションを使って下さい。詳しくは [[Core Utilities#dd]] を参照。}}
 
 
{{Note|
 
* ext2/3/4 ファイルシステムで一意な UUID を復活させるには、各パーティションで {{ic|tune2fs /dev/sd''XY'' -U random}} を実行してください。
 
* ''dd'' で変更したパーティションテーブルはカーネルには認識されません。再起動することなしにカーネルに変更を通知するには、([[GNU Parted]] に含まれる) partprobe のようなユーティリティを使ってください。
 
 
}}
 
}}
   
  +
{{Tip|時間の経過とともに [[ファイルシステム]] は新しい機能を取得し、[https://wiki.archlinux.org/index.php/File_systems#Create_a_file_system mkfs] ユーティリティはデフォルトを変更しますが、すべての新機能を再フォーマットせずに有効にできるわけではありません。したがって、データを新しいドライブに移動するときは、ブロックデバイスやファイルシステムのクローンを作成する代わりに、新しいファイルシステムを作成し、[[rsync#Full system backup|rsync]] などを使ってファイル (およびその属性、ACL、拡張属性など) のみをコピーすることを検討してください。}}
=== パーティションテーブルのバックアップ ===
 
   
  +
== ブロックレベルのクローニング ==
[[fdisk#バックアップとリストア]]を見てください。
 
   
  +
=== dd を使う ===
=== ディスクイメージの作成 ===
 
   
  +
[[dd#ディスクの複製と復元]] と [[Core utilities#dd の代替]] を参照してください。
1. liveCD や liveUSB から起動。
 
   
  +
=== ddrescue を使う ===
2. コピー元ドライブの全てのパーティションがマウント解除されていることを確認する。
 
   
  +
可能であれば、ディスクからのデータリカバリは、ネイティブインターフェイスを使用して実行する必要があります。SATA または古いドライブの場合は IDE です。USB アダプターを使用すると、結果が異なる場合があります。
3. 外部 HD をマウント。
 
   
  +
GNU {{Pkg|ddrescue}} は、読み取りエラーを無視できるデータ回復ツールです。''ddrescue'' は、あるデバイスから別のデバイスにデータをコピーするために両方を使用できることを除いて、dd とはまったく関係がありません。主な違いは、''ddrescue'' は洗練されたアルゴリズムを使用して故障したドライブからデータをコピーし、追加の損傷を可能な限り少なくすることです。詳細は [https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html ddrescue マニュアル] を参照してください。
4. ドライブをバックアップ:
 
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c > ''/path/to/backup.img.gz''
 
   
  +
故障したり死にかけているドライブのクローンを作るには、''ddrescue'' を2回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを {{ic|rescue.map}} にマッピングします。
必要であれば (外部 HD が FAT32 でフォーマットされている場合など) ディスクイメージを分割します (''split'' の [[man ページ]]を参照):
 
   
  +
# ddrescue --force -n /dev/sd''X'' /dev/sd''Y'' rescue.map
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c | split -a3 -b2G - ''/path/to/backup.img.gz''
 
   
  +
ここで {{ic|''X''}} はソースのパーティションであり、{{ic|''Y''}} はコピー先の [[デバイスファイル#ブロックデバイス|ブロックデバイス]] のパーティションレターです。
ローカルに十分なディスク空き容量がない場合は、イメージを ssh で転送することができます:
 
   
  +
2回目では、不良ブロックだけをコピーして、ソースからの読み込みを3回試してからあきらめます。
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c | ssh user@local dd of=backup.img.gz
 
   
  +
# ddrescue --force -d -r3 -n /dev/sd''X'' /dev/sd''Y'' rescue.map
5. イメージ内に保存されたパーティションテーブルを解釈できるようにするために、ドライブのレイアウトに関する付加情報を保存します。その情報の中で最も重要なのはシリンダーサイズです。
 
   
  +
状況によっては、特定のセクタを読み取ろうとしているときに、ディスク コントローラまたは USB アダプタがロックすることがあります。{{ic|-i}} オプションを使用して、''ddrescue'' にその位置の後で読み取りを開始するように指示できます。
# fdisk -l /dev/sd''X'' > ''/path/to/list_fdisk.info''
 
   
  +
これで、ファイルシステムの破損をチェックし、新しいドライブをマウントできます。
{{Note|使用するブロックサイズ ({{ic|1=bs=}}) はバックアップするハードディスクのキャッシュ容量に合わせると良いでしょう。例えばキャッシュが 8 MiB なら {{ic|1=bs=8192K}} とします。この記事で使っている 64 Kib はデフォルトの {{ic|1=bs=512}} バイトよりも高速に動作しますが、更に大きい {{ic|1=bs=}} を指定すれば高速化できます。}}
 
   
  +
# fsck -f /dev/sd''Y''
=== システムのリストア ===
 
   
システムをリストアするには:
+
== ファイルシステムのクローン ==
# gunzip -c ''/path/to/backup.img.gz'' | dd of=/dev/sd''X''
 
   
  +
=== e2image を使う ===
もしくはイメージが複数のボリュームに分かれている場合:
 
# cat ''/path/to/backup.img.gz*'' | gunzip -c | dd of=/dev/sd''X''
 
   
  +
''e2image'' は {{Pkg|e2fsprogs}} にデバッグ用として含まれているツールです。使用ブロックのみをコピーして効率的に ext2, ext3, ext4 パーティションをコピーできます。e2image が使えるのは ext2, ext3, ext4 ファイルシステムだけです。未使用ブロックはコピーされないため、削除したファイルを復元するのには役に立ちません。
== ddrescue を使う ==
 
''ddrescue'' はデータの複製・復元のために作られたツールです。ファイルやブロックデバイスからデータを別の場所 (ハードディスクや CD-R など) にコピーして、読み取りエラーが発生したドライブから無事な部分を救い出すことができます。
 
   
  +
e2image を使って、物理ディスク {{ic|/dev/sda}} の1番目のパーティションを物理ディスク {{ic|/dev/sdb}} の1番目のパーティションに複製するには:
故障したドライブから複製する場合、ddrescue を2回実行してください。1回目では、読み取りエラーが存在しないブロックをコピーして {{ic|rescue.log}} にエラーを出力します:
 
   
# ddrescue -f -n /dev/sdX /dev/sdY rescue.log
+
# e2image -ra -p /dev/sda1 /dev/sdb1
   
  +
{{Tip|[[GParted]]は ''e2image''を使って効率的に ext2/3/4 パーティションを複製します。}}
2回目では、不良ブロックだけをコピーして何とかデータを取り出せないか3回コピーを試します:
 
   
  +
=== xfs_copy を使う ===
# ddrescue -d -f -r3 /dev/sdX /dev/sdY rescue.log
 
   
コピーできたらファイルシステムをチェックして新しいドラブをマウントしてください:
+
{{Pkg|xfsprogs}} の {{man|8|xfs_copy}} を使用すると、[[XFS]] ファイルシステムを 1 つ以上のブロックデバスに並行してコピーできます。
   
  +
{{Note|デフォルトでは、''xfs_copy'' は新しいファイルシステム用に新しい [[UUID]] を生成します。同じ UUID のクローンを作成するには、{{ic|-d}} オプションを使用します。これにより、ディスク交換に​​適した複製ファイルシステムが作成されます。}}
# fsck -f /dev/sdY
 
   
  +
{{Tip|XFS のクローンを複数のブロックデバイスに並行して作成するには、それらをすべて {{ic|xfs_copy}} コマンドに追加するだけです。}}
== e2image を使う ==
 
   
  +
たとえば、{{ic|/dev/sda1}} 上のファイルシステムのクローンを {{ic|/dev/sdb1}} に作成するには、次のコマンドを実行します:
''e2image'' は {{Pkg|e2fsprogs}} にデバッグ用として含まれているツールです。使用ブロックのみをコピーして効率的に ext2, ext3, ext4 パーティションをコピーできます。e2image が使えるのは ext2, ext3, ext4 ファイルシステムだけです。未使用ブロックはコピーされないため、削除したファイルを復元するのには役に立ちません。
 
 
e2image を使って、物理ディスク {{ic|/dev/sda}} の1番目のパーティションを物理ディスク {{ic|/dev/sdb}} の1番目のパーティションに複製するには:
 
 
# e2image -ra -p /dev/sda1 /dev/sdb1
 
 
{{Note|gparted は e2image を使って効率的に ext2/3/4 パーティションを複製します。}}
 
   
  +
# xfs_copy /dev/sda1 /dev/sdb1
== ディスククローンソフトウェア ==
 
   
  +
== 汎用性の高いクローニングソリューション ==
以下のアプリケーションはファイルシステム全体をバックアップして、故障したときに簡単に復元することができます。ほとんどが Live CD や USB ドライブとして使えます。特定の時間の完全なシステムイメージを保存することができ、良い状態の設定を確認したいときにもよく使われます。
 
   
  +
以下のアプリケーションはファイルシステム全体をバックアップして、故障したときに簡単に復元することができます。ほとんどが Live CD や USB ドライブとして使えます。1つまたは複数の特定の時点での完全なシステムイメージが含まれており、既存の良い設定を記録するときによく使われます。これらの比較については [[Wikipedia:Comparison of disk cloning software]] を参照してください。
完全なシステムバックアップを作成できる他のアプリケーションについては[[バックアッププログラム]]を参照してください。
 
   
  +
完全なシステムバックアップを作成できる他のアプリケーションについては [[バックアッププログラム]] を参照してください。
* {{App|[[wikipedia:Acronis_True_Image|Acronis True Image]]|Windows 用の商用ディスク複製ツール。(Windows の中から) ライブ環境を作成できるため、使用するマシンに Windows がインストールされていなくても使えます。ウェブサイトで Acronis ソフトウェアを登録すれば、Linux ベースのライブ CD や Windows ベースのライブ環境 CD を作成するための BartPE のプラグインをダウンロードできます。Windows ベースの [[Windows PE]] のライブ CD を作成することも可能です。Acronis によって作成された ISO ライブ CD イメージは [http://www.syslinux.org/wiki/index.php/Isohybrid ハイブリッドブート] 機能を持っていないため直接 USB ストレージに書き込むことはできません。|http://www.acronis.com/products/trueimage/|}}
 
   
 
* {{App|Arch Backup|シンプルな設定を使用する平凡なバックアップスクリプト。
 
* {{App|Arch Backup|シンプルな設定を使用する平凡なバックアップスクリプト。
127行目: 84行目:
   
 
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|障害復旧、ディスククローン、ディスクイメージング、デプロイメントソリューション。
 
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|障害復旧、ディスククローン、ディスクイメージング、デプロイメントソリューション。
  +
** 完全なバックアップとリカバリソリューション:ブートセクタ、ブートローダ、パーティションテーブルを含むドライブ全体のイメージと復元が可能です。
** ライブ CD, USB フラッシュドライブ, [[PXE]] サーバーから起動。
 
** ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, [[btrfs]], FAT32, NTFS, HFS+ などをサポート。
+
** BIOS UEFI、MBR GPT をサポートします
  +
** ライブ CD, USB フラッシュドライブ, PXE サーバーから起動。
** Partclone (デフォルト), Partimage (オプション), ntfsclone (オプション), [[dd]] を使ってパーティションをイメージ化または複製。
 
  +
** ほとんどのファイルシステム (ext2-3-4、reiserfs、reiser4、xfs、jfs、btrfs、f2fs、FAT12-16-32、NTFS、HFS+、UFS など) と LVM2 をサポート。
  +
** Partclone (デフォルト)、Partimage (オプション)、ntfsclone (オプション) を使用する場合は空き領域を認識し、それ以外の場合は dd にフォールバックしてブロックレベルのコピーを行います (dm-crypt/LUKS コンテナー、サポートされていないファイルシステムなど。)
  +
** さまざまな形式 (zstd を含む) とレベルのマルチスレッド圧縮をサポート。
  +
** バックアップの暗号化をサポート。
 
** 多数のマシンを一度にリストアするマルチキャストサーバー。
 
** 多数のマシンを一度にリストアするマルチキャストサーバー。
 
** Arch Linux のインストールメディアに同梱されています。
 
** Arch Linux のインストールメディアに同梱されています。
|http://clonezilla.org/|{{Pkg|clonezilla}}}}
+
|https://clonezilla.org/|{{Pkg|clonezilla}}}}
   
* {{App|Deepin Clone|Deepin によるバックアップとリストアのツール。ディスクまたはパーティションのクローン作成、バックアップ、リストアをサポートします。|https://www.deepin.org/en/original/deepin-clone/ |{{Pkg|deepin-clone}}}}
+
* {{App|Deepin Clone|Deepin によるバックアップとリストアのツール。ディスクまたはパーティションのクローン作成、バックアップ、リストアをサポートします。|https://www.deepin.org/en/original/deepin-clone/|{{Pkg|deepin-clone}}}}
   
* {{App|FSArchiver|安全で柔軟性のあるファイルシステムバックアップ・デプロイメントツール
+
* {{App|FSArchiver|安全で柔軟性のあるファイルシステムバックアップ・デプロイメントツール
** 基本的なファイル属性をサポート (パーミッション, 所有者, ...)
+
** 基本的なファイル属性をサポート (パーミッション, 所有者, ...)
 
** ひとつのアーカイブで複数のファイルシステムをサポート。
 
** ひとつのアーカイブで複数のファイルシステムをサポート。
** ([[SELinux]] によって使われる) 拡張属性サポート。
+
** (SELinux によって使われる)拡張属性サポート。
** 全ての Linux ファイルシステムで共通のファイルシステム属性をサポート (ラベル, uuid, ブロックサイズ)
+
** 全ての Linux ファイルシステムで共通のファイルシステム属性をサポート (ラベル, uuid, ブロックサイズ)
** [http://www.fsarchiver.org/Cloning-ntfs ntfs ファイルシステム] をサポート (Windows パーティションの複製を作成能)
+
** [https://www.fsarchiver.org/Cloning-ntfs NTFSファイルシステム] をサポート(Windows パーティションの柔軟なクローンを作成する機能)
** アーカイブに書き込まれたデータのチェックサムを作成 (ヘッダ, データブロック, ファイル全体)
+
** アーカイブに書き込まれたデータのチェックサムを作成 (ヘッダ, データブロックファイル全体)
** 破損しているアーカイブの復旧ができます (作業ファイルをスキップ)
+
** 破損しているアーカイブの復旧ができます (作業ファイルをスキップ)
 
** lzo, gzip, bzip2, lzma のマルチスレッド圧縮。
 
** lzo, gzip, bzip2, lzma のマルチスレッド圧縮。
 
** 巨大なアーカイブを複数のファイルに分割することでファイルの最大容量を固定することができます。
 
** 巨大なアーカイブを複数のファイルに分割することでファイルの最大容量を固定することができます。
 
** パスワードによるアーカイブの暗号化。[[OpenSSL]] の libcrypto による blowfish を使用。
 
** パスワードによるアーカイブの暗号化。[[OpenSSL]] の libcrypto による blowfish を使用。
** マウントされている root ファイルシステムのバックアップのサポート (-A オプション)
+
** マウントされている root ファイルシステムのバックアップのサポート ({{ic|-A}} オプション)
** [http://www.sysresccd.org/Main_Page System Rescue CD] に同梱されています。
+
** [https://www.sysresccd.org/Main_Page System Rescue CD] に同梱されています。
|http://www.fsarchiver.org/|{{Pkg|fsarchiver}}}}
+
|https://www.fsarchiver.org/|{{Pkg|fsarchiver}}}}
   
 
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|バックアップメディアを作成する障害復旧ソリューション。損害を受けたシステムを再配置することができます。
 
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|バックアップメディアを作成する障害復旧ソリューション。損害を受けたシステムを再配置することができます。
156行目: 117行目:
 
** ライブ環境をバックアップできます (システムを止める必要がありません)。
 
** ライブ環境をバックアップできます (システムを止める必要がありません)。
 
** イメージを多数のファイルに分割可能。
 
** イメージを多数のファイルに分割可能。
** Live CD で起動することで完全なリストアが出来ます。
+
** Live CD で起動することで完全なリストアができます。
 
** NFS, CD, テープドライブなどのメディアからバックアップ・リストアできます。
 
** NFS, CD, テープドライブなどのメディアからバックアップ・リストアできます。
 
** バックアップの検証ができます。
 
** バックアップの検証ができます。
162行目: 123行目:
   
 
* {{App|[[Partclone]]|使用しているブロックだけを考慮してパーティションをバックアップ・リストアできるツール。
 
* {{App|[[Partclone]]|使用しているブロックだけを考慮してパーティションをバックアップ・リストアできるツール。
** ''ext2'', [[ext3]], [[ext4]], ''hfs+'', ''reiserfs'', [[reiser4]], [[btrfs]], ''vmfs3'', ''vmfs5'', [[XFS|xfs]], [[JFS|jfs]], ''ufs'', [[NTFS-3G|ntfs]], [[FAT|fat]](12/16/32), ''exfat'' をサポート。
+
** ext2, ext3, ext4, hfs+, reiserfs, reiser4, btrfs, vmfs3, vmfs5, xfs, jfs, ufs, ntfs, fat(12/16/32), exfat, f2fs, nilfs をサポート。
  +
** 特別な機能 (圧縮、暗号化など) をスクリプト化するためのパイプ、標準入力、および標準出力をサポートします。
** 圧縮をサポート。
 
  +
** レスキューモードでは、不良ブロックをスキップして正常なブロックのみをバックアップしようとします。ソース デバイスから GNU Ddrescue ドメイン ログ ファイルを作成するオプション。
** ''ncurses'' インターフェイスで使うこともできます。
 
  +
** ''ncurses'' インターフェイスが利用可能。
|http://partclone.org/|{{Pkg|partclone}}}}
 
  +
** バックアップされたすべてのブロックは、crc32 でチェックサムされます。
 
  +
** Arch Linux インストール メディアに含まれています。
* {{App|PartedMagic|PartImage などのリカバリツールが同梱されているライブ CD/USB。|3=http://partedmagic.com/doku.php?id=start|4=}}
 
  +
|https://partclone.org/|{{Pkg|partclone}}}}
   
* {{App|[[Wikipedia:Partimage|Partimage]]|Linux/UNIX 環境向けのディスク複製ユーティリティ。
+
* {{App|[[Wikipedia:Partimage|Partimage]]|Linux/UNIX 環境向けの ''ncurses'' ディスク複製ユーティリティ。
 
** ライブ CD が存在します。
 
** ライブ CD が存在します。
** Linux, Windows, macOS の様々なファイルシステムをサポート。
+
** Linux, Windows, macOS の最も一般的なファイルシステムをサポート。
** 圧縮
+
** 圧縮
** [[Samba]]/[[NFS]] を使用してネットワーク経由で保存したり CD や DVD に保存できます。
+
** Samba/NFS を使用してネットワーク経由で保存したり複数の CD や DVD に保存できます。
 
** 開発は停止して FSArchiver に移っています。
 
** 開発は停止して FSArchiver に移っています。
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}
+
|http://www.partimage.org|{{Pkg|partimage}}}}
   
* {{App|Q7Z|Linux 向けの P7Zip GUIデータの圧縮バックアップを楽にします。次の圧縮ファイルを作成することが可能: 7z, BZip2, Zip, GZip, Tar。
+
* {{App|J7Z|Linux 向けの Java による GUIデータの圧縮バックアップを楽にします。7z, BZip2, Zip, GZip, Tar アーカイブを作成することができます
 
** 既存のアーカイブを素早くアップデート。
 
** 既存のアーカイブを素早くアップデート。
 
** 複数のフォルダを一つのストレージにバックアップ。
 
** 複数のフォルダを一つのストレージにバックアップ。
 
** 保護されたアーカイブを作成・展開。
 
** 保護されたアーカイブを作成・展開。
 
** アーカイブのプロファイル・リストを使うことで負担を軽減。
 
** アーカイブのプロファイル・リストを使うことで負担を軽減。
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}
+
|http://j7z.xavion.name/|{{AUR|j7z}}}}
   
 
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|Linux CD ブータブルイメージから実行できるバックアップ・障害復旧アプリケーション。
 
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|Linux CD ブータブルイメージから実行できるバックアップ・障害復旧アプリケーション。
 
** ディスクパーティションのベアメタルバックアップとリカバリができます。
 
** ディスクパーティションのベアメタルバックアップとリカバリができます。
 
** バックエンドとして [http://www.xpud.org/ xPUD] と [[Partclone]] を使用。
 
** バックエンドとして [http://www.xpud.org/ xPUD] と [[Partclone]] を使用。
|http://www.redobackup.org/}}
+
|http://www.redobackup.org/|}}
   
* {{App|System Tar & Restore|フルシステムバックアップと復元を行うめの bash スクリプトのセット
+
* {{App|System Tar & Restore|tar を使ったシステムバックアップとリストア、ま rsync による転送
** CLI とダイアログインターフェス。
+
** GUIおよびCLIインターフェス。
** 簡単なバックアップと復元ウィザード。
 
 
** ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'', ''.tar'' アーカイブを作成。
 
** ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'', ''.tar'' アーカイブを作成。
 
** openssl / gpg 暗号化をサポート。
 
** openssl / gpg 暗号化をサポート。
 
** rsync を使って実行中のシステムを転送。
 
** rsync を使って実行中のシステムを転送。
** [[GRUB2]], [[Syslinux]], [[EFISTUB]]/[[efibootmgr]], Systemd/[[bootctl]] をサポート。
+
** Grub2, Syslinux, EFISTUB/efibootmgr, Systemd/bootctl をサポート。
 
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}
 
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}
   

2024年7月10日 (水) 20:37時点における最新版

関連記事

ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。バックアップリカバリ 用に他のコンピューターにドライブをコピーするのに役立ちます。

ノート: 論理セクタサイズが異なる ドライブ 間のディスククローニングはお勧めしません。
  • 論理セクタサイズが小さいドライブ (例:4096バイトから512バイト) への移行は、セクタ番号でパーティション境界を指定するため、パーティションテーブルの再作成が必要です。
  • ファイルシステムのブロックサイズが対象ドライブの論理セクタサイズより小さいか、割り切れない場合、論理セクタサイズの大きいドライブ (例:512バイトから4096バイト) への移動ができない場合があります。
ヒント: 時間の経過とともに ファイルシステム は新しい機能を取得し、mkfs ユーティリティはデフォルトを変更しますが、すべての新機能を再フォーマットせずに有効にできるわけではありません。したがって、データを新しいドライブに移動するときは、ブロックデバイスやファイルシステムのクローンを作成する代わりに、新しいファイルシステムを作成し、rsync などを使ってファイル (およびその属性、ACL、拡張属性など) のみをコピーすることを検討してください。

ブロックレベルのクローニング

dd を使う

dd#ディスクの複製と復元Core utilities#dd の代替 を参照してください。

ddrescue を使う

可能であれば、ディスクからのデータリカバリは、ネイティブインターフェイスを使用して実行する必要があります。SATA または古いドライブの場合は IDE です。USB アダプターを使用すると、結果が異なる場合があります。

GNU ddrescue は、読み取りエラーを無視できるデータ回復ツールです。ddrescue は、あるデバイスから別のデバイスにデータをコピーするために両方を使用できることを除いて、dd とはまったく関係がありません。主な違いは、ddrescue は洗練されたアルゴリズムを使用して故障したドライブからデータをコピーし、追加の損傷を可能な限り少なくすることです。詳細は ddrescue マニュアル を参照してください。

故障したり死にかけているドライブのクローンを作るには、ddrescue を2回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを rescue.map にマッピングします。

# ddrescue --force -n /dev/sdX /dev/sdY rescue.map

ここで X はソースのパーティションであり、Y はコピー先の ブロックデバイス のパーティションレターです。

2回目では、不良ブロックだけをコピーして、ソースからの読み込みを3回試してからあきらめます。

# ddrescue --force -d -r3 -n /dev/sdX /dev/sdY rescue.map

状況によっては、特定のセクタを読み取ろうとしているときに、ディスク コントローラまたは USB アダプタがロックすることがあります。-i オプションを使用して、ddrescue にその位置の後で読み取りを開始するように指示できます。

これで、ファイルシステムの破損をチェックし、新しいドライブをマウントできます。

# fsck -f /dev/sdY

ファイルシステムのクローン

e2image を使う

e2imagee2fsprogs にデバッグ用として含まれているツールです。使用ブロックのみをコピーして効率的に ext2, ext3, ext4 パーティションをコピーできます。e2image が使えるのは ext2, ext3, ext4 ファイルシステムだけです。未使用ブロックはコピーされないため、削除したファイルを復元するのには役に立ちません。

e2image を使って、物理ディスク /dev/sda の1番目のパーティションを物理ディスク /dev/sdb の1番目のパーティションに複製するには:

 # e2image -ra -p /dev/sda1 /dev/sdb1
ヒント: GPartede2imageを使って効率的に ext2/3/4 パーティションを複製します。

xfs_copy を使う

xfsprogsxfs_copy(8) を使用すると、XFS ファイルシステムを 1 つ以上のブロックデバイスに並行してコピーできます。

ノート: デフォルトでは、xfs_copy は新しいファイルシステム用に新しい UUID を生成します。同じ UUID のクローンを作成するには、-d オプションを使用します。これにより、ディスク交換に​​適した複製ファイルシステムが作成されます。
ヒント: XFS のクローンを複数のブロックデバイスに並行して作成するには、それらをすべて xfs_copy コマンドに追加するだけです。

たとえば、/dev/sda1 上のファイルシステムのクローンを /dev/sdb1 に作成するには、次のコマンドを実行します:

# xfs_copy /dev/sda1 /dev/sdb1

汎用性の高いクローニングソリューション

以下のアプリケーションはファイルシステム全体をバックアップして、故障したときに簡単に復元することができます。ほとんどが Live CD や USB ドライブとして使えます。1つまたは複数の特定の時点での完全なシステムイメージが含まれており、既存の良い設定を記録するときによく使われます。これらの比較については Wikipedia:Comparison of disk cloning software を参照してください。

完全なシステムバックアップを作成できる他のアプリケーションについては バックアッププログラム を参照してください。

  • Arch Backup — シンプルな設定を使用する平凡なバックアップスクリプト。
    • 圧縮方法を設定可能。
    • 複数の場所にバックアップ。
https://github.com/p5n/archlinux-stuff/tree/master/arch-backup/ || arch-backupAUR
  • Clonezilla — 障害復旧、ディスククローン、ディスクイメージング、デプロイメントソリューション。
    • 完全なバックアップとリカバリソリューション:ブートセクタ、ブートローダ、パーティションテーブルを含むドライブ全体のイメージと復元が可能です。
    • BIOS と UEFI、MBR と GPT をサポートします。
    • ライブ CD, USB フラッシュドライブ, PXE サーバーから起動。
    • ほとんどのファイルシステム (ext2-3-4、reiserfs、reiser4、xfs、jfs、btrfs、f2fs、FAT12-16-32、NTFS、HFS+、UFS など) と LVM2 をサポート。
    • Partclone (デフォルト)、Partimage (オプション)、ntfsclone (オプション) を使用する場合は空き領域を認識し、それ以外の場合は dd にフォールバックしてブロックレベルのコピーを行います (dm-crypt/LUKS コンテナー、サポートされていないファイルシステムなど。)
    • さまざまな形式 (zstd を含む) とレベルのマルチスレッド圧縮をサポート。
    • バックアップの暗号化をサポート。
    • 多数のマシンを一度にリストアするマルチキャストサーバー。
    • Arch Linux のインストールメディアに同梱されています。
https://clonezilla.org/ || clonezilla
  • Deepin Clone — Deepin によるバックアップとリストアのツール。ディスクまたはパーティションのクローン作成、バックアップ、リストアをサポートします。
https://www.deepin.org/en/original/deepin-clone/ || deepin-clone
  • FSArchiver — 安全で柔軟性のあるファイルシステムバックアップ・デプロイメントツール
    • 基本的なファイル属性をサポート (パーミッション, 所有者, ...)
    • ひとつのアーカイブで複数のファイルシステムをサポート。
    • (SELinux によって使われる)拡張属性のサポート。
    • 全ての Linux ファイルシステムで共通のファイルシステム属性をサポート (ラベル, uuid, ブロックサイズ)
    • NTFSファイルシステム をサポート(Windows パーティションの柔軟なクローンを作成する機能)
    • アーカイブに書き込まれたデータのチェックサムを作成 (ヘッダ, データブロック、ファイル全体)
    • 破損しているアーカイブの復旧ができます (作業ファイルをスキップ)
    • lzo, gzip, bzip2, lzma のマルチスレッド圧縮。
    • 巨大なアーカイブを複数のファイルに分割することでファイルの最大容量を固定することができます。
    • パスワードによるアーカイブの暗号化。OpenSSL の libcrypto による blowfish を使用。
    • マウントされている root ファイルシステムのバックアップのサポート (-A オプション)
    • System Rescue CD に同梱されています。
https://www.fsarchiver.org/ || fsarchiver
  • Mondo Rescue — バックアップメディアを作成する障害復旧ソリューション。損害を受けたシステムを再配置することができます。
    • イメージベースのバックアップ。Linux/Windows をサポート。
    • 圧縮率は調整可能。
    • ライブ環境をバックアップできます (システムを止める必要がありません)。
    • イメージを多数のファイルに分割可能。
    • Live CD で起動することで完全なリストアができます。
    • NFS, CD, テープドライブなどのメディアからバックアップ・リストアできます。
    • バックアップの検証ができます。
http://www.mondorescue.org/ || mondoAUR
  • Partclone — 使用しているブロックだけを考慮してパーティションをバックアップ・リストアできるツール。
    • ext2, ext3, ext4, hfs+, reiserfs, reiser4, btrfs, vmfs3, vmfs5, xfs, jfs, ufs, ntfs, fat(12/16/32), exfat, f2fs, nilfs をサポート。
    • 特別な機能 (圧縮、暗号化など) をスクリプト化するためのパイプ、標準入力、および標準出力をサポートします。
    • レスキューモードでは、不良ブロックをスキップして正常なブロックのみをバックアップしようとします。ソース デバイスから GNU Ddrescue ドメイン ログ ファイルを作成するオプション。
    • ncurses インターフェイスが利用可能。
    • バックアップされたすべてのブロックは、crc32 でチェックサムされます。
    • Arch Linux インストール メディアに含まれています。
https://partclone.org/ || partclone
  • Partimage — Linux/UNIX 環境向けの ncurses ディスク複製ユーティリティ。
    • ライブ CD が存在します。
    • Linux, Windows, macOS の最も一般的なファイルシステムをサポート。
    • 圧縮
    • Samba/NFS を使用してネットワーク経由で保存したり複数の CD や DVD に保存できます。
    • 開発は停止して FSArchiver に移っています。
http://www.partimage.org || partimage
  • J7Z — Linux 向けの Java による GUI でデータの圧縮やバックアップを楽にします。7z, BZip2, Zip, GZip, Tar アーカイブを作成することができます。
    • 既存のアーカイブを素早くアップデート。
    • 複数のフォルダを一つのストレージにバックアップ。
    • 保護されたアーカイブを作成・展開。
    • アーカイブのプロファイル・リストを使うことで負担を軽減。
http://j7z.xavion.name/ || j7zAUR
  • Redo Backup and Recovery — Linux CD ブータブルイメージから実行できるバックアップ・障害復旧アプリケーション。
    • ディスクパーティションのベアメタルバックアップとリカバリができます。
    • バックエンドとして xPUDPartclone を使用。
http://www.redobackup.org/ ||
  • System Tar & Restore — tar を使ったシステムのバックアップとリストア、または rsync による転送。
    • GUIおよびCLIインターフェース。
    • .tar.gz, .tar.bz2, .tar.xz, .tar アーカイブを作成。
    • openssl / gpg 暗号化をサポート。
    • rsync を使って実行中のシステムを転送。
    • Grub2, Syslinux, EFISTUB/efibootmgr, Systemd/bootctl をサポート。
https://github.com/tritonas00/system-tar-and-restore || system-tar-and-restoreAUR

参照