小さいハードディスクにクローンを作成する方法は?


42

ハードディスクを小さなサイズにクローンする方法。

  1. Clonezillaは素晴らしいですが、そのような機能をサポートしていません。
  2. またdd、PartImageはこの要求をサポートしていません。
  3. rsync MBRはファイルではないため、MBRはコピーされません。

バックアップを取らないためにHDDのクローンを作成する必要rsyncがあるので、受け入れられる答えではありません。

助言がありますか?


2
ただ一つの質問、なぜクローンであることが必要なのですか?UUIDの場合は、ddコピーを実行する前にファイルシステムを縮小しますか?縮小してもかまわない場合は、resize2fsを実行してファイルシステムをターゲットディスクよりも小さい場所に移動し、ddをコピーします。反対側でresize2fsを再度実行し、展開して新しいディスクをいっぱいにします。
darkdragn

回答:


36

単に十分なスペースがないため、大きなパーティションを小さなパーティションにクローンすることはできません(使用ddなど)。

ただし、大きなパーティションにあるファイルが小さなパーティションにも収まる場合は、rsyncそれらのファイルをコピーするために使用できます。使用する正確なオプションは、特定のユースケースによって異なりますが、すべてのファイルを単純にコピーするには、次のようにする必要があります。

rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition

編集: もう一度:大きなパーティションを小さなパーティションに複製することはできません。(しかし、読み進めてください、あなたの問題はまだ解決できます。)

その理由は簡単です。ソースパーティションがターゲットパーティションよりも大きいからです。何を期待しますか?いくつかのブロックをドロップするだけですか?どれ?そして、どのようにdd知る必要がありますか?もちろん、あなたが使用できるddbs=count=唯一のオプションは、それがあなたのターゲットパーティション上に収まるように、ソースパーティションの最初のSO-と、それほど多くのブロックをコピーしますが、壊れたパーティションになってしまいます。それは確かにあなたが望むものではありません。

あなたがするのでだから、クローンすることはできません小さいパーティションへの大きなパーティション、あなたができる唯一のことはすることです最初に小さいかのようなものを使用して、ターゲットパーティションと同等のサイズにソース・パーティションのサイズを小さくgpartedする認識していますデータが失われないように、ファイルシステムの詳細。そして、唯一それから、あなたは使用することができdd、パーティションのクローンを作成します。理想的には、ソースパーティションの新しいサイズは、ターゲットパーティションのサイズと同じ小さくも等しくもしない)でなければなりません。そうしないと、クローン作成後にターゲットパーティションに未割り当て領域ができてしまいます。

また、大きなドライブのMBRを小さなドライブのMBRに単純にコピーしないでください(その逆も同様)。512バイトのサイズでハードドライブの最初のセクションであるMBRには、ハードドライブのレイアウトに関する情報が含まれています。

  • 446バイト-ブートストラップ。
  • 64バイト-パーティションテーブル。
  • 2バイト-署名。

(ことに注意してください446+64+2=512。)

MBRのクローンを作成する場合は、次のように最初の446バイトのみをクローンします。

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

