「ボリュームブートのディスク領域は0バイトのみです」


32

最近の更新後、次のような警告が表示されます。

The volume boot has only 0 bytes disk space remaining

しかし、私のコンピューターには十分なHDスペースがあります。誰も私がこれを解決する方法を知っていますか?(関連する場合は、Ubuntu 12.04の代替インストールイメージのディスク暗号化機能全体を使用しています)。


マシンにUbuntuをどのようにインストールしたかによります。ターミナルで「sudo fdisk -l」を実行して、ほぼ満杯の小さなパーティションがあるかどうかを確認できますか?
パウリウスシュキース

4
さらに良いことに、引用符なしでコマンド 'df -H -x tmpfs -x devtmpfs'を実行し、ここに出力を貼り付けてください。
fabricator4

この質問と回答は問題に関連しており、役立つ場合があります。
elomage

明らかに暗号化されたパーティションの既知の問題。答えaskubuntu.com/a/230942/231504はすばらしい-私のために働く。また、しかし、Ubuntuのトラッカーで影響を受けるユーザーの数をインクリメントしてください:bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/...
pestophagous

回答:


48

すべてのカーネルをリストするには:
dpkg --get-selections | grep "linux-image-[[:digit:]].*" | tr "\t" ";" | cut -d ";" -f1

結果は次のようになります。

linux-image-3.19.0-7-generic 
linux-image-3.18.0-13-generic  
linux-image-3.16.0-23-generic

古いカーネルのみを削除して、すべてのカーネルを削除しないでください!

次に、3.16カーネルを削除しましょう。
sudo apt-get purge linux-image-3.16.0-23-generic

そして、システムからのすべての未使用パッケージ:
sudo apt-get autoclean && sudo apt-get autoremove


extra両方linux-image-3.13.0-40-genericとも呼ばれるものもありlinux-image-extra-3.13.0-40-genericます。で削除できますextraか?
マッドスキャーン

これは非常に役に立ちましたが、私の問題を完全に解決することはできませんでした(古いカーネルのパージはまだ失敗していました)。古いカーネルファイルを手動で削除する必要がありました。を使用していくつかの大きなものを見つけましたfind /boot/ -type f | xargs du | sort -n。現在実行中のカーネルは3.13.0-66-genericですので、それに関連するものを削除しないように注意していますが、次のものは削除しましたsudo rm /boot/initrd.img-3.13.0-63-generic /boot/initrd.img-3.13.0-65-generic /boot/vmlinuz-3.13.0-65-generic /boot/vmlinuz-3.13.0-63-generic。最後に、古いカーネルでパージを実行すると成功します。
15年

4
本当に0バイトの空きがある場合、@ blongが言ったようにこれは機能しません。パージプロセスではいくつかのファイルを作成する必要があるため、古いvmlinuzファイルを手動で削除する必要があり、0バイトが残っていると失敗します。
pomarc

1
どのカーネルが古いかを知るにはどうすればよいですか?私の出力はlinux-image-4.10.0-42-generic linux-image-4.13.0-26-generic linux-image-4.13.0-32-generic linux-image-4.13.0-37-generic linux-image -4.13.0-38-generic linux-image-4.13.0-39-generic linux-image-4.13.0-41-generic linux-image-4.13.0-43-generic linux-image-4.8.0-36 -generic
jacob

25

確かに古いカーネルイメージが原因でした。
私がしなければならなかったすべてをクリーンアップするには、1行を実行しました。

sudo apt-get autoclean && sudo apt-get autoremove

これにより、古いカーネルが自動的に認識され、削除されました。


9

/boot時間の経過とともにアップグレードを実行しているときに、パーティションに蓄積されたカーネルバージョンが多すぎる可能性があります。このパーティションは、容量ディスクパーティション(としてマウントされている/)とは別のものである可能性があります。次の/bootようなパーティションスペースを確認できます(/ bootがある行を探します)。

df -h

古いカーネルを削除する方法に関する素晴らしいページがあります

つまり、現在のカーネルバージョンを確認し、インストールされているもののリストを取得してから、apt-getで古いバージョンを削除します。また、ページにはすべての処理を行う「魔法の」ワンライナーコマンドがあります。ただし、自己責任で使用してください。

手順の詳細:

  1. 保持したい現在のカーネルバージョンを取得します

    uname -r
    
  2. インストールされているすべてのカーネルのリストを取得します。

    dpkg -l | grep linux-image-
    
  3. 削除するカーネルでapt-get removeを実行します。最新のものではありません!例えば:

    sudo apt-get remove linux-image-2.6.32-22-generic
    

その他のメモ:

  • dpkg -lパッケージ名の前に(カーネル)パッケージステータスが表示されます。例えば:

    rc  linux-image-3.13.0-39-generic  ...
    ii  linux-image-3.13.0-40-generic  ...
    
    • パッケージがあることを、「RC」の手段rが emovedと持っcを onfigurationファイル。これらを削除する必要はありません。
    • パッケージはのためにマークされていることを「II」と nstallationとある nstalled

    これに基づいて、インストールされているカーネルパッケージのみを一覧表示できます。

    dpkg -l | grep "ii.*linux-image-"
    

GUIツールUbuntu Tweakを使用した代替ソリューション

インストールしてComputer Janitorに移動し、System-> Old KernelおよびSystem-> Unneededパッケージを確認して、Cleanを押します。


3

このスクリプトを使用して、現在のバージョンと以前の(最後の1カーネルバージョン)を残す他のすべての古いカーネルを削除します。

KERNELMAGES=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-image/g'`

KERNELHEADERS=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-headers/g'`

for PURGEKERNEL in `echo $KERNELMAGES $KERNELHEADERS`; do

apt-get autoremove -y && apt-get purge $PURGEKERNEL -y

done

コマンドラインから "Paradiesstaub"の回答ができなかった場合でも、完璧に機能しました。
ブルトリアス

...私は取得しています「アクセス許可が拒否されました」
リチャード・ハーディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.