Ubuntu Weekly Recipe

第645回より大きな容量のSSDにデータ移行する

今回は120GBのSSDから500GBのSSDへデータ移行する方法を紹介します。レガシーブートとUEFIブートの双方に対応しています。

灯台もと暗しで容量が足りなくなった場合の対処を行う

何らかの理由で容量の小さなSSDやHDDが余り、そこにUbuntuをインストールしたものの、なかなか気に入ったので使い込んでいると容量が足りなくなった、なんてことがあるのではないでしょうか。あるいは昨今のSSDの値下がりもあり、新しいものを買ってきたのでデータをそっくりそのまま移行しつつパーティションを拡大して使用したい、なんてこともあるでしょう。そういった場合の方法を解説します。

今回は例として容量の小さなSSD(120GB)から大きなSSD(500GB)に変更しますが、HDDであっても全く同様です。アクセス速度の向上を期待して、同容量であってもHDDからSSDに変更するのもいいでしょう。移行先は現実的に500GB〜1TB程度のSSDとしています。4TBのHDDなどの場合はまた変わってくる部分もありますが、今回は考えないものとします。

OSはUbuntu 18.04 LTSを新規インストールしたものを想定しています。16.04 LTS以前だとスワップパーティションがあるのでまた話は変わってくるのですが、スワップパーティションは使用せずにスワップファイルを使用するように変更したほうがいいでしょう。ただし今回解説は省略します。もちろん最初にインストールしたOSが18.04 LTSなのか、16.04 LTSなのかという話であり、現在どのバージョンを使用しているのかは無関係です。

Ubuntu 18.04 LTSを新規インストールしたということは、PCによってはブートモードが従来のレガシーブートの場合とUEFIブートの場合が考えられるため、その双方について説明します。ブート方法が全く違うので、別に説明したほうがいいと考えました。

データの移行については、10年前の第121回で紹介したClonezillaや第289回で紹介したFSArchiverとそのフロントエンドであるqt-fsarchiver[1]を使用するのもいいですが、今回使用するのはUbuntu 20.04 LTSのインストールイメージです。灯台もと暗し的ですが、ライブイメージにはインストールされている(ハードドライブへのインストール中に削除される)GPartedにはパーティションをコピーする機能があるのでこれを使用します。もちろんパーティションの拡大をすることもできます。ただしブート周りをケアする機能はないため、コマンドラインで行います。別途ツールを用意する必要がなく、いつも手の届くところに置いてある(?)Ubuntuのライブイメージで作業できるのは大きなメリットではないでしょうか。

今回使用するSSD

今回使用するSSDは、もはやいつ買ったのかも覚えていないSAMSUNG SSD 830の128GBモデルです図1⁠。もうすでにいろいろ使用していて空き容量が心もとない……というのを前提としたかったのですが、今回は検証環境ということでUbuntu 18.04.5 LTSのインストール直後であって空き容量もたっぷりあります。

図1 今回使用するコピー元のSSD
画像

もう一つはCrucialのCT500MX500SSD1です図2⁠。本記事の掲載時点で現行製品であり、入手も容易です。また価格も下がってきているので、新規購入を検討するのにふさわしいモデルであると判断しました[2]⁠。

図2 今回使用するコピー先のSSD
画像

レガシーブートの場合

コピー元とコピー先それぞれのSSDを接続し、Ubuntu 20.04 LTSのイメージから起動します。なお接続方法については問いません。SATAでもUSBでも結構です。パスが異なりますがNVMe SSDでもいいでしょう。今回は2台ともSATA接続になっています。

GPartedを起動し、もともと使用していたドライブを表示して「View⁠⁠-⁠Device Information」をクリックしてください図3⁠。レガシーブートの場合、デフォルトではパーティションが1つしかないため、レガシーブートかUEFIブートかわからない場合の区別にもなるでしょう。

図3 ⁠Partition table」を確認する
画像

確認するのは「Partition table」で、ここでは「msdos」になっています。新しいSSDでも同じパーティションテーブルにします。新しいSSDに切り替えて、⁠Device⁠⁠-⁠Create Partition Table」をクリックします。するとパーティションテーブルを選択するダイアログが表示されるため、⁠msdos」を選択して「Apply」をクリックしてください図4⁠。このダイアログにも記述されているとおりすべてのデータが消えてしまうため、事前に間違いがないかをよく確認してください。

図4 ⁠msdos」になっていることを確認する
画像

