web-dev-qa-db-ja.com

rsyncと誤って削除されたホームフォルダでハードドライブをクローンする

古いSSDハードドライブを2倍のサイズの新しいドライブに交換したいのですが、どういうわけかrsyncがどのように機能しているかを理解できません。

私はこの投稿を読みました ファイルシステム階層全体をあるドライブから別のドライブにコピーします

これまで、Linuxで実行中のシステムを搭載したドライブのクローンを作成したことはありません。

古いハードドライブと同様に新しいハードドライブを分割しました。

**Old drive**
Device          Start       End   Sectors   Size Type
/dev/sdc1           a         b         c     1G EFI System
/dev/sdc2           d         e         f    64G Linux filesystem
/dev/sdc3           g         h         i   512M Linux swap
/dev/sdc128         j         k         l 400.3G BIOS boot

**New drive**
Device          Start        End    Sectors  Size Type
/dev/sdd1           a          b          c    1G EFI System
/dev/sdd2           d          e          f   64G Linux filesystem
/dev/sdd3           g          h          i  512M Linux swap
/dev/sdd128         j          m          n  866G Linux filesystem

また、これまで気づかなかったパーティションタイプの間違いも修正しました(BIOSブートの代わりに/ home別名/ sev/sdX128の場合は8300)

次にSudo mount /dev/sdd128 /mnt/ssd/homeを試しましたが、うまくいかなかったため(ファイルシステムエラーが悪い)、実行しました

Sudo rsync -avxHAX --info=progress2 --numeric-ids /dev/sdc128 /dev/sdd128

その結果、コピーされたのは数バイトだけでしたが、上記のコマンドでドライブを再度マウントすると、それが機能し、マウントポイントを介してホームフォルダーから任意のファイルにアクセスできたため、rsyncで何らかのシンボリックリンクが作成されたことがわかりました。 。

でファイルをもう一度コピーしようとしました

Sudo rsync -avxHAX --info=progress2 --numeric-ids /home /mnt/ssd/home 

しかし、今起こったことは、/home/home/homeにコピーされていたため、sdcドライブがすぐにディスク領域を使い果たしたということでした。

使用中のシステムには推奨されないことを読んだので、私がよく知っているddの使用は避けたいと思います。

ディスクを複製するために本当に必要なコマンドは何ですか? (古いディスクを取り外して、何も再インストールせずに新しいディスクを使用したい[ただしGRUB])。

編集:

/homeを使用しているときに、誤ってrm -r /home/homeフォルダのコンテンツのほぼ全体を削除してしまったことに気付きました(隠しファイルとフォルダが残っています)。コマンドを使用したときに何が起こったのかを誰かに説明してもらえますか。可能であれば、これを元に戻す簡単な方法は?

1
kaiya

Rmを元に戻す簡単な方法はありません。それが可能であるという保証すらありません。

rsyncはファイルをコピーするためのものであり、ブロックデバイスではありません。これは、ddの方が適切だったためです。

Rsyncを使用するには、両方のブロックデバイスにファイルシステムがあり、マウントされている必要があります。

0
Gordan Bobic