...交換する/dev/source/dev/target、ソースとターゲットのハードドライブ]、例えば、のデバイス名を持つ/dev/sda/dev/sdb、それぞれ。(詳細については、こちらをご覧ください。

ただし、適切な方法は、新しいハードドライブでクリーンなGrubの再インストール(またはMBRにあるもの)を実行することです。

要約すると、大きなドライブを小さなドライブに複製する場合は、次の手順を実行します。

  1. ソースドライブと同じ数のパーティションを持つターゲットドライブにパーティションテーブルをレイアウトします。ソースドライブのパーティションとターゲットドライブのパーティションは1対1で対応している必要がありますが、ターゲットドライブの(一部の)パーティションは、ソースドライブの対応するパーティションよりも小さい場合があります。fdiskまたはcfdiskそのようなツールを使用します。

  2. ソースドライブ上の対応するパーティションよりも小さいターゲットドライブ上の各パーティションについて、ソースドライブ上のこの対応するパーティションのサイズを小さくして、ターゲットドライブ上のパーティションのサイズと一致させます。そのようなツールを使用してくださいgparted

  3. ソースドライブの各パーティションに対して、コマンドを発行します

    dd if=/dev/sdaX of=/dev/sdbY
    

    ... /dev/sdaXソースドライブから/dev/sdbYターゲットドライブ上の対応するパーティションにパーティションを複製する(もちろん、デバイス名を適切に置き換えます)

  4. MBRのクローンも作成することを主張する場合はdd、この投稿(上記の/tmp/mbr.bakものを含む)で上記で説明した2つのコマンドを使用します。ただし、クリーンなGrubの再インストールの方が良いことに注意してください。


2
MBRはファイルではないため、rsyncはクローン作成用ではないため、rsyncはMBRをコピーしません。バックアップを作成するのではなく、ハードディスクのクローンを作成する必要があります;)
Maythux 14年

2
はい、rsyncクローニング用ではありません。それがまさに私が言っていたことです-私の投稿を注意深く読んでください。;)すべてのパーティションとMBRのクローンを作成する方法を説明するために、投稿を編集しました。これがあなたの望むものに近いことを願っています。
マルテスコルッパ14年

1
誰かがクリーンなGrubインストールをどのように行いますか?
ケンシャープ

1
@KenSharpたとえば、こちらをご覧ください:help.ubuntu.com/community/Grub2/Installing
Malte Skoruppa

1
@gerrit ステップ1にparted/ gpartedを使用することはまったく問題ありません。よくあることですが、目標を達成する方法はたくさんあります。fdisk/ cfdiskはより「基本的な」ツールであり、上記の説明では、私は単に仕事をする最も基本的なツールを参照しようとしていました。
マルテスコルッパ

14

Malte Skoruppaがすでに投稿しているため、正確なクローニングはできません。ただし、clonezillaは、より大きなディスクがいっぱいでない限り、このタスクを実行できます(Malteはすでにこれについて言及しています)。

基本的に、詳細オプションを有効にし、小さいディスクに関する警告メッセージを「無視」する必要があります。参照してくださいClonezillaをドキュメントをスクリーンショットと詳細については。160GB HDDのバックアップを64GB SSDに復元するときに同じ問題が発生しました。私にとってこれはうまくいきました。

必要な結果になるはずの別のソリューションは、同じサイズのディスクに復元し、新しいパーティションスキーマを小さいディスクに収めるために再パーティション化することです。参照jsm-techblog.blogspot.deこれを行う方法の詳細については。


@DennisNolte Clonezillaで有効にする必要がある高度なオプションはどれですか?ドキュメントを読む-k1と、ターゲットディスクに比例してパーティションテーブルが作成され、パーティション内-rのファイルファイルシステムのサイズを自動的に変更するオプションがオンになると思います。これは正しいです?
プロバックアップ14年

私はもう100%確信していませんが、それらは同じことをもう一度やるなら私が試みるオプションです、はい。しかし、私はそれが正しく機能するまで2回または3回の試行が必要でしたが、悲しいことに、アドバンスオプションを使用する以外に、どのステップを踏んだか覚えていませんでした。
デニスノルテ

k1オプションを使用してこれを機能させることはできませんでしたが、-icdsオプションは私のために機能しました。詳細を回答を掲載します。
bbodenmiller 14

askubuntu.com/a/504778/310789で、これがどのように機能するかについての詳細を追加しました
bbodenmiller

Clonezillaはディスクからディスクへのコピーを介してこれを行うことができますが、エキスパートモード(-icdsパラメーター)でのみ可能です。@ProBackupは-k1の使用に注意してください、私の場合はセグメンテーション違反を生成します(Clonezilla Live 20160627)。代わりに、クローンの前(および後)にGpartedを使用して、必要なだけの未割り当て領域を残し(および再利用)、ディスク領域チェック(-icds)をスキップしてクローンを作成します。ここで、小さなディスクにクローンを作成する手順をリストしました(Linuxしかない場合は、MBRについてWin7の部分をスキップします)。
カイラル