完了後、コピー元に戻り、パーティションを選択して右クリックし、⁠Copy」をクリックします図5⁠。コピー先を選択し、右クリックして「Paste」をクリックします図6⁠。その際パーティションを拡大できるので、末尾まで延ばして「Paste」をクリックします図7図8⁠。ツールバーのにある右端のアイコン(緑の✓)をクリックし、ダイアログの「Apply」をクリックしてしばらく待つと、コピーが完了します。

図5 ⁠Copy」でパーティションをコピーする
画像
図6 ⁠Paste」でパーティションを貼り付ける
画像
図7 デフォルトではパーティションが小さいままで増加分が未使用領域となる
画像
図8 パーティションを最大まで拡大する
画像

コピー完了後パーティションを右クリックし、⁠Manage Flags」をクリックして「boot」にチェックを入れ図9⁠、⁠Close」をクリックします。

図9 ⁠boot」にチェックを入れる
画像

GPartedでの操作はこれで完了です。続けてMBR(Master Boot Record)にGRUBをインストールします。端末を起動して次のコマンドを実行してください。

$ sudo mount /dev/sdb1
$ sudo grub-install --boot-directory /mnt/boot /dev/sdb

エラーが出ていないことを確認します。

ここまでできたらPCの電源を落とし、USBメモリーとコピー元のSSDを取り外し、起動します。

UEFIブートの場合

コピー元とコピー先それぞれのSSDを接続し、Ubuntu 20.04 LTSのイメージから起動します。なお接続方法については問いません。SATAでもUSBでも結構です。パスが異なりますがNVMe SSDでもいいでしょう。今回は2台ともSATA接続になっています。

GPartedを起動し、もともと使用していたドライブを表示して「View⁠⁠-⁠Device Information」をクリックしてください図10⁠。UEFIブートの場合、デフォルトではブート用のパーティションとシステム用のパーティションの2つあります。

図10 ⁠Partition table」を確認する
画像

確認するのは「Partition table」で、ここでは「gpt」になっています。新しいSSDでも同じパーティションテーブルにします。新しいSSDに切り替えて、⁠Device⁠⁠-⁠Create Partition Table」をクリックします。するとパーティションテーブルを選択するダイアログが表示されるため、⁠gpt」を選択して「Apply」をクリックしてください図11⁠。このダイアログにも記述されているとおりすべてのデータが消えてしまうため、事前に間違いがないかをよく確認してください。

図11 ⁠gpt」に変更する
画像

完了後、コピー元に戻り、最初のパーティションを選択して右クリックし、⁠Copy」をクリックします。コピー先を選択し、右クリックして「Paste」をクリックします図12⁠。再びコピー元に戻り、2番目のパーティションを選択して右クリックし、⁠Copy」をクリックします。コピー先を選択し、右クリックして「Paste」をクリックします。その際パーティションを拡大できるので、末尾まで延ばして「Paste」をクリックします図13図14⁠。ツールバーのにある右端のアイコン(緑の✓)をクリックし、ダイアログの「Apply」をクリックしてしばらく待つと、コピーが完了します図15⁠。

図12 ブート用のパーティションなのでのまま「Paste」をクリックする
画像
図13 システム用のパーティションとしては小さすぎる
画像
図14 システム用のパーティションは最大まで拡大する
画像
図15 完了後、このようになる
画像

ここまでできたらPCの電源を落とし、USBメモリーとコピー元のSSDを取り外し、起動します。

どうやってもブートできない場合

原則としては前述の方法でうまくブートしてくるはずですが、何らかの事情でブートしないこともあります。とはいえブートの修復はとても難しいので途方に暮れてしまいます。そんな場合の強い味方がBoot-Repairです。Boot-Repairは現状を診断し、自動的に適切な方法でブート関連トラブルを修復してくれます。修復できない場合もヒントを出してくれます。

ただしBoot-RepairはUbuntuのライブイメージには収録されておらず、またUbuntuのリポジトリにもないため、PPAからインストールする必要があります。

ライブイメージで端末を起動して次のコマンドを実行してください。

$ sudo add-apt-repository ppa:yannubuntu/boot-repair
$ sudo apt install -y boot-repair

インストール完了後起動し図16⁠、まずは「おすすめの修復」で修復を試みてください。

図16 Boot-Repairの起動直後。⁠おすすめの修復」をクリックする
画像

おすすめ記事

記事・ニュース一覧