web-dev-qa-db-ja.com

ddを使用したGPTパーティションSSDバックアップ上のWindows7

プライマリSATAハードドライブの魔女が私のOSを含んでいるので、私はSSDデバイスを持っています。このデバイスには、WindowsとLinuxMintがインストールされています。ここで、Windowsインストールのイメージを作成して、何かが失敗した場合にイメージを復元できるようにします。ハードディスクはGPTパーティションスキームを使用しており、次のパーティションが存在します(sda上)。

  1. EFIパーティション
  2. Windows 7(ms-tree)これがどこにあるのかわからない
  3. Windows 7(ntfs)システムドライブc:
  4. Linuxmint用の\ boot(ext2)
  5. \(ext4)Linuxmint用のシステムパーティション

まず第一に、実行中のウィンドウを復元するためにバックアップする必要がある最小限のパーティションがwitchパーティションであることを知っておくと便利です。 ntfsファイルシステムのパーティション番号3だけですか、それともms-treeパーティションを含める必要がありますか? EFIパーティションのバックアップがない場合、新しいパーティションを作成し、Windows 7のインストールディスクからbceditを使用してWindowsブートマネージャーを再インストールできますか?

私の2番目の質問は、必要なパーティションのバックアップを作成するときです。

dd if=/dev/sda1 conv=sync,noerror bs=64K | gzip > ~/image-compress_sda1.img.gz

ハードディスクがクラッシュし、新しい1つの魔女で回復したいのですが、gptパーティションテーブルと/ dev/sdb2のようなパーティションを作成しました。

gzip -dc ~/image-compress_sda1.img.gz | Sudo dd of=/dev/sda1 bs=64K

または、これによりGPTパーティションテーブルに問題が発生しますか?私の古いディスク実行で持っていたのと同じパーティションスキームを再作成する方法はありますか?4と5のパーティションの魔女はLinux固有ですか?そして、パーティションが小さすぎると、ddはクラッシュするだけでどうなりますか?

そして私の最後の質問は、Linuxでntfsパーティションのimg.gzファイルを簡単にマウントできますか?

1
Cake42

EFIシステムパーティション(ESP;最初のパーティション)はEFIブートローダーを保持するため、バックアップする必要があります。そうしないと、OSパーティションを復元するときに起動できなくなります。これには、ファイルレベルのバックアップ(tarcpなどを使用)で十分であり、実際、ddバックアップよりも効率的である可能性があります。ファイルレベルのバックアップを使用すると、元のサイズとは異なるサイズのESPに簡単に復元できます。ddは、元のデバイスよりも小さいデバイスに復元するときに不完全なファイルシステムを作成するため、決して元のファイルシステムに復元しないでください。その場合に使用されます。 OTOH、ddバックアップは、Linuxが通常/etc/fstabで使用するファイルシステムのシリアル番号を保持します。ファイルレベルのバックアップを行う場合は、新しいファイルシステムを作成してファイルを復元するときに/etc/fstabを調整する必要があります。

パーティションまたはファイルシステムのタイプとして「ms-tree」について聞いたことがありません。ただし、標準のWindows EFIインストールでは、 Microsoft Reserved Partition、 があります。これは基本的に、Windowsパーティションソフトウェアが将来の操作で「スクラッチスペース」として使用できる単なる空のスペースです。 AFAIK、長期データが含まれていないため、バックアップから除外できます。ただし、さらに安全にしたい場合は、ddバックアップを実行できます。

3番目のパーティション(Windows C:ドライブ)は明らかに重要です。 Windowsバックアップツールを使用して処理するか、Linuxではntfscloneを使用することをお勧めします。 ntfscloneを使用したときに、元のパーティションよりも小さいパーティションに復元できるかどうかは思い出せませんが、大きいパーティションに復元できることは間違いありません。 ntfscloneのドキュメントには、復元されたパーティションは起動できないと記載されていますが、これはBIOSベースのコンピューターにのみ当てはまります。 EFIシステムでは、ESPのブートローダーが適切に復元されていれば、ntfscloneで作成されたイメージは正常に起動するはずです。 (ただし、パーティションテーブルに問題がある可能性があります。新しいディスクへの復元をテストしたことはありません。)Windowsのバックアップにこのオプションを使用する場合は、Windowsソフトウェアのドキュメントを確認してください。

大まかに言えば、パーティションに復元してもパーティションテーブルの問題は発生しません。つまり、/dev/sda1(またはその他)に復元しても、パーティションテーブルは影響を受けません。パーティションテーブルは特定のパーティションの外部に保存されるため、パーティションテーブルを損傷するには、パーティションソフトウェア(gdiskparted、GPartedなど)を悪用するか、ディスク全体のデバイス(/dev/sda)に書き込む必要があります。 。ただし、先ほど触れたように、ソフトウェアは、パーティションテーブルに格納されているGUID値によってパーティションを参照する場合があります。次のように、パーティションのGUID値をgdiskまたはsgdiskで識別および変更できます。

Sudo sgdisk -i 1 /dev/sda
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: 2C47C282-EE6E-45DE-A5AD-E8658CA67DE6
First sector: 2048 (at 1024.0 KiB)
Last sector: 390625 (at 190.7 MiB)
Partition size: 388578 sectors (189.7 MiB)
Attribute flags: 1000000000000000
Partition name: 'EFI System'

この例は、パーティションがESP(Partition GUID code行)であり、GUID値が2C47C282-EE6E-45DE-A5AD-E8658CA67DE6( Partition unique GUID行)。このデータを別のディスクに複製する必要がある場合は、次のように-uオプションをsgdiskに使用します。

Sudo sgdisk -u 1:2C47C282-EE6E-45DE-A5AD-E8658CA67DE6 /dev/sda

これにより、パーティション1の一意のGUIDが2C47C282-EE6E-45DE-A5AD-E8658CA67DE6に設定されます。これを行う方法は他にもあります。詳細については、gdiskおよびsgdiskのマニュアルページを参照してください。ただし、これは必要ないかもしれないことを強調したいと思います。さらに、GUIDを不必要に複製すると、特に元のディスクと新しいディスクが同じコンピューターで一緒に使用される場合に、問題が発生する可能性があります。これは、これらの値が一意であると想定されているため、2つのパーティションのGUIDが同じである場合、一部のソフトウェアの仮定に違反する可能性があるためです。これを実行する主な理由は、ブートローダーまたはその他のツールがパーティションをGUID値(一部のLinuxツールではPARTUUIDとも呼ばれる)で参照する場合です。その場合、GUID値を複製すると、ソフトウェアは再構成せずに機能しますが、ソフトウェアの構成の調整も機能します。問題は、ソフトウェアを再構成する方法がソフトウェアに依存することです。

1
Rod Smith