メモ程度ですが、参考になれば
なぜ換装しようと思ったか
ちょうど一年前くらいにUbuntuとWindows10のデュアルブート環境を作成したが、
最近Ubuntuも遅くなってきた気がしていた。
アマゾンで何気なく値段を確認すると、
SSDとメモリ8Gを合わせても1万円以内で購入できることがわかった。
もう換装しなよ。と誰かに言われた気がしたので、挑戦することにした。
参考URL
HDDからSSDへOSごとコピー(ubuntu)
linux環境を複製する方法
トラブル解決用
ddに頼らずにLinuxのブートドライブをコピーする方法(LVMでもない)
Live USB error “you need to load the kernel first”(英語サイト)
購入したもの
- SSD 240GB
- SO-DDIMM DDR3 8GB
- SATA3-USB変換ケーブル
換装方法
1. gpartedのインストール
$ sudo apt-get install gparted
2. gpartedでパーティションテーブルを作成
おそらく外付けのSSDはsdbになっているはず。
- パーティションテーブルはgptを選択
- あとはsdaと同じように設定したら良い(容量が違う場合はセンスに任せる)
- 参考サイトでは/homeのみ別のパーティションにしていたので、真似する
- 最低必要なのは起動用パーティション、ルートパーティション、linux-swapパーディションの3つ
3.マウント
$ sudo mkdir /mnt/s1
$ sudo mkdir /mnt/s2
$ sudo mkdir /mnt/s3
$ sudo mkdir /mnt/c1
$ sudo mount /dev/sdb1 /mnt/s1
$ sudo mount /dev/sdb2 /mnt/s2
$ sudo mount /dev/sdb3 /mnt/s3
$ sudo mount --bind -oro / /mnt/c1
4. データコピー
まずはオプション"n"をつけて内容確認。
といっても時間もそこそこかかるし量が膨大なので途中で打ち切っちゃってもいいかも。
コマンドがOKだったらオプション"n"を外す。
※かなり時間かかります。
$ sudo rsync -aDnv /mnt/c1/boot/efi/ /mnt/s1 #しくじりポイント! 実際にはやらなくて良い
$ sudo rsync -aDv /mnt/c1/boot/efi/ /mnt/s1 #しくじりポイント! 実際にはやらなくて良い
$ sudo rsync -aDnv --exclude "/mnt/*" --exclude "/home" /mnt/c1/ /mnt/s2
$ sudo rsync -aDv --exclude "/mnt/*" --exclude "/home" /mnt/c1/ /mnt/s2
$ sudo rsync -aDnv /mnt/c1/home/ /mnt/s3
$ sudo rsync -aDv /mnt/c1/home/ /mnt/s3
Ubuntuド素人のため、やらかしました。
確認のため/mnt/s1の中身を確認すると空。
詳しくはわからないですが、多分コピー禁止になってる
(誰か教えてください)
ddに頼らずにLinuxのブートドライブをコピーする方法(LVMでもない)によると
$ sudo mkdir /mnt/o1
$ sudo mount /dev/sda1 /mnt/o1
$ sudo rsync -aHAXxSvP o1/ s1/
これで行けるらしい。
中身を再度確認すると、ちゃんとコピーできてた!!
5. fstabを修正
参考サイトはemacsで修正していたが、インストールしていないので、viで修正(私だけのしくじりポイント!)
$ sudo vi /mnt/s1/etc/fstab
UUIDを直す。
UUIDの確認は以下のコマンド。
$ ls -l /dev/disk/by-uuid
6. ブートローダーのインストール
$ sudo mount --bind /dev /mnt/s2/dev
$ sudo mount --bind /proc /mnt/s2/proc
$ sudo /usr/sbin/chroot /mnt/s2
# /usr/sbin/grub-install /dev/sda2
7. ブートローダーの設定
$ sudo /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
8. 実際にHDDとSSDを交換する。ついでにメモリも
DELLのノートPCのSSD換装をしているサイトをみながら、交換する
順調にネジを外し、メモリも交換した。
残すはHDDのみとなったが、
・・・・・・ネジ硬すぎ
全然取れない。二時間戦ったが、手が痛すぎて諦める。
結局電動ドライバを追加で購入しました。。。
8. お楽しみの起動
無事(?)SSDの取り付けも終わり、ついにお楽しみの起動!
電源を入れて、F2連打
bootの起動で、EFI/ubuntu/shimx64.efiを追加し、
先頭に持っていってF10を押下。
これで、SSDで起動できるはず。
・・・・・・なにこれ?
GNU GRUB version 2.02
Minimal BASH-like line edition is supported. For the first word, TAB lists possible command completions.
grub>
どうも起動がうまく行っていないらしい。
Live USB error “you need to load the kernel first”(英語サイト)をみて、bootを行う
※私の環境では英語キーボードになっていたので、いつもとキーの配置が違うことに注意!
grub> set root=(hd0,2) # sdb2がルートのため
grub> linux /boot/vmlinuz-4.15.0-52-generic root=/dev/sda2
grub> initrd /boot/initrd.img-4.15.0-52-generic
grub> boot
これで起動が走るが、ルートとホームのパーティションが読めないようなメッセージが出てた。
うろ覚えで申し訳ないが、ターミナルのみのリカバリーモードになったと思う。
これまでの手順でパーティションはUUIDで判断していると当たりをつけ、
fstabの中身を確認。
実際のUUIDと比べると、
UUIDの末尾が英語のものが全て小文字から大文字に変わっていた
viのコマンドは[i][dd][:wq]ぐらいしか知らない超底辺の私がよくわからずコピペ
して使ったせいか勝手に変換された模様
小文字に修正し直して念の為、ブートローダーの設定をし直す。
$ sudo /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
その後、exitでターミナルを抜けると、正常に起動された!!
念の為、再起動する。すると今度は何も問題なく起動できた!!
使用感
もう比べるでもなく、クソ早い。
教訓
よく知らないものはしっかりと意味を調べましょう!!