Synapticを使用して、最新の2つのエントリのみを残して古いカーネルを定期的に削除します。
Preciseを使用しています。しかし、私のGrubの「以前のLinuxバージョン」メニューには、2.6.8というラベルのかなりの数のエントリがあります。これらのlinux-imagesをSynapticで見つけることができません。
dpkg -l | grep linux-image
与える:
rc linux-image-3.0.0-17-generic 3.0.0-17.30
Linux kernel image for version 3.0.0 on x86/x86_64
ii linux-image-3.2.0-27-generic 3.2.0-27.43
Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii linux-image-3.2.0-29-generic 3.2.0-29.46
Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii linux-image-3.4.0-030400-generic 3.4.0-030400.201205210521
Linux kernel image for version 3.4.0 on 32 bit x86 SMP
ii linux-image-generic 3.2.0.29.31
Generic Linux kernel image
Sudo update-grubは以下を提供します。
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.4.0-030400-generic
Found initrd image: /boot/initrd.img-3.4.0-030400-generic
Found linux image: /boot/vmlinuz-3.2.0-29-generic
Found initrd image: /boot/initrd.img-3.2.0-29-generic
Found linux image: /boot/vmlinuz-3.2.0-27-generic
Found initrd image: /boot/initrd.img-3.2.0-27-generic
Found linux image: /boot/vmlinuz-2.6.38-11-generic
Found initrd image: /boot/initrd.img-2.6.38-11-generic
Found linux image: /boot/vmlinuz-2.6.38-10-generic
Found initrd image: /boot/initrd.img-2.6.38-10-generic
Found linux image: /boot/vmlinuz-2.6.38-8-generic
Found initrd image: /boot/initrd.img-2.6.38-8-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Vista (loader) on /dev/sda1
Sudo apt-get remove linux-image-2.6.8-8-genericの結果:
E: Unable to locate package linux-image-2.6.8-8-generic
E: Couldn't find any package by regex 'linux-image-2.6.8-8-generic'
ブートフォルダーには次のものが含まれています。
abi-2.6.38-10-generic initrd.img-3.4.0-030400-generic abi-2.6.38-11-generic memtest86 + .bin abi-2.6.38-8-ジェネリックmemtest86 + _multiboot.bin abi-3.2.0-27-generic System.map-2.6.38-10-generic abi-3.2.0-29-generic System.map-2.6 .38-11-generic abi-3.4.0-030400-generic System.map-2.6.38-8-generic config-2.6.38-10-generic System.map-3.2 .0-27-generic config-2.6.38-11-generic System.map-3.2.0-29-generic config-2.6.38-8-generic System.map-3.4 .0-030400-generic config-3.2.0-27-generic vmcoreinfo-2.6.38-10-generic config-3.2.0-29-generic vmcoreinfo-2.6.38-11 -generic config-3.4.0-030400-generic vmcoreinfo-2.6.38-8-generic extlinux vmlinuz-2.6.38-10-generic grub vmlinuz-2.6。 38-11-generic initrd.img-2.6.38-10-generic vmlinuz-2.6.38-8-generic initrd.img-2.6.38-11-generic vmlinu z-3.2.0-27-generic initrd.img-2.6.38-8-generic vmlinuz-3.2.0-29-generic initrd.img-3.2.0-27-generic vmlinuz-3.4.0-030400-generic initrd.img-3.2.0-29-generic
そして
ls -l /etc/grub.d
合計56 -rwxr-xr-x 1ルートルート6715 4月17 20:16 00_header -rwxr-xr-x 1ルートルート5522 2011年10月1日05_debian_theme -rwxr- xr-x 1ルートルート7407 5月17 09:22 10_linux -rwxr-xr-x 1ルートルート6335 Apr 17 20:16 20_linux_xen -rwxr-xr-x 1ルートルート1588 5月3 2011 20_memtest86 + -rwxr-xr-x 1ルートルート7603 4月17 20:16 30_os-prober -rwxr-xr-x 1ルートルート214 2011年10月1 40_custom -rwxr-xr-x 1ルートルート95 2011年10月1日41_custom -rw-r--r-- 1ルートルート483 2011年10月1日README
gdisk -l /dev/sda
収量:
パーティションテーブルスキャン: MBR:MBRのみ BSD:存在しない APM:存在しない GPT:存在しない ************************************************ ****************** 無効なGPTおよび有効なMBRが見つかりました。 MBRをGPT形式に変換します。 ****************************************** ************************ ディスク/ dev/sda:312581808セクター、149.1 GiB 論理セクターサイズ:512バイト ディスク識別子(GUID):F832A498-05E1-4615-B5B1-757ACB4A757A パーティションテーブルは最大128エントリを保持します 最初の使用可能なセクターは34、最後使用可能なセクターは312581774 パーティションは2048セクターの境界に配置されます 合計空きスペースは4183661セクター(2.0 GiB) 番号開始(セクター)終了(セクター)サイズコード名 1 2048 61442047 29.3 GiB 0700 Microsoft基本データ 3 163842048 169986047 2.9 GiB 8200 Linuxスワップ 4 169986048 312578047 68.0 GiB 0700 Microsoft基本データ 5 61444096 159666175 46.8 GiB 8300 Linuxファイルシステム
Grubから古いカーネルや存在しないカーネルを削除するのを手伝ってください。
私はこの問題が何であるかを見つけました。
問題は、Ubuntuをアップグレードしたときに、通常のアップグレードではなくliveUSBを使用してインストールすると、/ bootフォルダーに古いカーネルファイルが残ることでした。
12.10から13.04に同じ方法でアップグレードしたので、同じ状況に遭遇しました。
解決策は、/ bootフォルダー内の古いカーネルに関連するすべてのファイルを手動で削除し、Sudo update-grub
を実行することです。余分なエントリはなくなりました。
ターミナルを開きます(Ctrl+Alt+T)。
uname -r
と入力します。これにより、現在使用しているカーネルが表示されるため、これを削除する必要はありません。
次のコマンドを実行します:dpkg --list | grep linux-image
。これにより、インストールされているすべてのカーネルが表示されます。
削除するすべてのカーネルの名前を書き留めます。
カーネルを削除するには、次を実行します:Sudo apt-get purge linux-image-x.x.x.x-xyz
(カーネル名を適切なものに置き換えます)。
GRUBを更新します:Sudo update-grub2
そして、完了です。
ボーナス:これらすべてを自動的に行う小さなワンライナーです:
Sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )
このコマンドを試してください。同じapt-get remove
コマンドの洗練されたバージョンです
Sudo apt-get autoremove linux-image-3.2.0-23-generic-pae
removeをautoremoveに置き換えることにより、削除プロセスは残りの依存関係も自動的に検出して削除するので、あちこちに行く必要がなく、クリーンなアンインストールを取得できます残り物を削除します。
他の古いカーネルに対してもプロセスを繰り返します。
その後、実行します
Sudo update-grub
その後、最新のカーネルのみが表示されます。
最も滑らかなソリューションは、ubuntu-Tweak
を使用することです。インストール後、起動してJanitor
に移動し、Old Kernel
を選択して、削除する古いカーネルとClean
を選択します。それでおしまい! (管理者にはoldカーネルのみが表示されることに注意してください)
通常、Synaptic(最近は別途インストールする必要があります)を起動し、インストール済みカテゴリで「linux」を検索し、すべての古いバージョンのカーネルとlinux-headers(つまり、現在のものを除くすべて)を削除対象としてマークします。アンインストールすると、GRUBメニューから削除されます。
それを行うには気の利いた単一行コマンドが必要ですが、手動で行う方が安全だと感じます
ターミナルセッションでこれを入力することをお勧めします(Alt-Ctrl-T):
Sudo update-grub
このコマンドにより、grubはos-prober
を使用し、メニューを更新します。
Grubを使用していた古いUbuntuリリースのパーティションがある場合(OPにはどこかにnattyリリースパーティションがあるようです)、現在のシステムでupdate-grubを実行する前にそれらをクリーンアップする必要があります。 os-prober
は、Windowsおよびその他のLinuxパーティションを検出します。他のLinuxパーティションの場合、カーネルファイルを調べるのではなく、grubメニューからアイテムをコピーします(存在する場合)。
本当に混乱した設定がある場合、Ubuntuシステムを起動してgrubを再インストールするのが最良の解決策かもしれません:
Sudo apt-get --reinstall install grub2
Grubの再インストール中に、そのパーティションにインストールされているカーネルと、他の(おそらく古い)Ubuntuパーティションのgrub構成にインストールされているカーネルに基づいて、/etc/default/grub
および/boot/grub/menu.cfg
ファイルを再作成しますOPのように思えます)。
buntu 12.04 LTS(Precise)64bit(非PAE 32bitの場合)
存在するバージョンを確認します。
Sudo update-grub
最も古いものを最初に削除し、do n't現在の/最新のバージョンを削除します。
Sudo apt-get remove linux-image-3.2.0-23-generic
Sudo apt-get remove linux-image-3.2.0-24-generic
Sudo apt-get remove linux-image-3.2.0-25-generic
now presentのバージョンを再確認します。 (オプション)
注:この手順は必須です。最新バージョン以外のすべてを削除する場合(または1つだけ残す場合)。
Sudo update-grub
buntu 12.04 LTS(Precise)32bit(PAE)
存在するバージョンを確認します。
Sudo update-grub
最も古いものを最初に削除し、do n't現在の/最新のバージョンを削除します。
Sudo apt-get remove linux-image-3.2.0-23-generic-pae
Sudo apt-get remove linux-image-3.2.0-24-generic-pae
Sudo apt-get remove linux-image-3.2.0-25-generic-pae
now presentのバージョンを再確認します。 (オプション)
注:この手順は必須です。最新バージョン以外のすべてを削除する場合(または1つだけ残す場合)。
Sudo update-grub