解決 Ubuntu 系統硬碟滿載,導致系統無法啟動

那天將 OS 由 Ubunt 18.04 升級 Ubuntu 20.04 後,配置完慣用的快捷件與 UI 後,順手重新開了機。卻結果發現開不了機了,一旦輸入開機密碼就跳黑屏,螢幕上顯示這錯誤訊息:

1
/dev/sda6:clean ***/*** files, ***/***blocks


雖然在網路上找到很多可能的原因,但我依稀記得開機前有看到 Chrome 給了我一條提示:說我的空間已滿,建議我刪除一些網頁暫存紀錄,尋思是不是因為硬碟空間滿了導致開不了機?雖然覺得不可思議,但還是決定先朝這方向來試試。

  • Step1:確認硬碟是否滿載
    不過我也不確定這是不是 root cause,但系統又進不去了,所以決定先進 Recovery Mode。
    進入 Recovery Mode


    選擇 root 選項並輸入密碼:

    root 選項


    看了下硬碟的佔用情況:

    1
      $ df –lh 
    
    硬碟的佔用情況


    果然滿載了,雖然百思不得其解,不過既然是硬碟滿了,那就刪掉冗餘的軟體與檔案就好啦~!


  • Step2:釋放硬碟空間
    先清掉一些快取檔案、安裝檔、舊版本檔案和相依性軟體,放掉硬碟空間。
    1
    2
    3
      $ sudo apt-get autoclean
      $ sudo apt-get clean
      $ sudo apt-get autoremove
    


    不想下指令的話,剛剛 UI 上有一個 clean 的選項也能達到類似的效果:

    clean 的選項


  • Step3:刪除大文件
    可透過 du 指令,如:du -h max-depth=1 /usr/du -shx /*,不然也可以土法煉鋼用 ls -lhS 將檔案由從大到小順序,一層一層地去找出大檔案。

    不過有找到一個比較快速的方法,直接找硬碟上大於 400MB 的文件,一般通常都 log 檔,可以直接刪除:

    1
      $ find / -size +400000k -exec rm -rf {} \;
    


    如果擔心誤刪的的話,可以先將大於 400MB 的文件列出在手動刪除:

    1
      $ find / -size +400000k -exec ls -lhS {} \;
    


    搞定後,再次檢查硬碟空間,OK 的話,就可以下重新開機:

    1
      $ reboot
    


…這才是我的正常應得使用量咩,剛剛到底發生了啥事阿!

清理後硬碟的佔用情況



參考資料

  1. cskywit (2019-07-24)。【问题解决】/dev/sda6:clean xxx/xxx files, xxx/xxx blocks_寸先生的AI道路-程序员宝宝_ubuntu强制关机后无法进入。檢自 寸先生的AI道路|CSDN博客 (2021-09-07)。
  2. jmq (2014-05-07)。Ubuntu does not boot due to disk space full。檢自 Super User (2021-09-07)。
  3. davefighting (2018-07-01)。ubuntu系统磁盘已满,导致系统无法启动。檢自 zhouxiaowei1120的博客|CSDN博客 (2021-09-07)。
  4. LIEYz (2020-10-15)。ubuntu磁盘满导致无法开机。檢自 LIEY|CSDN博客 (2021-09-07)。
  5. 三铜钱 (2021-05-16)。Linux系统盘满了无法启动系统,linux 系统运行久了,硬盘满了如何处理呢?。檢自 三铜钱的博客|CSDN博客 (2021-09-07)。
  6. 吴小白呢 (2021-08-09)。Linux之解决磁盘耗尽导致系统无法启动。檢自 xiaobai316的博客|CSDN博客 (2021-09-07)。



更新紀錄

最後更新日期:2021-09-16
     
  • 2021-09-16 發布
  •  
  • 2021-09-07 完稿
  •  
  • 2021-09-07 起稿