[Ubuntu][自分用メモ] SSDの移行手順について。

SSD、HDD、StorageUbuntu

遊びに使っているThinkpadで使用しているSSDで、何気にdmesgを確認していたところIO errorが出力されていることを確認しました(ログを取っておくのを忘れた)。

HDDだと色々とステータスを探ったり、物理的に振動や稼動音から調子を探ることをもできますが、SSDとなると振動や音もありませんし、SMARTからもその調子を判別するのは難しいと思います。

Buffer I/O error on device hda1, logical block xxxxxx
lost page write due to I/O error on hda1
end_request: I/O error, dev hda, sector xxxxxxx

精神的安寧を得るために即時に代わりのSSDを発注しました。今回は「Crucial M4 128GB」にしました。旧環境は64GBで今回は128GBということで、パーティションの拡張も併せて必要になります。

しかしながらここで一つ問題が。普段はWindowsばかり触っているせいかLinux系でのディスク移行の方法について全く知らないので、本機会で少し調べながらですが実践してみることにしました。

用意したもの

  • Ubuntu Liveメディア →「スタートアップディスクの作成」などで作成
  • 新しいSSD
  • SATA to USB変換ケーブル
  • ノートPC

手順

手順自体は以下のWebサイトのものをそのままなぞれば問題ない。

インストール済みUbuntuのクローンを新しいハードディスクに作成する
PCを使っていくと、どこかでHDDの増設という一大イベントを迎える機会に恵まれる。新たなHDDを起動ドライブとしてOSをクリーンインストールするのもよいが、UbuntuならHDD全体のクローンを簡単に作成できる。Windowsとのデュアルブ...

1. Live USBでUbuntu起動する。

2. [システム設定] → [ソフトウェアソース]を選択し、[コミュニティーによるメンテナンスされるオープンソースソフトウェア(universe)]にチェックを入れる

3. Terminalを起動し、以下のコマンドを実行する。またddrescueをインストールする。

sudo apt-get update && sudo apt-get install ddrescue

4. 以下のコマンドを実行し、SSDの参照名を確認する。(今回は/dev/sdcが対象。また、下記に出ている数値等はイメージ)

sudo fdisk -l
Device  Boot   Start      End      Blocks   Id  System
/dev/sda1   *        2048   233443327   116720640   83  Linux
/dev/sda2       233443328   250069679     8313176    5  Extended
/dev/sda5       233445376   250068991     8311808   82  Linux swap / Solaris

Disk /dev/sdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb94838a4

Disk /dev/sdc doesn't contain a valid partition table

5. ディスクの参照名を確認できたら、以下のコマンドを実行し、一旦初期パーティションテーブル情報を書き込む。(今回は/dev/sdcが対象)

sudo cfdisk -z /dev/sdc

6. GUIが起動してきたら、「Create」→「Primary」→「Sizeは任意のサイズを指定」→「Bootable(起動ディスクの交換のため)」の順で選択し、「Write」を選択、パーティション情報をディスクに書きこむ。

7. パーティション情報が書きこまれたことを確認したら、以下のコマンドを実行しディスクのクローンを作成する(ちなみに自分の環境では-fを付けないと実行できなかった)。実行時間はクローン元のディスク容量に比例してかかるので、気長に待つ。

sudo ddrescue -v -f /dev/sda /dev/sdb

8. ddrescueコマンドが終了したら、一旦PCをシャットダウンし、元のディスクから新しいディスクに交換する。再度Live USBからubuntuを起動する。

9. 今回は元の64GBでクローンされているので、新しい方のSSDの全容量が活用されていない。そのためパーティションを拡張する必要がある。Gpartdを起動する。

10. 細かい手順は省くが、概ね以下の通り。

  • Swapをoffにする
  • 拡張パーティション(Extended)を最大容量まで拡張する
  • 一旦パーティション情報を書き込む
  • 拡張パーティションが拡張されたら、スワップ領域を拡張パーティションの最後尾に移動する
  • Ubuntuの入っているLinuxパーティションを最大容量まで拡張する
  • パーティション情報を書き込む
  • swapをonにする

11. 以下のコマンドを実行し、パーティション情報にエラーがないことを確認する。

sudo fsck.ext4 -f /dev/sda1

12. ディスクから起動し、問題なく起動することを確認する。

以上。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました