(最終更新月: 2025年2月)
古いPCの動作が重くなってきたら、ストレージをSSDに換装してみると驚くほど改善します。
私は先日、UbuntuとWindows双方で使用中だった古いHDD(不良セクタもち)を、新しく用意した AGI AI238 2TB SSD へクローンし、無事起動させることに成功しました。
結果は…体感で10倍ほど速くなり大満足です!
当記事では、実際にどのような手順でクローン&エラー対処をおこなったかをまとめています。
- Ubuntu側では最終的に「ddrescue」を使ってディスクまるごとクローン
- Windows側では「Macrium Reflect」でHDD→SSDをクローン(MBRのまま)
不良セクタがあるHDDからのクローンや、その後のファイルシステム修復・UUID変更など、少し込み入った作業もありましたが、一連の流れを以下に紹介します。
結論:SSD化で驚くほど速くなる
やはりSSDはHDDと比べて圧倒的に速く、OSの起動やアプリの立ち上げ、ファイル検索などが劇的に改善しました。
「そろそろPC買い替えかな?」と思っていた方は、まずHDDをSSDに変えてみると数年は快適に使えるかもしれません。
環境・作業概要
UbuntuとWindows2台で実施したので、それぞれの作業前の状態を書きます。
新SSDとケース
SSDは2TBが欲しかったのでこれ。
3.5インチのHDDが入っていたので、サイズを合わせるためにケースも購入。
● Ubuntu側 (Seagate 500GB HDD → AGI AI238 2TB SSD)
- OS: Ubuntu (64ビット, UEFIブート, GPT形式)
- HDD: Seagate ST500DM002 (500GB, 一部不良セクタあり)
- クローン方法:
- 当初「Clonezilla」を試したがブート上の問題が発生
- 最終的に
ddrescue
コマンドを使用して丸ごとコピー
- クローン後の起動エラー対処: fsck、UUID変更、GRUB再インストールなど
● Windows側 (WD 500GB HDD → AGI AI238 2TB SSD)
- OS: Windows 10 Home
- HDD: Western Digital WD5000AAKX (500GB, MBR)
- クローン方法: Macrium Reflect Free (MBR→MBRクローン)
- パーティションサイズ拡張: クローン時にCドライブを2TBへ拡張(オプション設定)
■ 作業フロー(Ubuntu / Windows 共通の大まかな流れ)
- バックアップを取る
- 新SSDをPCへ接続(デスクトップならSATAポート、ノートならUSB-SATAアダプタ etc.)
- HDD→SSDでクローンコピー
- Ubuntu: ddrescue
- Windows: Macrium Reflect
- クローン完了後、新SSDのみで起動テスト
- (必要に応じて)パーティション拡張
- 旧HDDの扱い(バックアップ用途にする or 物理的に外す など)
▼ Ubuntu側の実際の手順 (ddrescue編)
1. 事前準備 & バックアップ
- 重要データのバックアップ:
- HDDに不良セクタがあるので、万一に備えて写真・ドキュメント類を外付けHDDやクラウドにコピーしました。
- SSDを取り付け:
- デスクトップPCの空きSATAポートに新しいSSD(AGI AI238 2TB)を挿し、
lsblk
やsudo fdisk -l
で/dev/sdb
として認識されていることを確認。
- デスクトップPCの空きSATAポートに新しいSSD(AGI AI238 2TB)を挿し、
2. ddrescueでHDD→SSDをディスク丸ごとクローン
2-1. ddrescueのインストール
sudo apt-get update
sudo apt-get install gddrescue
2-2. ソース(HDD)とターゲット(SSD)を確認
lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINT
sudo fdisk -l
ここで、ソース=/dev/sda、ターゲット=/dev/sdb などをしっかり把握。
間違えてしまうと、データを消してしまう可能性もあるので要注意。
2-3. ddrescueコマンド実行 (2パス方式)
初回パス: 読み取り可能なセクタを一気にコピー します。
上で把握した、ソース、ターゲットを以下で間違えないように入力して下さい。
sudo ddrescue -f -n /dev/sda /dev/sdb ddrescue.log
-f
: 強制上書き(ターゲットが生ディスクの場合)-n
: エラー箇所は後回しにして、とにかく読み取れる部分を先にコピー
ソースとターゲットを間違えると、空のSSDを使用しているHDDにコピーしてしまうなど、意図しないエラーが発生します。必ず、どちらからどちらへコピーするかを正しく認識してください。
リトライパス: エラー箇所を再度丁寧に読み取る場合は以下のコマンド。
sudo ddrescue -d -f -r3 /dev/sda /dev/sdb ddrescue.log
-d
: ダイレクトアクセスモード(不良セクタ対応)-r3
: エラーセクタに対して3回まで再試行
数十分~数時間かかります(HDD状況・容量による)。完了後、旧HDDの内容がそのままSSDにコピーされます。
これはスタンダードなステップ。
私は不良セクタを移したくなかったので、2. リトライパスは実施せず。
3. クローン後の起動テスト & エラー対処
3-1. 新SSD単独で起動テスト
いったん旧HDDを外し、新SSDだけをSATA0ポートなどブート優先ポートに挿して起動しましょう。
もしくは、Boot Menuなどを開いて、SSDブートを指定もできます。
正常に起動すればOK。
しかし今回は下記のようなエラーが出ました。
/dev/sda2 contains a file system with errors, check forced.
Inode 13640832 extent tree (at level 1) could be narrower. IGNORED.
3-2. ファイルシステムエラーの修復 (fsck)
HDDの不整合がそのままコピーされていたため、クローン先SSDのルートパーティションにエラーが残っていたのがエラーの原因のひとつのよう。
- HDD環境に戻し起動、SSDパーティションをアンマウント
- SSDのパーティションが、/dev/sdb2だったので、以下を実行し、修復を試みました。
sudo fsck -f -y /dev/sdb2
- -f: 強制チェック
- -y: 全自動修復
3-3. UUIDの重複問題と変更 (tune2fs)
クローン後、システムのUUID(Universally Unique Identifier)が重複する可能性があります。
これを解決するには、新しいUUIDを生成する必要があります。
sudo tune2fs -U random /dev/sdb2
これでSSDのext4パーティションに新しいUUIDが割り当てられました。
変更後、以下のコマンドでUUIDを確認します。
sudo blkid /dev/sdb2
3-4. /etc/fstab の修正
SSD側の /etc/fstab
に記載されたUUIDが古いままだと起動できません。
一時的にSSDをマウントして /etc/fstab
を編集しましょう。
sudo mkdir /mnt/ssd
sudo mount /dev/sdb2 /mnt/ssd
sudo nano /mnt/ssd/etc/fstab
旧UUIDを新UUIDに書き換え、保存します。
- UUID=a9acdc73-f85d-4f7f-9af5-85ef84a91637 / ext4 errors=remount-ro 0 1
+ UUID=<新しいSSDのUUID> / ext4 errors=remount-ro 0 1
3-5. GRUBを再インストール
1.EFIパーティション (/dev/sdb1) をマウント
SSDのルートをすでに /mnt/ssd
にマウントした状態で、EFIパーティションもそこにマウントします。
既に /boot/efi
に sdb1 がマウントされている場合は、一旦 umount してからおこないましょう。
# もしまだなら、フォルダを作成
sudo mkdir -p /mnt/ssd/boot/efi
# sdb1 が /boot/efi にマウント中なら
sudo umount /boot/efi
# sdb1 を chroot 用にマウント
sudo mount /dev/sdb1 /mnt/ssd/boot/efi
2.バインドマウントを設定して chroot
sudo mount --bind /dev /mnt/ssd/dev
sudo mount --bind /proc /mnt/ssd/proc
sudo mount --bind /sys /mnt/ssd/sys
sudo chroot /mnt/ssd
このコマンドで、/mnt/ssd
がルート(/
)として認識される環境に入ります。
chroot 内で GRUB を再インストールし、grub.cfg を更新
grub-install /dev/sdb
update-grub
grub-install /dev/sdb で、SSD自体(MBRではなくGPTの場合はEFIパーティションにもインストール)にブートローダをインストール。
update-grub
で /boot/grub/grub.cfg
を再生成し、新しいUUIDなどを反映します。
chroot を抜ける
exit
バインドマウント解除・アンマウント
sudo umount /mnt/ssd/sys
sudo umount /mnt/ssd/proc
sudo umount /mnt/ssd/dev
sudo umount /mnt/ssd/boot/efi
sudo umount /mnt/ssd
パーティション拡張 (gparted)
クローン元は500GBだったため、2TB中1.5TBが未割り当て領域として残ります。
Live USB等で gparted を立ち上げ、ルートパーティションを拡張するか、別パーティションを作成します。
▼ Windows側の実際の手順 (Macrium Reflect編)
1. バックアップ
Windows標準の「バックアップと復元」またはサードパーティソフトでユーザーデータを外付けHDD等に退避しましょう。
HDDにエラーが多い場合は事前に「チェックディスク (chkdsk)」などで軽く修復しておくとベスト。
2. SSDを接続して認識確認
デスクトップPCならSATAポートに、ノートPCならUSB-SATAアダプタで新SSDを一時接続します。
「ディスクの管理」(diskmgmt.msc)で容量(2TB)が未割り当てとして認識されているか要確認。
私はSATA – USB3.0の以下のケーブルを使用しました。
3. Macrium ReflectでHDD→SSDクローン
- Macrium Reflect Free をインストール・起動
- クローン元ディスク (WD5000AAKX 500GB) を選んで「Clone this disk…」
- クローン先ディスク (AGI AI238 2TB) を指定
- MBR→MBRでそのままコピーする
- 「Intelligent sector copy」などを選択し、500GB分だけ実質コピー
- オプションでCドライブを2TBに拡張可能
- 「Finish」でクローン開始 → 数十分~1時間程度で完了
Macrium Reflect 設定画面
クローン中の画面
4. 新SSDで起動確認
- クローン完了後、PCをシャットダウン
- 旧HDDを取り外して新SSDのみ接続、またはBIOSで新SSDをブート最優先に設定
- 正常起動すればOK。未割り当て領域がある場合は「ディスクの管理」で Cドライブを [ボリュームの拡張] する
▼ トラブルシューティング
- 不良セクタが多くてクローンが進まない
- ddrescueの
-r
オプションや Macriumの「リトライ設定」で粘る - 最悪、ファイル単位でバックアップ&新規インストールも視野に
- ddrescueの
- クローン後に起動しない (Ubuntu)
- fsck修復、UUID変更、/etc/fstab、GRUB再インストールが重要
- Windowsでブートできない
- 「起動修復」を実行、またはMacrium Reflectの「修復メディア」を使用
■ 旧HDDの扱い
クローンが成功し、SSDで安定動作を確認したら、旧HDDは
- バックアップ用途に再フォーマットして使う
- 物理的に取り外して保管する
ただし不良セクタがある場合は信頼性に注意してください。
■ まとめ & 感想
- Ubuntu側では「ddrescue」により、物理セクタレベルでHDDをまるごとコピーし、不良セクタはスキップや再試行しつつ進めました。その後、ファイルシステム修復(
fsck
)、UUID変更(tune2fs
)、GRUB再インストールがポイントでした。 - Windows側では「Macrium Reflect」を使い、MBR→MBRでCドライブをそのまま2TBに拡張。非常にスムーズにクローンが完了しました。
- SSD化の効果は絶大! 私の環境ではHDD起動時の1分以上待たされる感覚が、SSDだと十数秒でログインできるようになり、ファイルアクセスも軽快です。
「買い替えを検討していたPCが、SSD化でまだまだ使えるようになった」のは本当に嬉しい誤算でした。
もし同じように「HDDに不良セクタがあってクローンに苦戦中…」という方は、ddrescue や Macrium Reflect のように、エラーリカバリ機能があるツールを使うと成功率がぐんと上がると思います。
以上、私の HDD→SSD換装実践記 でした。
参考になれば幸いです。
ぜひ試してみてください!