【防備録】Ubuntuインストしたら一番最初に覚えるべきコマンド → ddrescueで貧乏システムフルダンプ法
1円も使わずにシステムをフルコピー、しかもシステムディスク(元)よりも小さい容量の使い古したUSBメモリの中にクローンコピーを作る方法について…
----
ddrescueコマンド超重要…_φ(・・
ジャンク屋とかでパソコン買ったはいいものの、古いOSで変わりがなかったり、リカバリーディスクや再インストールCD/DVDがなく、システムがぶっ壊れたら終わり…(特にWindows2000やXPなどプリインストされてるパソ)というのを買った時に、システム丸々クローンコピーするためのコマンド。
少々の不良セクターやHDDなんかが壊れかけてるとかいうピンチな場合でも可能な限りスキップしてクローン作ってくれる有効で強力なコマンド。Windows、Mac、Linux全てのシステムのクローンがOK。システムだけでなくデータもコピー可。またNTFS、HFS+、ext4、xfsなどのほぼ全てのファイルシステムに対応。神。
ただしディスク丸々コピー(クローン)ということに注意_φ(・_・
基本はコピー元よりも大きな容量のコピー先ディスクを用意。ただし、コピー元よりも小さいディスク(たとえばパソコン内のSSDが256GBでシステム領域が30GBくらいの時は、64GBの外付けUSBメモリにクローン作る場合など)は裏技使えばシステムクローン可能。Windows以外なら、このまま外付けシステムとして起動ディスク化も可能。
①導入方法
$ sudo apt update
$ sudo apt aptitude
$ sudo apt install gddrescue
②基本操作
sudo ddrescue 【コピー元のディスク】 【コピー先のディスク】 【オプション】
・コピー元は、コピーを残したい元のシステムなど
・コピー先は、コピー(クローン)を作りたい転送先
→この順番を逆にするとコピーの元が消えてしまうので注意。
凡例)
$ sudo ddrescue /dev/sda /dev/sdc -f -n logfile.log
・/dev/sda (大抵は内蔵SSD)から/dev/sdc (外付けUSBや外付けHDDなど)にクローン作成。この順番逆にするとコピー元が完全に消えるので注意。
-fは強引に上書きする設定 (付けとけ!)
-nはコンソールに進行状況が表示される(便利)。
logfile.logは/home/hogehoge内のディレクトリに作成されるログファイル。何かの理由で途中でやめた場合、このログを参照するが、このログのせいでクローン失敗することもあるのでいらないorトラブったら捨てる_φ(・_・
➂裏技 〜容量の小さいUSBメモリにシステムクローンを取る方法
・コピー元 (/dev/sda)よりコピー先 (/dev/sdcなど)の方が容量が大きいことが必須。
しかし2025年12月のようにSSDやらメモリやらが一週間で2倍近くまで跳ね上がり、これからも物価高地獄が予想されるような場合に、コピー元のためだけに大容量のSSDやHDDを買う余裕などない。
そんなお金、使いたくない(断言)。断る。
よって使わなくなったUSBメモリやHDDなんかの再利用で済ませたい。
その場合のやり方…φ(・・
1.Gpartedでコピー元 (/dev/sda)を開き、システムの入っている領域 (たとえば256GBのSSDなら/dev/sda1)を選択後、「リサイズ/移動」で30-50GBくらいに圧縮。
2.その後、確定。すると256GBの領域の内、最初の/dev/sda1が30-50GB、残りが未割り当て(未フォーマット)の状態で再起動。
3.Windowsのシステムで起動後、ディスクチェック
4.コピー先のディスクを完全初期化する。Gpartedの「デバイス」からパーティションテーブルを「msdos」なり「gpt」なり「mac」なりに設定して「未割り当て」にする。
5.この後で改めてクローン作成作業に入る(一時間から数時間程度)
$ sudo ddrescue /dev/sda /dev/sdc -f -n
これで/dev/sdc (外付けusbなど)にクローンコピーされるが、その容量は/dev/sda1の時に作った容量(30-50GBとか)で収まる。
なので/dev/sdcの容量に合わせてコピー元のサイズを縮めると良い。
注意点としては、容量の小さいUSBやHDDなどにクローンコピーした場合、最期に「エラー」となるが気にしなくていい。
ddrescue : Write error : No space left on device
…みたいなエラーが出るが未使用領域にゼロ書き込みができないということであり、先頭部分からクローンコピーが始まってるので/dev/sda1がコピー先よりも小さい容量になっていれば(エラー出ても)OK。
あと一応、コピー先もディスクチェックとかしておいたほうがいいのと、予めコピー先 (/dev/sdcなどの外付けUSB)は完全初期化して未使用領域にしておくか、それぞれのフォーマット形式にあわせて初期化しておいたほうが良い。
こんな感じで小さい容量でシステムクローン完成
※ ※ ※
なのでジャンク屋でシステム入りのパソコン買ったら、まずddrescueでシステムクローンをつくるべき_φ(・_・
その後でSSDとかを交換し、戻しクローンコピーで使えるようにする_φ(・_・




