Son güncellemelerden sonra bilgisayarım artık önyükleme yapmıyor! İşte belirleyebileceğim şey:
- Bu bana kurumsal BT tarafından sağlanan çok yeni bir bilgisayar. Yeni bir Intel CPU'ya (Skylake nesil) sahiptir.
- Bilgisayar Ubuntu 16.04'ü çalıştırıyor.
- Bilgisayar en son Mart ayında bir süre doğru açıldı. Sorun muhtemelen bir yazılım güncellemesi veya bir donanım hatası nedeniyledir.
- Neredeyse aynı yazılımı yüklü 16.04 çalışan başka bir bilgisayarım var (kullandım
apt-clone
) ve gayet iyi çalışıyor. Farklı donanımlara sahiptir (ayrıca amd64, ancak farklı CPU, farklı GPU, vb.). - Çekirdek başlıyor, initrd düzgün çalışıyor. Grafik modunda açılış ekranını açtığımda, dm-crypt birimimin parolasını girmem isteniyor ve en son gördüğüm şey başarılı bir şekilde monte edilmiş olmasıdır.
- Bir oturum açma istemi gelmeden önce kilitlenme gerçekleşir. Bilgisayar kilitlendiğinde, zor bir askıda kalıyor. Alt+ Bile SysRqcevap vermiyor. Fanlar tam patlamada açıldığı için CPU% 100 oranında belirgin bir şekilde sabitlenmiş durumda.
- Hala yeniden başlatmadan önce çalıştırdığım çekirdeğim var. Grub menüsünde bu çekirdeği seçtiğimde aynı kilitlenmeye sahibim. Öyleyse bu, başka bir şeyin tetiklediği önceden var olan bir çekirdek böceği gibi görünüyor - ama ne?
- Açılış ekranını kapatırsam ( Grub'taki komut satırından kaldır)
splash
, başladığımlinux
bir takım hizmetler görüyorum, sonra kilitleniyor. Ben ekleyerek bir kök kabuğu alabilirsiniz
init=/bin/sh
etmeklinux
Grub komut satırı. Ekleyerek daha da ilerleyebilirimsystemd.unit=basic.target systemd.shell
Bu, birkaç servis başlatır ve tty9'da bir kök kabuğu çalıştırır.
- Bu
systemctl start multi-user.target
kök kabuğundan kaçarsam, bilgisayar kilitlenir. Bu yüzden muhtemelen sorun bu hizmetlerden biri tarafından tetiklenir. systemctl list-dependencies multi-user.target
Hangi servislerin başladığını görmek için koştum . Listelenen bağımlılıkları tek tek el ile başlattım ve her şey yolunda gitti.
Bu, bazı yazılımlar tarafından tetiklenen (bir bilgisayarda, diğerinde değil, bir bilgisayarda meydana geldiği için) bu bir donanım hatası gibi görünüyor. Ama hangi yazılım? Bilgisayar çok sıkı kilitlendiğinden, herhangi bir günlük alamıyorum. Kullanışlı bir konsol çıktısı bile alamıyorum.
Yararlı hata ayıklama teknikleri:
- Alt+ SysRq: Acil durum yeniden başlatması gibi şeyleri yapmanızı sağlayan sihirli SysRq tuşu . Çekirdeğe çok düşük bir seviyede erişir, bu yüzden en kötü kazalar dışında çalışır. Benim durumumda Alt+ SysRqcevap vermiyor, bu da kazanın ne kadar derin gittiğini gösteriyor.
- Önyükleme parametrelerini değiştirmek için Shift, gücü açtıktan sonra birkaç saniye basılı tutun . BIOS klavyeyi başlattıktan sonra, ancak işletim sistemi önyüklemeden önce basmanız gerekir. Bu, Grub menüsünün görünmesini sağlar.
- Grub menüsünde, ebir menü girişi için komut satırını düzenlemek için basın . Linux önyükleme parametrelerini değiştirmek için ile başlayan satıra gidin
linux
. Modern bir Ubuntu'da, “Ubuntu için gelişmiş seçenekler” altında eski çekirdekleri bulacaksınız. İstediğiniz değişiklikleri komut satırında yaptıktan sonra önyüklemek için Ctrl+ tuşuna basın x. Burada yaptığınız herhangi bir değişiklik yalnızca bu önyükleme içindir, diske kaydedilmez. linux
Komut satırında bazı yararlı seçenekler :quiet nosplash
hemen hemen tüm önyükleme iletilerini gizler. Başlatma sırasında herhangi bir sorun teşhis etme şansına sahip olmak için gerekli olan mesajları konsolda almak için bunları kaldırın.recovery
size hemen hemen hiçbir hizmeti olmayan bir kök kabuğu verir. Kök şifresini bilmeniz gerekir. “Kurtarma modu” menü girişi bunu kullanır.init=/bin/sh
size hiçbir hizmeti olmayan bir kök kabuğu verir. Normal önyüklemeye devam etmek için çalıştırınexec init
. Bu noktada sistemd seçeneklerini geçebilirsiniz, örneğinexec init --unit=basic.target
init ve birkaç servis başlatmak için (bunun giriş yapmak için herhangi bir yolla başlayamadığını unutmayın, bu nedenle başka bir konsolda çalışan bir kabuğun daha iyi olması gerekir). Kök dosya sisteminin salt okunur monte edildiğini unutmayın;mount -o remount,rw /
ona yazabilmek için koş .systemd.unit=basic.target
çok temel bir hizmet kümesi başlatır. Bunun giriş yapmanın bir yolunu içermediğine dikkat edin! Bunusystemctl set-default basic.target
bir kök komut isteminde çalıştırarak varsayılan yapabilirsiniz . Orijinal varsayılan hedefi geri yüklemek için, çalıştırınsystemctl set-default graphical.target
(veyasystemctl set-default multi-user.target
GUI'siz bir sunucu için).systemd.debug-shell
tty9'da bir kök kabuğu başlatır.systemctl enable debug-shell
Kök isteminde çalıştırarak bunu her önyükleme için etkinleştirebilirsiniz . Sorunu çözdükten sonra bunu devre dışı bırakmayı unutmayınsystemctl disable debug-shell
. Tty9'a geçmek için Alt+ tuşuna basın F9.- Ayrıca bkz. Fedora sistem ipuçları , Arch Linux açılış problemi ipuçları .