7

Gpartedは仕事をするべきです

  1. gpartedでサイズ変更した後、Clonezillaでイメージングする前に、ドライブから起動してOSにエラーを修正する機会を与えます。

  2. 次に、Clonezillaを実行し、必要なハードディスクパーティションのコピーを作成します

私に最適な別のオプション:MondoRescure

Mondo RescueはGPL災害復旧ソリューションです。

バックアップメディアとしてのテープ、ディスク、ネットワーク、CD / DVD、複数のファイルシステム、LVM、ソフトウェアおよびハードウェアRAIDをサポートしています。

簡単なガイドはこちらにあります

スクリーンショットをいくつか投稿します。

ステップ1バックアップ(パーティションスクリーンショット)

1.サポートされているバックアップメディアタイプのリストから選択します。

ここに画像の説明を入力してください

2. CD / DVD- + R [W]にバックアップしている場合、MondoはCDバーナーにBurnProofテクノロジーが搭載されているか、ラップトップの内部にあるか、それともエキセントリックかを尋ねます。テープストリーマにバックアップしている場合、このメッセージは表示されません。

3.どの程度の圧縮が必要ですか?なし。テープストリーマにハードウェア圧縮が組み込まれている場合。CPUが非常に高速の場合、最大。平均は、ほとんどの状況でうまくいくはずです。

ここに画像の説明を入力してください

4.コンピューター全体(/ sys、/ run、/ proc、および/ tmpを除く)をバックアップする場合は、これをデフォルトの/のままにします。それ以外の場合は、サブセットを指定します(例:/ usr / local | / home)。各パスの間に必ずパイプを入れてください。

ここに画像の説明を入力してください

5.コンピュータ全体をバックアップする場合、特定のディレクトリ(/ shared / MP3など)を除外できます。「ディレクトリを除外する」ダイアログボックスでそれらを指定してください。各パスの間にパイプを入れてください、例えば/ shared / private | / scratch | / nfs | / windows

ここに画像の説明を入力してください

6.カーネルは正常ですか?Red Hat、Mandrake、SuSE、Debian、およびSlackwareのユーザーは、一般に「はい」と言ってください。これらのベンダーは、信頼できるカーネルの作成に長けているからです。GentooまたはLFSを使用している場合、カーネルは非標準である可能性があります。その場合、Mondoのフェイルセーフカーネル(別途提供)を使用する場合は「no」と言います。

ここに画像の説明を入力してください

7.アーカイブをメディアに書き込んだ後にアーカイブを検証する場合は、ここで「はい」と言います。ハードウェアとLinuxディストリビューションに絶対的な信念がある場合は、「いいえ」と言い、少し祈ってください。

ここに画像の説明を入力してください

8.先に進みたいと確信している場合は、「はい」と発声し、Mondoがコンピューターをバックアップしている間に他にやるべきことを見つけます。「いいえ」と言うと、シェルプロンプトで不意にダンプされます。:-)

ここに画像の説明を入力してください

9.バックアッププロセスが開始されます。最初に実行するバックアップ前のタスクがいくつかありますが、バックアップは基本的に進行中です。バックアッププロセスを簡素化するために、一連の質問がありました。次回は、必要に応じて、一連の質問に答える代わりに、さまざまなコマンドラインスイッチを使用してmondoarchiveを呼び出し、その動作を制御できます。詳細については、manページを参照してください。

ここに画像の説明を入力してください

10.Mondoは、バックアップするすべてのファイルのカタログを作成します。これには最大5分かかります。ファイルのリストは、セットごとに約4 MB(圧縮前)のファイルに分割されます。通常、これには1分かかります。

ここに画像の説明を入力してください

