目次
Linux Mint 18.3が入ったLVM環境のハードディスクをLVMを使っていない素のext4フォー マットのハードディスクに換装しました。
以前LVMのディスクを換装したときは、LVMからLVMを使わないフォーマットのディスクに換装変更出来ないものと思い込んでいたのです が、そうではないみたいですね。たまにしかやらないHDD換装や故障時にLVMだとちょっと 手間取りそうなのでLVMをやめることにしました。
詳細は下に私が参考にしたサイトを挙げていますので、そちらをご覧になったほうが良いと思います。 ただ、今回Super Grub2というツールを使ってみたところ、とても便利なもの だったので、その点を紹介したいと思います。毎回Grubの働きやコマンドを忘れてしまっ て不安になるのですが、これがあることで助かりました。
- 参考サイト
- Grubを自動認識してくれるツール
作業のおおまかな流れ
2TBまでであればGPTフォーマットでなくても良いので、3のGPT設定とかは不要です。
- 事前準備
- リカバリーモード起動準備
- 換装用の3TBディスクをGPTでフォーマット&パーティション作成
- リカバリーモードで起動し、コピー
- /etc/fstab 編集
- Super Grub2で起動
- grub-install、update-grub
Step1.事前準備
Super Grub2のブートメディアを準備します。
Super Grub2(Rescue your Windows & GNU/Linux systems – Rescatux & Super Grub2 Disk)は、MBRやBIOS Boot Partitionに不具合があるときに使えるツールのようです。今 回は換装前後の複数のHDDを付けた状態でブートローダーを書き込む操作をするのは、換 装前の環境を壊してしまうのではないかと不安だったので、換装後のディスクだけを付け た状態で起動させるために使いました。
逆にgrub-installしてしまって失敗してもこれがあれば何とかなるというものです。
私は別のWindowsマシンでEtcherというソフトでUSBに書き込みました。
また、今回は換装元のコピーは稼動中のMintのリカバリーモードで行ったので使いません でしたが、Linux Mintのインストーラーなどのように、インストールせずに使えるOSが起 動するメディアもあると万が一のときのデータサルベージなどにも使えるでしょう。
あと、リカバリーモードで起動した時にrootになるよう求められますが、私はrootのパ スワードを作っていなかったので、一度通常起動してパスワードを設定しました。未設定 の場合は先に設定しておきましょう。
# sudo su - # passwd
Step2.リカバリーモード起動準備
これは参考サイト2に詳しく書かれていまます。/etc/default/grub で GRUB_HIDDEN_TIMEOUT を0から10に変更して、grub-updateを実行します。その間にShift キーを押せば、起動モードを選択出来る画面になります。
Step3.換装用の3TBディスクをGPTでフォーマット&パーティション作成
USB接続のHDDのケースが古かったせいか800GB弱程度しか認識されていず、3TBであること をずっと忘れていたHDDがありましたので、これを使いました。
MBRのパーティション形式のフォーマットでは3TB以上のディスク(パーティションではな く?)を扱えませんので、GPTにします。
新しいHDDを取り付けて通常通り起動します。起動後、GUIのアプリケーションGPartedで 「Deviceメニュー> 新しいパーティションテーブル> GPT」からGPTタイプにします。しか し実際のところ私はコマンドライン端末での方法を先に知ったので、以下のようにしまし た。/dev/sdbのところはご自分の環境に合わせて下さい。
# parted /dev/sdb # > mklabel gpt # > quit
その後GPartedで以下のようなパーティションを作成します。なお、ラベルをつけておく と/etc/fstabの設定も楽です。
- BIOS Boot Partition(GPTの場合)
- 128MBとか256MBとか?私はこの段階でこれが必要であることを知らずにアセりました が、 参考サイト4 のおかげでやり直さなくて済みました。
- swapパーティション
- 実メモリ(4GB)の倍位にしました。実メモリのサイズによって推奨値が異なるよう ですが、まあ適当です。倍位あれば十分でしょう。
- ext4のルートパーティション
- 400GBくらい
- ext4の/home用
- 残り全部
Step4.リカバリーモードで起動し、コピー
データベース等が稼動していなければ起動したままrsyncでコピーしてもよいようなので すが、念のため参考サイト3に倣ってリカバリーモードで起動してみました。
起動時にShiftキーを押すとリカバリーモードが選べます。
つぎにルートパーティション / と /boot のコピー。オプションは参考サイト2で使われ ていたものをマネしました。
# mount /dev/sdb2 /mnt/mp # rsync -aAXHxShv --append --partial --timeout=600 --bwlimit=0 --stats --progress --preallocate / /mnt/mp/ # rsync -aAXHxShv --append --partial --timeout=600 --bwlimit=0 --stats --progress --preallocate /boot/ /mnt/mp/boot/
/home以下のコピー。LVMでhomeにしていた領域はマウントされていなかった(と思う)。
# mount /dev/mint-vg/mylv00 /home/ # mount /dev/sdb2 /mnt/mp2 # rsync -aAXHxShv --append --partial --timeout=600 --bwlimit=0 --stats --progress --preallocate /home/ /mnt/mp2/
Step5. /etc/fstab 編集
新しいディスクの/etc/fstabを編集しました。私の場合以下のような感じです。パーティ ションのラベルを確認するために以下のコマンドを実行しました。
# e2label /dev/sdb1
LABEL=mint / ext4 errors=remount-ro 1 1 LABEL=swap swap sw 0 0 LABEL=home /home ext4 defaults 0 0
Step6. Super Grub2で起動
ここで、換装後のディスクへのブートローダの書き込みを行うところですが、間違ってし まって換装前のディスクも起動出来なくなっては困るので、そのままシャットダウンしま した。
換装前のディスクを取り外し、Super Grub2のUSBドライブを差し込んで起動すると、 Super Grub2のメニューが表示されます。「Detect any OS」を選ぶと新しいディスク上の カーネルイメージがリストされたメニューが表示されます。
私の場合はvmlinuzはひとつだったのでそれを選んでenterすると無事起動しました。
Step7. grub-install、update-grub
最後にブートローダを書き込みました。
# grub-install # grub-update
シャットダウンし、USBを抜いて起動すると無事起動出来ました。