Ubuntuクラッシュから脱出する4つの簡単な方法

Ubuntuクラッシュから脱出する特集

Ubuntuや他のLinuxシステムでクラッシュから脱出する方法は1つだけではありません。クラッシュの状況は常に異なります。それを考慮すると、問題の深刻度に応じて使用できるいくつかの信頼できる方法があります。

ヒント: Ubuntuでリカバリーモードにブートする方法は以下の通りです。

目次

    1. Waylandコンポジタを再起動する
    1. SSHで接続する
    1. Alt + SysRq + REISUB
    1. Live CDからChrootする

1. Waylandコンポジタを再起動する

Ubuntuでの「クラッシュ」のほとんどは、応答しないWaylandデーモンによって引き起こされます。WaylandはLinuxのグラフィカル環境を管理するディスプレイサーバーです。これは大きなソフトウェアであり、何かがうまくいかないときに最初に壊れるものの1つです。

Waylandはシステム上で実行されている他のサービスと同様に、停止して再起動することができるはずです。そのためには、別のコンソールにアクセスする必要があります。

それを行うためのかなり簡単な方法があります - Ctrl + Alt + F3を押します。GNOMEを実行しているUbuntuシステムでは、TTYセッションに移動します。他のデスクトップ環境でも機能するはずです。機能しない場合は、異なるファンクションキーを試してください。何も起こらない場合は、最初にAlt + SysRq + Rを押してみてください。それでも何も機能しない場合は、別の方法に進んでください。

コンソールに入ったら、他のターミナルのように使用できます。サインインしてWaylandサーバーを再起動してみてください。

sudo systemctl restart gdm

KDEの場合は、gdmを「sddm」に置き換えることでWaylandコンポジタを再起動できます。

これでWaylandが再起動するはずですが、そうでない場合は、セッション全体を終了させることを試みることができます。

sudo pkill -KILL-u$USER

それでも機能しない場合は、システムを再起動してみてください。

sudo reboot

2. SSHで接続する

これは、応答しないWaylandサーバーに対する別の解決策です。コンソールにアクセスするのが面倒な場合や、単に機能しない場合があります。その場合、SSHを使用してネットワーク経由でシステムにアクセスできるかもしれません。UbuntuのインストールがSSHを実行していない場合は、簡単にインストールできます。

sudo apt install ssh

別のコンピュータにジャンプして、SSHを使用してUbuntuにアクセスできます。ユーザー名とUbuntuマシンのIPアドレスを使用してください。

UbuntuでのOpenSSHセッションを示すターミナル.

入ったら、通常通りターミナルを使用できます。再度、Waylandを再起動してみてください。

sudo systemctl restart gdm

SSH経由でGDMを再起動するプロセスを示すターミナル.

それでも機能しない場合は、プロセスを終了させるか、マシンを再起動してみてください。

3. Alt + SysRq + REISUB

Linuxシステムがロックアップするのは、必ずしもWaylandサーバーだけではありません。システム全体が本当にクラッシュすることもあります。幸いなことに、Linuxカーネルには、他のすべてがうまくいかない場合にシステムの低レベルの制御を可能にする組み込みツールがあります。これらのコマンドは、キーボードのAltとSysRqの組み合わせを押すことでアクセスできます。そのキーの組み合わせは、Linuxカーネルに他のほとんどすべての入力を無視させ、ユーザーの入力に注意を向けさせます。

クラッシュを完全にバイパスしてシステムを再起動するには、Alt + SysRqを押し続け、次のキーを順番に入力します: R – E – I – S – U – B。(これは「BUSIER」という単語の逆です。)このキーの組み合わせは、Waylandからキーボードの制御を奪い、マシン上で実行されているすべてのプロセスを終了させ、ハードドライブ上のデータを同期させ、ドライブをアンマウントし、システムを再起動します。基本的に、手動でシャットダウンプロセスをシミュレートします。

システムが再起動すると、すべてが正常になるはずです。

4. Live CDからChrootする

もし正常でない場合はどうなりますか?何か本当に悪いことが起こり、システムが壊れてブートできない場合は、その状況でも試すことができることがあります。UbuntuのライブUSBが必要ですので、まだ持っていない場合は、手元に用意しておくと良いでしょう。

コンピュータをライブUSBからブートします。「Try Ubuntu」を選択し、「次へ」をクリックします。

Live USBの「Try Ubuntu」ラジオボタンを強調表示したスクリーンショット.

新しいターミナルセッションを開き、作業用のいくつかのディレクトリを作成します:

sudo mkdir /media/recovery  
sudo mkdir /media/recovery/boot

コンピュータのパーティションをこれらのディレクトリにマウントします。実際のパーティションラベルを確認してください。

sudo mount /dev/sda2 /media/recovery  
sudo mount /dev/sda1 /media/recovery/boot

リカバリーディレクトリ構造にいくつかのシステムディレクトリをマウントして、すべてが正しく機能することを確認します。

sudo mount -t proc /proc /media/recovery/proc  
sudo mount --rbind /sys /media/recovery/sys  
sudo mount --make-rslave /media/recovery/sys  
sudo mount --rbind /dev /media/recovery/dev  
sudo mount --make-rslave /media/recovery/dev  
sudo mount --bind /run /media/recovery/run  
sudo mount --make-slave /media/recovery/run

最後に、chrootを使用してルートディレクトリをクラッシュしたUbuntuシステムのルートに変更します。これにより、実際にクラッシュしたシステムを使用できるようになります。

sudo chroot /media/recovery  
source /etc/profile

Ubuntuクラッシュを修正するためのマウントおよびchrootプロセスを示すターミナル.

システムに入ったので、デバッグして正確に何が壊れているのかを見つけることができます。ブートできなかったので、GRUBブートローダーを復元することから始めるのが良いでしょう。壊れたアップグレードがある場合は、ここからAptを実行すると、システムをアップグレードしたり、パッケージマネージャーを修復したりできます。

ここからは普遍的な解決策はないでしょうが、少なくともシステムにアクセスして問題を解決することができます。

システムが修理不可能なほど壊れている稀な場合には、ライブUSBを使用して/homeディレクトリから外部またはネットワーク接続されたハードドライブにファイルをバックアップしてください。今日のLinux向けの最高のバックアップソフトウェアについてもっと学びましょう。

画像クレジット: DepositPhotosのノートパソコンでオンラインビデオを見ている怒った大人の女性。すべての変更とスクリーンショットはRamces Redによるものです。