Windowsも結構壊せる『rm -rf /』
WSL (Windows Subsystem for Linux)が搭載されたおかげで、Windows 10でLinuxが実行できるようになった。WSLはPCをエミュレートしているのではなく、Linuxバイナリを直接Windowsカーネルが理解して実行することで実現している。ファイルシステムもWindowsのファイルシステムをLinuxが利用する形になっている。
つまり、WSLで動作するLinuxから『rm -rf /』を実行した場合、LinuxのみならずWindows側も破壊できる。
Windows 10のWSLは技術的にはコンテナに近いところがある。しかし、WSL側からWindows側をマウントしてアクセスできるようにしてあることで、WSL側の操作ミスでWindowsを破壊できる可能性も増やしている。今回はこの点を試してみよう。
WSLでrm -rf /を実行{#ID2}
Windows 10にインストールしたUbuntu 18.04 LTSでrm -rf /を実行する。
Ubuntuではrm -rf /を実行しようとすると、次のように危険だから実行できないというメッセージが表示される。実行するには、--no-preserve-rootを指定するようにとメッセージが表示される。
sudo rm -rf --no-preserve-root /を実行すると、次のように削除が進む。削除中はプロセッサとディスクのリソース消費が高くなることがわかる。
削除が完了すると、Windows 10のデスクトップが真っ黒になった。
WSLで動作しているUbuntuを調べていくと、ほとんどのファイルが削除されていることを確認できる。
Windows 10側を操作してみると、起動できるアプリケーションもあれば、起動できないアプリケーションもある。特にMicrosoftストア経由でインストールしたアプリケーションは起動できなくなったものが多かった。
Windows 10を再起動すると、再起動する前に起動しなかったアプリケーションのうち、いくつかは起動するようになったが、やはり起動しないアプリケーションもあった。
WSLのLinuxから「rm -rf /」を実行することで、Windows側に保存された削除可能なユーザーファイルやフォルダが削除され、その影響でいくつかのアプリケーションが起動しなくなった。しかし、Windows 10が起動しなくなるような致命的な破壊には至っていない。ユーザーのデータが一部消えたといった状況だ。
WSLでrm -rf /実行は要注意
Microsoftストアから簡単にインストールできるようになったからといって、WSLで動作しているLinuxからと、気軽な気持ちで「rm -rf /」を実行するのは危険だ。Windows 10側のファイルも一部削除されてしまうので注意してほしい。