11.モンドはミンディに電話します。Mindiは、既存のLinuxディストリビューションとファイルシステムに基づいたブータブルメディアイメージと補助データディスクイメージを生成します。そうすれば、Mondoのツールが既存のファイルシステムおよびバイナリと互換性があることを確認できます。Mondoのツールがあなたのツールです。Mindiの実行には最大5分かかります。

ここに画像の説明を入力してください

12.最後に、モンドはコンピューターのバックアップを開始します。このプロセスには、アーカイブするデータの量、CPUの速度、使用するRAMの量などに応じて、数分または数時間かかる場合があります。通常のファイルをバックアップしてから、大きなファイル(約32MBを超えるファイル)をバックアップします。バックアップの検証を選択した場合、モンドはそれも行います。

ここに画像の説明を入力してください

ステップ2復元(パーティションクローン)

1.バックアップメディアの種類を選択します。ライブ復元プロセスは、Mondoメディアから起動した後にmondorestoreをパラメーターなしで入力した場合に発生するものと非常に似ています。

ここに画像の説明を入力してください

2.テープ/ CDを挿入したら「OK」を押します。テープバックアップを生成した場合、テープ自体で十分です。CDバックアップを生成した場合、最初のCDで十分です。それ以外の場合は、ブートメディアが必要になる場合があります。

ここに画像の説明を入力してください

3.復元するファイルとディレクトリにフラグを立てます。[詳細]および[少ない]ボタンを使用して、サブディレクトリを開いたり閉じたりします。

ここに画像の説明を入力してください

4.ファイルを復元する場所を指定します。一般に、「/」が適切です。復元するファイルの新しいバージョンを上書きしたくない場合は、復元パスとして/ tmp / BKPなどを指定します。

ここに画像の説明を入力してください

5.Mondorestoreは、メディアから構成情報を取得します。(サンプル画面はテープユーザー向けです。CDユーザーには別のものが表示されます。)

ここに画像の説明を入力してください

6.データはハードディスクに復元されます-最初に通常のファイル、次に復元セット内の大きな(32MB以上の)ファイルがあります。

ここに画像の説明を入力してください


おもしろそうです。試してみます。結果をフィードバックします
Maythux 14年

結果と@Maythuxフィードバック?
ハイマストドン

最初にすべてをディスクに書き込む必要がありますか?
ケンシャープ

mondoを動作させるためにすぐに飛び込んで物事を試したい人は、最新バージョンのlib-projectbuilder-perl、libmondorescue-perl、mindi-busybox、mindi、mondoをMondoRescueからダウンロードしてインストールする必要があります。依存関係が満たされないようにするために、上記のリンクをクリックし、その順序でインストールしてください。利用可能な.debパッケージがあるので、ソースからコンパイルする必要はありません。
オタク長老

現在のバージョンには、ここにリストされているバージョン(1.5)のUIが含まれていないようであり、心のこもったテストを起動できませんでした。
オタク長老

4

Clonezillaを使用すると、より大きなハードドライブからより小さなハードドライブへの「疑似クローニング」を実現できます。効果的に、ディスクのパーティションを保存および復元できます。次の手順(HDDからSSDへの転送用に開発された)がそこに到達します。

  1. 最初のトリックは、Gpartedを使用してハードドライブ上のパーティションのサイズを変更し、各パーティションを縮小して、含まれる未使用領域の量を減らすことです。明らかに、パーティションは、すべてのパーティションに必要な合計スペースがSSDの容量よりも小さくなるようにサイズ設定する必要があります。

  2. 次にClonezillaを実行し、個々のハードディスクパーティションのコピーを作成して(savepartsオプションを使用)、これらを外部USBドライブに一時的に保存します。ディスク全体(savedisk)のイメージを作成するのではなく、パーティション(saveparts)を保存する必要があることに注意してください。

  3. SSDをターゲットマシンにインストールした場合、2番目のトリックは、パーティションマネージャーをもう一度使用して、SSDに目的のパーティション構造を作成することです。
  4. Clonezillaを使用して、保存されたパーティションを(restorepartsを使用して)SSDに復元します。

