3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ubuntuがディスクの容量不足で起動しなくなった際の対処法

Last updated at Posted at 2022-06-21

ことの発端

研究室の PC には Ubuntu がインストールされており,家から SSH をつないで使うことが多いので普段からシャットダウンはしていない.
ある日,研究室で Ubuntu にログインすると,画面に /root の容量がいっぱいです.ゴミ箱を空にしますか? というような表示が出ていた.(正確な文言は覚えていないです.すみません.)
とりあえずゴミ箱を空にし,検索をするため Chrome を起動しようとしたが,起動しない.
shell から google-chrome を実行すると,socket 関連のエラーを吐いていた.
安直な気持ちで再起動すれば治るだろうと思い,再起動したら grub shell しか起動しなくなるという状況に...

Ubuntu が起動しなくなった原因

Ubuntu がインストールされている /dev/sda5 の容量がいっぱい (100%) になったことによる boot の失敗

対処法

なんとかして /dev/sda5 にあるファイルを削除し,boot に必要な空き容量を確保します.
※環境が限定的,スクリーンショット無し,筆者のカーネル周りの知識が乏しいため以下の例は参考にならないかもしれません.
まずは PC の電源を入れ,F2 や del キーを長押しすることで UEFI を起動します.
Ubuntu を起動しようとするとフリーズするので,ブートの選択から GRUB を指定します.
起動すると下記のようなプロンプトが表示されるはずです.(GRUB メニューが起動し,Ubuntuのリカバリーモードが選択できる場合はリカバリーモードで起動してみてください)

GNU GRUB version 2.02
grub>

下記のフォーラムを参考に手動で Ubuntu を boot します.
https://unix.stackexchange.com/questions/418401/grub-error-you-need-to-load-kernel-first
https://askubuntu.com/questions/883992/stuck-at-grub-command-line

grub> insmod linux
grub> linux (hd0,msdos5)/boot/vmlinuz root=/dev/sda2
grub> initrd (hd0,msdos5)/boot/initrd.img
grub> boot

(hd0,msdos5) というのは Ubuntu がインストールされているパーティションです.
root=/dev/sda2 とありますが,トラブルシューティングしている時は Ubuntu がインストールされているデバイス名を覚えていなかったので /dev/sda5 とするところを間違えて /dev/sda2 としています.追記: root=(hd0,msdos5) と指定しても良さそうです.

boot が始まりますが,途中でエラーを吐いて Ubuntu の代わりに ash が起動しました.

> ls
bin    dev   lib    libx32      root  snap  sys       var
boot   etc   lib32  lost+found  opt   run   srv       tmp
cdrom  home  lib64  media       proc  sbin  swapfile  usr
> ls /home
Ubuntu       BOOT

間違えて /dev/sda2 を指定したせいか,まっさらなルートディレクトリが表示され,/home の中には Ubuntu, BOOT というディレクトリがありました.
help コマンドを実行すると,mount, rm が使えるようなので /dev/sda5 をマウントしてファイルを削除します.

> mkdir /sda5
> mount /dev/sda5 /sda5
> cd /sda5
<不要なファイルを削除する>
> df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda5      959862832 696352476 214682196  77% /sda5

とりあえず 100% から 77% までファイルを削除し,reboot コマンドが機能しなかったので電源ボタンから再起動します.(UEFI でブートの順番を変更した場合は元に戻すのを忘れずに.)
これで正常に起動するようになりました.

おわりに

SSH で PC を使っていると,知らないうちにディスクが容量不足になっていたりします.
大きなファイルをダウンロードしたり,プログラムの出力で大きなファイルを出力する場合は,df コマンドを叩いて容量を確認する癖を付けると良いかもしれません.

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?