MacBook Pro (Retina, 13-inch, Mid 2014) の512GBのSSDを2TBに交換して、データ移行したら、bootcampの起動ができなくてハマったというお話
成功例だけを記す。
環境
MacBook Pro (Retina, 13-inch, Mid 2014)
- OS 10.15.3
- Windows 10 with bootcamp
やったこと
- 各種バックアップ
- xubuntuをusbでboot
- ddコピーで 512 GB SSD --> 2TB 外付けHDD
- MacBookProの底面を外して、SSD交換
- xubuntuをusbでboot
- 2TB 外付けHDD --> 2TB SSD
- bootcampのMBRの修復
買ったもの
samsung 970 evo plus 2TB
M.2 -> 12+16 pin 変換アダプタ
作業
xubuntuインストール
ddコピーを自分のディスクに対して行うのはちょっと気持ちが悪いので、
いつもlinuxを作ってそこからコマンドを出している。
普段はubuntuだったけど、気分を変えたいので、xubuntuを使ってみた。
xubuntuのisoイメージをDLして、usbにddコピーしただけ。
512 GB SSD --> 2TB 外付けHDD
xubuntuをusb bootして、端末を表示。
sudo fdisk -l
MacOS、BootCampが入っているドライブ名(/dev/sda)を確認。
移動先(/dev/sdcなど)が外付けHDDか確認。
この時、外付けHDDのパーティション方式はMBRにしていた。
(これも効くのか?)
そして、
sudo dd if=/dev/sda of=/dev/sdc bs=4096 status=progress
として、HDDに吸い出す。(~1h)
bs=4096
はブロックサイズで、HDDへのバッファサイズと理解したら良い。
大きい値だと一度に書き込めるので、高速になる。4096 byteで十分だった。
status=progress
は、dd
の途中経過を標準出力に書き出すという指定。
SSD交換
購入したものがぴったりハマってご満悦。
(IT用語のハマるでポジティブの使い方もあるんですね)
2TB 外付けHDD --> 2TB SSD
続いて、再度xubuntuを起動し、
sudo fdisk -l
で、出力元、出力先のドライブ名を確認したのち、
sudo dd if=/dev/sda of=/dev/nvme01p bs=4096 status=progress
として、書き込み。
データの入っている512 GiBを超えてしばらくしたら、ctrl + cで止めた。
(乱暴・・・)
MBR修復
OSXは無事に起動。
bootcampは何度か再起動を繰り返し、リカバリーモードへ。
ここから悩んだのだが、bootcampはmbrを偽装しているらしく(hybrid gptという?)、
windowsからmbrを修復すれば良さそうという結論に至り、挑戦。
システム回復オプション
からコマンドプロンプト
を選んで、
bootrec /fixmbr
bootrec /rebuildbcd
として、MBRを修復する。
再起動して、無事にbootcampが起動。
めでたし