参照:プロセスとリファレンスソースのリンクの詳細については、ハードドライブをより小さいSSD「クローン」してください。


3

上記の例のほとんどは、実際に元のドライブのサイズを変更することを示唆しているため、実際にコピーを作成する前にデータを変更することにより、データが危険にさらされる可能性があります。

私が使用する非常にマニュアルではありますが、リスクが少ない別の方法があります。何かが失敗したためにフォールバックしたい場合に備えて、ソースドライブはそのままです。

また、クローン/サイズ変更では、ディスクスワップを行っている間に新しいドライブに移動しながら、新しいファイルシステムに切り替えることはできません。以下の手順では、目的のドライブに選択したファイルシステムのみを作成する必要があります。

元のドライブと一緒に新しい宛先ドライブをコンピューターにインストールします。

  • UbuntuのライブCDからコンピュータを起動します。
  • 宛先ドライブ。gparted createを使用します:ext4(または切り替え先の新しい高速ファイルシステム)(ボリューム、およびスワップボリュームとスワップ-ファイルシステム
  • gpartedで、新しいボリュームにブートフラグを設定します

私の例では、ソース(元のドライブ)は/ dev / sdaであり、宛先(新しい小さいドライブ)は/ dev / sdbです。セットアップでは、異なる場合があります

/ mnt / sourceの下にsrcを読み取り専用としてマウントします

  • mkdir / mnt / source; mount -o ro / dev / sda / mnt / souce

宛先ドライブを/ mnt / destinationの下にマウントします

  • マウント/ dev / sdb1 / mnt / destination /

次を使用してsrcファイルシステムを宛先ファイルシステムにコピーします。

  • rsync -log /mnt/destination/rsync-copy.log --progress -avr --exclude = / mnt / source / dev / -A -H -X --numeric-ids / mnt / source / * / mnt / destination /

新しいディスクがあるため、ubuntuはデバイス名の代わりにuuidを使用してドライブを見つけてマウントします。新しいドライブuuidを使用してディスクをマウントするように宛先fstabを変更します。

  • ls -la / dev / disk / by-uuid

    /のuuidを変更し、/ mnt / destination / etc / fstabでスワップします。元のドライブとは異なるものに変更することにした場合、マウントポイントのファイルシステムを変更することを忘れないでください

grubが同じバージョンであることが重要な場合は、元のディスクを再度ブートし、以下のコマンドを実行して実行して、grubを新しいドライブにインストールします。

  • grub-install / dev / dev / sdb

次に、ソースドライブをコンピューターから削除し、宛先ドライブを起動します。grubは完全に起動せず、grubリカバリシェルのリカバリシェルを終了します。

いくつかの必要なgrubモジュールをロードするには-insmod ext2-insmod linuxはディスクデバイスをリストします-ls

適切なデバイスを選択します(この例ではhd0、msdos1です)

  • root =(hd0、msdos1)を設定します

vmlinuz-xxxおよびinitrd-xxxの正確な名前を見つけて、使用するgrubを構成します

  • ls / boot /

    上記のlsから取得したvmlinuzおよびinitrdの適切な名前を確認して使用し、以下で使用しているサンプルバージョンの代わりにそれらを使用します。

  • linux /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda single

    / dev / sdaがデバイスの場合、ドライブは次回dstディスクのみでマシンを再起動するときにrootfsディスクになります

  • initrd /boot/initd.img-2.6.32-5-amd64

  • ブート

これでマシンが正常に起動します。最後にgrubを更新して新しいディスクuuidを使用するため、毎回この手動手順を繰り返す必要はありません。

  • update-grub

3

ClonezillaGPartedを使用して、データをより小さなドライブに転送できます。

GParted Live CDを使用すると、新しいドライブに収まるようにパーティションが縮小されます。空の(灰色の)スペースがドライブの右端にあるようにパーティションを移動します。最初のパーティションの前にすでに空のスペースがあった場合、ブートまたはその他の隠された情報が含まれている可能性があるため、そのスペースを残します。

Clonezillaを使用してdevice-deviceクローンを作成します。詳細オプションを選択し、-icdsディスクサイズのチェックをスキップするオプションを有効にします。クローンを続行し、古いドライブを削除して、新しいドライブから起動してみてください。-fsck-src-partエラーが発生した場合は、ソースディスクのエラーの修復に役立つオプションを試してください。

Clonezillaドキュメントから:

イメージのすべてのデータが小さいディスクに収まる、つまり間違ったディスク領域に書き込まれないことが確実な場合は、オプション「-icds」をチェックできます。警告!このオプションを選択するには、何をしているのかを知る必要があります!

私が読んだFAQの 1 つは、Clonezillaで-icds-k1オプションの両方を使用することを提案しましたが、それは私にはうまくいきませんでした。他の人は、GPartedを使用してパーティションをコピーできると述べましたが、すべてのパーティションタイプをコピーすることはできず、その方法を使用した後にマシンを起動できませんでした。


1

質問に対する正しい答えではないかもしれませんが、同様の問題を解決しようとしてこのページに到達します。

古い256Mbコンパクトフラッシュカードを、破壊された32Mbのコンパクトフラッシュカードに複製したかったのです。フラッシュカードには、小さなスプリングコイルを製造する小さなLinuxアプライアンスが含まれています。

この方法で解決しました:

(もちろん、256Mbで使用される有効スペースは32Mb未満であったため、うまく適合します)

  1. 'dd'を使用して256Mbフラッシュカードのイメージを作成します(つまり、カードが/ dev / sdbにマウントされていると仮定します)。

    dd if=/dev/sdb of=image256.iso
  2. unetbootinを使用して、「image256.iso」ISO(Diskimageオプション)を読み取ります。

  3. 32MbカードがあるUSBドライブを選択し、32Mbカードにイメージをダンプします。

それだけです、32Mbカードが私のマシンを再び正常に起動しました。

HTH


0

2つのステップで作成して、最初にシステムのクローンをスパースイメージにします(イメージを追加すると、イメージが大きくなります)。このイメージから2番目の小さいディスクに復元します。


0

ライブCDでは、大きなディスクの最後のパーティション(/ dev / sdc3など)のlvm(ある場合)よりもファイルシステム(resize2fs)を小さくするだけで、小さなディスクに収まります。

fdiskでは、最後のパーティション(/ dev / sda3)をより小さなセクターで削除および再作成するため、大きなディスクの最後のセクターは、小さなディスクの最後のセクターと同じ値を持ちます。

スペースがなくなるまで#dd if = big of = small bs = 10Mを行うよりも。

1つの悪い値はデータ損失の原因となるため、縮小中は特に注意してください。


0

GPartedを使用して大きなディスクのファイルシステムを縮小した後、2つのディスクをRAIDケースに入れてミラーリングモードにします。大きなディスクがソースで、小さなディスクがターゲットです。クローンを開始するには、ケース内のリセットボタンをクリックするだけで済みました(モードを変更せず、RAID 1からRAID 0へ)。完全に機能しました!:) GW3.5AX2-SU3 / MB Raidケースを使用しました。


