Windowsも結構壊せる『rm -rf /』

WSL (Windows Subsystem for Linux)が搭載されたおかげで、Windows 10でLinuxが実行できるようになった。この機能はPCをエミュレートしているのではなく、Linuxバイナリを直接Windowsカーネルが理解して実行することで実現している。ファイルシステムもWindowsのファイルシステムをLinuxが利用する形になっている。

つまり、WSLで動作するLinuxから『rm -rf /』を実行した場合、LinuxのみならずWindows側も破壊できる。

Windows 10のWSLは技術的にはコンテナに近いところがある。しかし、WSL側からWindows側をマウントしてアクセスできるようにしてあることで、WSL側の操作ミスでWindowsを破壊できる可能性も増やしている。今回はこの点を試してみよう。

WSLでrm -rf /を実行

Windows 10にインストールしたUbuntu 18.04 LTSでrm -rf /を実行する。

  • Ubuntu 18.04 LTSが動作するWindows 10

    Ubuntu 18.04 LTSが動作するWindows 10

Ubuntuではrm -rf /を実行しようとすると、次のように危険だから実行できないというメッセージが表示される。実行するには--no-preserve-rootを指定するようにとメッセージが表示される。

  • /を削除するには--no-preserve-rootを指定する必要がある

    /を削除するには--no-preserve-rootを指定する必要がある

sudo rm -rf --no-preserve-root /を実行すると、次のように削除が進む。削除中はプロセッサとディスクのリソース消費が高くなることがわかる。

  • Ubuntuからsudo rm -rf --no-preserve-root /を実行中

    Ubuntuからsudo rm -rf --no-preserve-root /を実行中

  • Ubuntuからsudo rm -rf --no-preserve-root /完了

    Ubuntuからsudo rm -rf --no-preserve-root /完了

削除が完了すると、Windows 10のデスクトップが真っ黒になった。

  • 背景が真っ黒

    背景が真っ黒

WSLで動作しているUbuntuを調べていくと、ほとんどのファイルが削除されていることを確認できる。

  • WSLで動作しているUbuntuはほとんどのファイルが削除されている

    WSLで動作しているUbuntuはほとんどのファイルが削除されている

Windows 10側を操作してみると、起動できるアプリケーションもあれば、起動できないアプリケーションもある。特にMicrosoftストア経由でインストールしたアプリケーションは起動できなくなったものが多かった。

  • Microsoft Edgeが起動しない

    Microsoft Edgeが起動しない

  • アラーム&クロックが起動しない

    アラーム&クロックが起動しない

  • エクスプローラが起動しない

    エクスプローラが起動しない

  • openSUSEが起動しない

    openSUSEが起動しない

  • Kali Linuxが起動しない

    Kali Linuxが起動しない

  • SUSE Linux Enterprise Serverが起動しない

    SUSE Linux Enterprise Serverが起動しない

  • Debian GNU/Linuxが起動しない

    Debian GNU/Linuxが起動しない

Windows 10を再起動すると、再起動する前に起動しなかったアプリケーションのうち、いくつかは起動するようになったが、やはり起動しないアプリケーションもあった。

  • 再起動すると多少マシになるが、起動しなくなるアプリケーションがある

    再起動すると多少マシになるが、起動しないアプリケーションもある

WSLのLinuxから「rm -rf /」を実行することで、Windows側に保存された削除可能なユーザファイルやフォルダが削除され、その影響でいくつかのアプリケーションが起動しなくなった。しかし、Windows 10が起動しなくなるような致命的な破壊には至っていない。ユーザーのデータが一部消えたといった状況だ。

WSLでrm -rf /実行は要注意

Microsoftストアから簡単にインストールできるようになったからといって、WSLで動作しているLinuxから気軽な気持ちで「rm -rf /」を実行するのは危険だ。Windows 10側のファイルも一部削除されてしまうので注意してほしい。