古い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
フォルダのコンテンツのほぼ全体を削除してしまったことに気付きました(隠しファイルとフォルダが残っています)。コマンドを使用したときに何が起こったのかを誰かに説明してもらえますか。可能であれば、これを元に戻す簡単な方法は?
Rmを元に戻す簡単な方法はありません。それが可能であるという保証すらありません。
rsyncはファイルをコピーするためのものであり、ブロックデバイスではありません。これは、ddの方が適切だったためです。
Rsyncを使用するには、両方のブロックデバイスにファイルシステムがあり、マウントされている必要があります。