さくらのVPSが起動しなくなって grub 再インストール
さくらのVPS ディスク拡張手順(標準OS Ubuntu18.04) を実行しようと思ってごにょごにょしていたら MBR を壊してしまった。具体的には
sudo sgdisk -s /dev/vda
が成功せず、GPT 形式に変換しろ、と言われたので何も考えず GPT に変換したら Booting from hard disk で止まるようになってしまった。まぁそりゃそうだろ考えろよという感じだが……
シングルユーザーモードの起動
さくらのVPSコンソールから「各種設定」→「OSインストール」とすすみ、「カスタムOS」→「Ubuntu 18.04 amd64」と選択して起動 (仮想 CD 経由でインストーラーが起動する)
ただVNCコンソールを開けるタイミングでは既にブートローダーを通過しているので、レスキューモードに入れなかった。
このため、インストーラー起動後のユーザー名を入力する画面で、何もせず「Back」を選択する。するとインストーラーメニューが出てくるので、一度 Detect disks を選んですぐに Back してから、シェルを起動するメニューを選ぶ (Detect disks することで /dev/vda が見えるようになる)。
この状態で、以下のように本来のディスクをマウントして chroot する。さくらの VPS の VNC コンソールは英語キーボードだと = が入力できないため、grub-install の引数を指定することができない。デフォルトでいけるようにするために chroot する。
mount /dev/vda1 /mnt mount --rbind /dev /mnt/dev mount -t proc none /mnt/proc mount --rbind /sys /mnt/sys chroot /mnt /bin/bash
これでほぼ本来の環境で作業できる。grub を再インストールする、念のため /boot をバックアップしてからやる。ここでは /dev/vda なので
cp -r /boot /boot.orig grub-install --force /dev/vda
とした。GPT だからか何なのか --force しないと書けなかった。この手順は自信がない
grub 設定を作りなおす
update-grub
ここで reboot で起動するようになった
関連エントリー
- さくらのVPSを Mondo Rescue でバックアップして Virtual Box に再現 現在は Ubuntu 12.04 を使っております。12.04 にするときは 10.04 のサポートが終わってからやるというひどさでしたが、...
- Ubuntu LTS 16 → 18 → 20 一応バックアップ sudo parted -l Model: Virtio Block Device (virtblk) Disk /dev...
- Mackerel つかいはじめた サーバ移行のタイミングでつかいはじめた。監視をちゃんとするようにしようという感じ。loadavg5 と filesystem でひとまず監視...
- さくらのVPSにMondo Rescueのリストアができなかった (未解決) 前々から準備していて、いよいよ新しく契約を追加してリストアするぞ! と思ったらできませんでしたので顛末を記す。敗戦は惨め。 Ubuntu 1...
- DaVinci Resolve で作成した動画を Android YouTube でアップロードしようとすると「動画をプレビューできません」となる 追記: 今はショート動画をPCからアップロードした場合、モバイルの編集画面からショート動画のサムネイルを設定できるようになっている。 このた...