用意するもの
GParted Liveなど
OSのシステム領域を含むパーティション変更はOS起動中はできないので、別のOSを起動して外から変更しなければならない。そこで、LiveCD、LiveUSBとかの外部ストレージから直接OSを起動する仕組みを使う。
パーティション変更ソフトが含まれるLiveCDはたくさんある(OSのインストール用イメージに含まれることもある)が、GPartedだけがインストールされたものも用意されている。
https://gparted.org/liveusb.php
URL先の手順に従えば、OSを起動できるUSBが作れる。
手順
作ったOS起動USBを挿した状態でPCの電源を入れると、HDDやSSDをマウントせずにOSが起動される。
GPartedなどを使って、パーティション変更を行う。
GPartedでは、ブート領域を含むパーティションを変更すると、OSが起動できなくなるという警告が表示される。
これは、ブートローダーにはOS起動イメージが登録されているのに、イメージの場所が変わってしまうからである。
これはパーティション変更を行ってから修正することになる。
パーティション変更を確定して実行した後、GPartedを閉じてTerminalを開く。
ブートローダー(GRUB)を以下のページに従って修復する。
https://gparted.org/display-doc.php?name=help-manual&lang=C#gparted-fix-grub-boot-problem
GRUB2でEFIブートの場合、手順5のコマンドはマウント先を以下のように変更する。
# mount /dev/sdaX /tmp/mydir/boot/efi
GRUBの修復が終わったらシャットダウン後にOS起動用LiveUSBを外して、PCの電源を入れる。