Skip to content
VDS · オペレーティングシステム

リカバリーディスク:システムが起動しないとき

マシンを SystemRescue で起動し、ディスクをマウントして fstab、ブートローダー、忘れたパスワードを修正し、通常の起動に戻す方法について説明します。

更新日 2026年8月23日

SSH 経由で設定を編集したり、カーネルを更新したり、ディスクをいっぱいにしたりした後にマシンが応答しなくなった場合、内部から修正することはできません。そのような場合のために、コントロールパネルには SystemRescue リカバリディスクを使ったブートモードが用意されています。これはメモリ上で動作する別のシステムで、そこからマシンのディスクは通常のストレージデバイスとして見えます。

起動方法

  1. /hosting/vds/m/<id> の「アクセス」タブを開きます。
  2. ブートモードのブロックで、SystemRescue リカバリディスクを選択します。
  3. マシンを再起動し、「コンソール」タブを開きます。

SystemRescue には root でパスワードなしでログインします。そこでは SSH アクセスは利用できないため、コンソールから操作します。「Screen」ビュー(VNC)を選択してください。シリアル回線ではウィンドウサイズが渡されず、常に 80×24 となり、全画面ユーティリティが正しく描画されません。

マシンのディスクは /dev/sda、そのパーティションは /dev/sda1、/dev/sda2 などのように表示されます。

システムをマウントして修正する

lsblk -f
mount /dev/sda1 /mnt
ls /mnt

間違ったパーティションを選んだ場合は、umount /mnt を実行して次を試してください。ルートは etc、var、usr ディレクトリで見分けられます。

次に、典型的な作業です。

nano /mnt/etc/fstab
nano /mnt/etc/ssh/sshd_config
du -xh /mnt --max-depth=2 | sort -h | tail -20
journalctl -D /mnt/var/log/journal -b -1 -p err

システムの「内部」で作業する場合 — パスワードのリセット、パッケージの再インストール、ブートローダーの再構築 — は、chroot で入ります。

mount /dev/sda1 /mnt
for d in dev proc sys run; do mount --bind /$d /mnt/$d; done
chroot /mnt /bin/bash
passwd root
exit

終了したら、すべてをアンマウントします: umount -R /mnt。

よくある原因と対処

症状原因対処
パーティションを待って起動が止まる/etc/fstab のタイプミス、存在しない UUID該当行をコメントアウトするか nofail を追加
サービスがクラッシュする、空き容量がないログやイメージがディスクを圧迫している/mnt 経由で /var/log と /var/lib/docker を整理
マシンは起動するが SSH が無反応sshd_config のエラー、または自分自身を締め出したファイアウォール設定を編集し、ルールをリセット — ufw
root パスワードを忘れた—chroot で passwd、または「アクセス」タブで新しいパスワードを設定

通常モードに戻す

ブートモードを通常に戻してマシンを再起動します。そうしないと再び SystemRescue で起動し、修正が効かなかったと勘違いしてしまいます。

リカバリモードでの作業は何も保存されません。SystemRescue はメモリ上で動作します。/mnt の外で変更したものは再起動後に消えます。

システムを復元できない場合、「アクセス」タブにはオペレーティングシステムを選択して再インストールするオプションがあります。ディスクは完全に消去されるため、まず SystemRescue から必要なファイルをコピーしてください — たとえば scp や rsync で別のマシンへ。