ddでPCの引っ越しをしたら起動しなかった

κeenです。この間長年使ってたDynabookからThink Padに乗り換えました。引っ越しの時に困ったのでメモ。

元々あるのが

  • Dynabook
  • 外付けハードディスクカバー

新たに購入したのが

  • Think Pad (HDDモデル)
  • SSD

SSDだけ先に手元に来たのでまずSSDへ引っ越しを済ませ、Think Padが届いたらHDDとSSDを交換することに。

DynabookのHDDからSSDへの引っ越し

Ubuntuをインストールしてバックアップから復元しても良かったのですがHDDもSSDも512GBだったのでddを使って引っ越ししました。

事前に出来る限りプロセスは殺す。本来は別ディスクから立ち上げたOSでやるのが良いんだろうけど面倒だったので引越し対象のOSから実行しました。。コマンドはすごいシンプル。

$ dd if=/dev/sda of=/dev/sdb bs=512k

外付けハードディスクカバーとDynabookがUSB2.0までにしか対応してないからか20MB/sしか出ず、一晩掛かりました。しかし終わったあとDynabookのHDDとSSDを交換して起動してみると何の問題もなく起動しました。素晴しい。

SSDをThink Padに移植

一瞬ハードディスクの外し方が分からず苦戦するもネットで調べると分解マニュアルが出てきたので楽に換装。しかしThink Padの電源を入れても起動しなかった。

BIOSとUEFI

BIOS

BIOSといえばコンビュータの電源をポチっと入れた瞬間に起動するソフトウェアで、Basic I/O Systemの略かと思っていましたがBasic I/O Systemの実装の1つの名前でもあるらしいです。

BIOSはディスクの先頭にあるMaster Boot Recordを読みにいきます。そこからパーティションテーブルの情報を得てgrubなどを起動します。(Master Boot RecordのことをMBRと略すこともあるしMaster Boot Recordを使うパーティションテーブルのことをMBRと呼ぶこともある…?)。昔、GPTを使うと起動しなかった経験があるので私のDynabookのBasic I/O SystemにはBIOSが使われていた模様。

UEFI

UEFIはBIOSに代わるBasic I/O Systemらしいです。MBRの他、GPTもサポートします。GPTは MBR を使わず 、EFI System Partitionなるものを使うらしいです。Think PadのBasic I/O Systemはこれだったようです。

原因、対策、今後

ということでUEFIがGPTを期待していたのにこちらはBIOS向けのMBRを用意していたのでダメだった模様。(いわゆる従来)BIOS画面(と呼ばれていたもの)に入って起動タイプをUEFIからLegacyにすることで起動出来ました。

とのことですがまあ、SSDの先頭のスペース空いてないしちょっとミスったら即死だしどうしましょうね。 一旦SSDの中身を元のHDDに退避してSSDにUEFIで起動するパーティション作ってそのパーティションに元のパーティションをddでコピーとかで出来ますかね…

サルでも分かる操作マニュアルが欲しい。

Written by κeen
Later article
Internal of b11d