0

250ギガバイト(sda)のブートディスクを120ギガバイト(sdc)のディスクに圧縮した経験を投稿します

sdaには2つのパーティションが含まれます。

  • sda1-> / boot(ext3)
  • sda2-> lvm2:/(245gb)およびswap(5gb)

私もです:

  • dd sda mbrからsdc
  • fdisk sdcと変更を書き込むので、sdcに構造が作成されます
  • dd sda1からsdc1

私のgpartedはlvmで動作しないので:

レスキューディスクから:

  • 最初のVG / LV00のアンマウント
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxK(使用されているスペースよりも1GB多い)
  • lvreduce -L xxxxxxxxxK VG / LV00(fsスペースよりも1GB多い)
  • pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK(LVスペースよりも1 GB多い)(ここにエラーがあります...

    • pvs -v --segments / dev / sda2(セグメントを表示)
      • pvmove --allocどこでも/ dev / sda2:segment_min-segment_max(ディスクの「右側」で見たセグメントから)

しかし、FS-LV-VGを縮小するだけなので、パーティションはまだ大きくなりました。

fdiskでパーティションを再作成します。

fdisk /dev/sda 
d --> 2
n --> p --> 2 --> default --> (new reduced
size!!!)
 w

次に、システムを再起動するまで、古いパーティションテーブルが使用されていることを確認します。しかし、再起動してイメージを実行するのを忘れました:

dd if = / dev / sda2 of = / dev / sdc2 bs = 4096(この時点で、何かが間違っていると思い、パーティションテーブルが新しいsda2の終わりを反映していないため、sdcで起動できませんでした)

しかし、すべてがOKで、再起動後、システムでさえブートするsdcパーティションを選択しました(PV、LV、/ bootの重複について不平を言っています)

私はラッキーかどうか、または不必要な手順を行うかどうかわからない...任意のコメントをいただければ幸いです。


これは答えですか、それとも質問ですか?
セス

私が推測する両方のこと
...-oso_togari

0

免責事項:私はWereSyncの元の著者です

これはWereSyncを使用して可能です。WereSyncはMalteの回答の一般的なプロセスに従いますが、必要なコマンドは複数ではなく1つだけです。さらに、クローンをバックアップとして使用している場合、バックエンドでrsyncを使用するため、そのバックアップを増分的に更新できます。

WereSyncをインストールするには、pipを使用します。

pip install weresync

そこから単純にWereSyncコマンドを使用できます

 weresync -C -g 2 -E 1 /dev/sda /dev/sdb

上記のコマンドは、/ dev / sdaから/ dev / sdbにデータをコピーします。この-Cフラグは、WereSyncが2つのドライブのパーティションが同等であるかどうかをチェックし、そうでない場合は、WereSyncが/ dev / sdaから/ dev / sdbにパーティションをコピーし、収まるようにサイズを変更することをマークします。新しいパーティションのUUIDは異なります。パーティションが有効かどうかのテストに使用されるシステムは細心の注意を要する場合があるため、最初のバックアップ後にこのフラグを省略することをお勧めします。

-gそして-Eコマンドは、省略することができますが、ブートローダのインストールは、ほぼ確実にそのような場合には失敗します。

-g 「grubパーティション」を指すか、パーティションgrubをインストールする必要があります。通常、これは/にマウントされたパーティションです。/ dev / sda2が/にマウントされ-g 2ている場合、上記の例のようにWereSyncに渡します。これが省略された場合、WereSyncはそれ自体で適切なパーティションを見つけようとしますが、エラーが発生しやすくなります。単純にフラグを渡すことをお勧めします。

-EEFIパーティションを指します。EFIパーティションが/ dev / sda1にある場合-E 1、上記のコマンドのようにWereSync に渡します。

/ bootフォルダー用に別のパーティションがある場合は、WereSyncにも知らせる必要があります。/ dev / sda3にある場合は-B 3、WereSyncに渡します。

このコマンドで使用可能なフラグの詳細については、WereSync Command Documentationをご覧ください


livecdを追加できますか?
タル

0

NVMe(Samsung 950 Pro)が認識されないため、再起動後に1607へのWin 10アップデートが破損するため、この問題に遭遇したため、NVMeを他の(より大きい)内部ドライブ(私の場合は「東芝」)に複製しました、Win 10を更新し、システムをNVMeに復元しました。

これを実現するために必要な手順を次に示します(restorepartsが機能し-icdsなかったため)。

ツール:

  • Windows 10 1607 DVD(現在のOSに応じたビット深度と言語)
  • Clonezilla Live DVD(2.4.5 +
  • またはBIOSで設定されたUEFIで起動できるClonezilla Live DVD(20160203-xenial +
  • (オプション)GParted Live DVD(0.27.0-1

準備:

  1. すべてのツールをCD / DVDに書き込む
  2. Clonezillaを実行し、NVMeをイメージ(たとえば、外部ドライブ)にクローン(ドライブからイメージ)します

注意:

安定版ブランチからClonzilaを使用した場合、CDから起動できるようにするには、BIOSでレガシーブートモードに切り替える必要があります。それ以外の場合、代替ブランチからのダウンロードを使用する場合、UEFIブートをサポートする必要があります。

免責事項:

ご自身の責任でガイドに従ってください。ここでの手順とコマンドはチェックおよびダブルチェックされますが、入力ミスによりデータの損失やハードウェア障害が発生する可能性があるため、まず何をしているのかを学び、正しい方向へのヒントとしてこれらの手順を実行してください。

手順:

  1. Clonezillaを実行し、NVMeを東芝にクローン(ドライブからドライブ)します(私の場合、事前にクリーンアップ/バックアップした他の内部ドライブ)。
  2. 1回目はWindowsでNVMeがまだWinブート情報を持っているため、競合が発生したと思うので、今回は東芝への最初のクローン作成直後(UEFIブートへの切り替え前)にNVMeドライブのすべてのパーティションを削除しました

    〜削除はClonezillaシェルで簡単にできます:

    sudo su
    dd if=/dev/zero of=/dev/nvme0n1 bs=512 count=1
    

    〜または、GPartedを起動し、そこで視覚的に実行します

  3. (BIOSでUEFIブートに切り替えます)

  4. ブート(東芝が使用されます)
  5. Win 10 1607インストールDVDを実行して[インストール]を選択し、[更新プログラムのダウンロード]をチェックして、[アプリとデータの保持]を選択します。これにより、東芝がWin 10の最新バージョンにアップグレードされます。
  6. (BIOSでレガシーブートに切り替える)念のため、東芝をイメージにバックアップします(Clonezilla経由)
  7. MBRのコピーは私にとって何の役にも立たなかったため、このストーリーではGPTが重要なので、(Clonezilla)シェルに入り、東芝からNVMeにGPTをコピーします。

    sudo su
    sgdisk /dev/sda -R /dev/nvme0n1
    sgdisk -G /dev/nvme0n1`
    

    説明

  8. Clonezilaは(Expertスイッチ-icdsを使用しても)パーティションを復元することを拒否するので、再びシェルに入り、次の操作を行います。

    partprobe #forces kernel to reload partition infos
    fdisk -l #shows all disks info
    dd if=/dev/sda1 of=/dev/nvme0n1p1 bs=64K status=progress
    dd if=/dev/sda2 of=/dev/nvme0n1p2 bs=64K status=progress
    dd if=/dev/sda3 of=/dev/nvme0n1p3 bs=64K status=progress
    ...
    

    詳細

  9. Tosiba MBRおよびGPTのバックアップ:

    sgdisk --backup=sda.gpt /dev/sda
    
  10. バックアップを安全な場所にコピーします(手順6で行ったドライブイメージ全体ではなく、復元できるようにします)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. Toshibaパーティション情報をクリアして、Windowsとの競合を引き起こさないようにします

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (BIOSでUEFIブートに切り替える)Windows 10(1607)DVDからブートし、[修復]> [トラブルシューティング]> [コマンドプロンプト]を選択して、これらすべてを実行します。

    bootrec /fixboot
    bootrec /scanos
    bootrec /fixmbr
    bootrec /rebuildbcd
    exit
    

    詳細

  13. NVMeディスクでWindows 1607を再起動します

  14. 勝つ!
  15. (ディスクの管理で東芝を再初期化)
  16. (オプション)更新されたNVMeディスクをバックアップします(Clonezillaでイメージにクローンを作成します)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.