Derlenmiş çekirdeği nasıl kaldırabilirim?


21

Dizüstü bilgisayarıma Lenovo E455'e 14.10 yükledim.

Ve aşağıdaki sıra ile derlenmiş çekirdek 3.19

14.10'un madende çalışmak istemediği anlaşılıyor (yavaş hareketler gördüm).

Şu anki çekirdeği http://www.kernel.org/ adresinden indirebilirsiniz.

make oldconfig
make
sudo make install

Sonunda yeni çekirdekli önyükleme başarısız oldu.

Derlenmiş çekirdeği grubtan nasıl çıkarabilir ve geri kazanabilirim?


Şimdiye kadar ne çıkarmaya çalıştın ve nereye yanlış gitti? Herhangi bir uyarı veya hata mesajı nerede var?
David Foerster

Yardımlarınız için teşekkürler. Kurtarıldı ve Ubuntu 15.XX'i bekliyoruz.
Ohmygirl

Yanıtlar:


33

Kolay yöntem:

Debian yöntemi ile derlenirse, kurulu çekirdeği aşağıdakilerle birlikte görebilirsiniz:

dpkg --list | grep kernel-image

Sonra istediğiniz çekirdek paketini şu şekilde kaldırın apt-get:

sudo apt-get remove kernel-image-your-kernel-image

Zor bir yöntem:

Derlenir ve yüklenirse make install, aşağıdaki girişleri el ile kaldırmanız gerekir:

/boot/vmlinuz*KERNEL-VERSION*
/boot/initrd*KERNEL-VERSION*
/boot/System-map*KERNEL-VERSION*
/boot/config-*KERNEL-VERSION*
/lib/modules/*KERNEL-VERSION*/
/var/lib/initramfs/*KERNEL-VERSION*/

Ardından grub konfigürasyonunu güncelleyin:

sudo update-grub2

1
/ Var / lib / initramfs / dizinim yok, fakat sistemimde derlenmiş çekirdekler olmadığı için mi?
jarno

1
/var/lib/initramfs-tools/*KERNEL-VERSION*Debian'da
Csaba Toth

1
/boot/abi*KERNEL-VERSION*/boot/retpoline*KERNEL-VERSION*
Aşağıdakileri

9

Jarno'nun buradaki sorusu sayesinde, Mudit Kapil'in çok az yazmayı gerektiren ve etrafta yatan fazla bitleri yakalayan cevabını uygulamanın bir yolunu buldum.

Çekirdeği kaldırmak için gereken tek şey tüm dosya ve dizinlerini silmek olduğundan ve tüm bu dosya ve dizinlerin yollarında çekirdek serbest bırakma dizesi olacağından, tüm dosyaları çekirdek serbest bırakma dizesiyle locatebulup silebiliriz. çekirdeği çıkarmak için.

(İlk uname -rönce o anda çalışan çekirdeğin adını bulmak için kontrol edin ve silmemeyi unutmayın)

Diyelim ki adı verilen bir çekirdeği kaldırmak istiyorsunuz 4.4.6-my-kernel. Varolan tüm dosya ve klasörlerini (tüm dosyalardaki tüm klasörleri listelemeden) ile bulabilirsiniz locate -b -e 4.4.6-my-kernel. Ekleme rm -rile bu kadar xargsçok dosyaları silmek için izin verir. Görüntü hedefleri -poluşturmak için eklerim xargsve yürütmeden önce onay isterim

locate -b -e 4.4.6-my-kernel | xargs -p sudo rm -r

daha sonra gösterilen hedeflere yuygulamak rm -riçin yazın. Dizin olmayan dosyaların var olmadığından, onları tekrar tekrar silmeye çalıştığınız için şikayetçi olacaktır ( -r) ama sorun değil, yine de dizinler ve içerikleri ile birlikte kaldırılacaklardır. Tamamlandığında, sadece koş

sudo update-grub

ve voila.


+1 çünkü bu, kabul edilen yanıttan daha fazla dosya yakalar. Mesela her dkmsşey için. Önce rmsilinecek her şeyi görmek için bir seçenek olmadan çalıştırırdım .
WinEunuuchs2Unix 15

Şu anda çalışan çekirdeği neden silmemeliyim? Silmek istediğim çekirdek buysa? O anda çalışan çekirdeği, önce makineyi başka bir çekirdekle yeniden başlatmadan silmek mümkün müdür?
Liran Funaro

1
@LiranFunaro bu evet mümkün. Cevabımı gör Çalışan çekirdeği sadece komut ile nasıl kaldırırım? Ayrıca bunun neden iyi bir fikir olmadığını da açıklıyor
Zanna
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.