it-swarm-tr.com

Alt + sysrq + REISUB dizüstü bilgisayarımı yeniden başlatmıyor

Bazen, dizüstü bilgisayarım sıkıştı, bu yüzden sihirli tuş kombinasyonunu kullandım Alt + SysRq + REISUB güvenli bir yeniden başlatma gerçekleştirmek için. Ancak, benim için işe yaramaz gibi görünüyor B sihirli anahtar komutunu tamamlamak için basitçe "sıfırlanıyor ..." diyor ve hiçbir şey yapmıyor.

Diğer tüm tuşlar, klavye düzenini sıfırladığı, tüm görevleri öldürdüğü vb.

Sihirli anahtarların hepsi REISUB sırasına basıldıktan sonra dizüstü bilgisayarımın yeniden başlatılması gerektiği izlenimindeydim.

63
James White

Bir hatayı düzeltmek için Alt + SysRq devre dışı bırakıldı. Magic-SysRq'in devre dışı bırakılması bir hatanın kendisi olarak kabul edildi ve o zamandan beri yeniden etkinleştirildi ( # 1025467 ). Hala sizin için devre dışı bırakılmışsa, yeniden etkinleştirebilirsiniz:

Ubuntu 12.04 ve üstü

Satırı eklemek için /etc/sysctl.conf dosyasını düzenleyin

kernel.sysrq=1

Ubuntu 12.10 ve daha yenisi

Ubuntu 12.10'dan başlayarak, Magic-SysRq özelliklerinin etkinleştirildiği daha hassas bir denetim mümkündür. Sadece /etc/sysctl.d/10-magic-sysrq.conf dosyasını düzenleyin.

Dosya iyi belgelenmiştir ve tam olarak hangi özellikleri nasıl etkinleştireceğinizi anlatır. Geçerli varsayılan, güvenlik nedeniyle seçilmiştir ve yalnızca neden gerek duyduğunuzu biliyorsanız değiştirilmelidir (güvenlik sonuçları için bkz. # 194676 ).

59
mniess

Klavyeler burada sorun!

  • Bazıları 4 tuşunu aynı anda sevmiyor ve bazılarını bırakana kadar klavye olmayı bırakıyor.
  • SysRq sinyalini gönderdiğinizde tüm klavyeler QWERTY mizanpaja dönüşür. Bu, başka bir mizanpaja sahip klavyelerde doğru komutları bulmayı zorlaştırır. Wikipedia: SysRq commands bir ortak alternatif düzenler için doğru olanları bulmak için tablo.
  • Bazıları SysRq başka bir anahtarda PrtSc işlev tuşu ile basılı tutun. Dizüstü bilgisayarımda bu Fn+End. Tutma Alt + PrtSc sadece bazı sistem işlemleri (pencere yöneticisi?) benim için çevirirse çalışır. Toplam kilitlenme durumunda, yalnızca gerçek  SysRq İşler!
  • Bazıları sadece tetikleyici SysRq tuşunu sağa  Alt + PrtSc (donanım ile). Sol Alt tuşu, yukarıdaki gibi aynı nedenden dolayı böyle bir durumda çalışmaz. USB klavyem böyle çalışır.
  • İpucu: vurmayı deneyin Shift + Alt + SysRq sanal terminalde 'yardım' çıktısını görmek için. Bu, herhangi bir zarar vermeden çalışıp çalışmadığını görmek için yararlıdır:

    SysRq: YARDIM: loglevel (0-9) reBoot Crash tüm görevleri sonlandır (E) bellek-tam-oom-kill (F) tüm görevleri öldür (I) çözülme-dosya sistemleri (J) saK show-backtrace-all -active-cpus (L) show-memory-use (M) Nice-all-RT-görevleri (N) powerOff show-registerları (P) tüm zamanlayıcıları göster (Q) unRaw Sync show-task-status (T) Gösteri-engellenen görevleri ayır (W) döküm-ftrace-buffer (Z)

Karşılaştığım her durumda işe yaramadı, klavyeyi değiştirmek mükemmel çalıştı ve herhangi bir çekirdek ayarında hiçbir şeyin yanlış olmadığını gösterdi.

32
gertvdijk

ATIFLAR :
https://fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key tarafından özgün çalışmayı temel alan
Kredi
Mydraal tarafından yazılmıştır
Adam Sulmicki tarafından güncellendi
Jeremy M. Dolan tarafından güncellendi 2001/01/28 10:15:59
Ekleyen Crutcher Dunnavant

https://askubuntu.com/a/11194/102029 mneiss LaunchPad için bağlantılar sağladı.

Içindekiler

Sysrq dosyası nedir?
RESIUB (O) neden çalışmıyor?

1 sysrq'i istediğim gibi davranmasını nasıl sağlayabilirim?
1.1 Sihirli SysRq anahtarı nedir?
1.2 Sihirli SysRq anahtarını nasıl etkinleştiririm?
1.3 Sihirli SysRq anahtarını nasıl kullanırım?
1.4 'Komut' tuşları nelerdir?
1.5 Peki, onları ne için kullanabilirim?

1.6 Sorun Giderme

1.6.1 Başlangıç ​​metinleri çalıştırılmadan önce asılı
1.6.2 Bazen SysRq kullandıktan sonra 'takılıp kalıyor' gibi görünüyor, ne yapabilirim?
1.6.3 SysRq'ye çarptım, ama hiçbir şey olmuyor gibi görünüyor, sorun nedir?
1.6.4 Bir modüle SysRQ anahtar olayları eklemek istiyorum, nasıl çalışır?
1.6.5 Sonuç
1.6.6 EK
[. .____] dikkat ediniz.
Kullanarak bulabilirsiniz Ctrl + F İçindekiler'i yararlı kullanmak için.

SysRq nedir?

Sistem dosya hasarına veya veri kaybına yol açan disk bozulması riskini sınırlandırarak, makine dontuktan veya kilitlendikten sonra yeniden bilinen ve kullanılan yaygın bir yöntem kullanmaktır.
Alt + SysRq + r ve sonra s ve sonra e ve sonra i ve sonra u ve sonra b ve/veya gerekirse (o)

Bu,> = 8.04LTS'den şu anki 13.04 sürümüne kadar tüm lezzetler yoluyla pek çok kişi için (yani kendim ve James) beklendiği gibi çalışmıyor.

RESIUB (O) neden çalışmıyor?

LaunchPad Bug 194676 'da bulunan bu hata açıklamasını göz önünde bulundurun:

Problemin tanımı:
Varsayılan olarak SysRq, Ubuntu masaüstü sistemlerinde varsayılan olarak etkindir; bu, bir sistem kilitlendiğinde ve onu olabildiğince yavaş bir şekilde durdurmak veya sorunu ayıklamak istediğinizde paha biçilmezdir. Bununla birlikte, birçok kişi, geçerli klavyenin içeriğini yalnızca klavyeden de olsa konsola (veya dmesg) dökmesini isteyebileceğinizden şaşırır.
openSUSE, SysRq'sinde varsayılan olarak sizi senkronize etmenizi, yeniden başlatmanızı ve "salt okunur yeniden" kısıtlamanızı sağlayan 176 varsayılan bir bit maskesi oluşturur. Bu, mantıklı gelen belleği incelemek için varsayılan olarak sysrq kullanan kişileri durdurur.

Ubuntu Geliştiricileri, bu gözlemin olası komplikasyonlarını göz önünde bulundurarak bu konuda bir şey yapma ihtiyacını gördüler ve varsayılan olarak, kullanıcı girdisinin istediği gibi ayarlanması için kullanıcı girdisine ihtiyaç duyulmasıyla bitmask 176 sysrq'yi uygulamaktır. Bitmask 176 sadece izin verir SUB Bu senkronizasyon, monte edilmiş bölümleri yeniden monte edin ve yeniden başlatın.
Hata raporunun ve yorumlarının tamamını okumak, sisteminiz için geçerli olabilecek bazı seçenekleri vurgulayacaktır.

Farklı donanım, çekirdekler, klavyeler ve bitmasklerin biriken etkisi, sysrq'in farklı insanlar için farklı davrandığı anlamına gelir.

Sisteminizin sysrq'yi nasıl kullandığına ilişkin txt çıktısı almanın bir yöntemi, tty'den (sistem kilit/donma olmadığında) sysrq komutlarını uygulamaktır. Bunu yapmak sysrq'nin tamamen devre dışı bırakılmadığını, ancak bitmask 176 kullandığını gösterebilir.

13.04 Masaüstü AMD64 liveDVD ve 13.04 Masaüstü AMD64 yüklemesinde/proc/sys/kernel/sysrq araması, varsayılanın sysrq'yi bitmask 176'da bırakacağını doğrular.

Sysrq sizin için çalışıyorsa; "10-magic-sysrq ayarlarını değiştirmediysem; Kim değiştirdi?" diye sormaya değer.

1 sysrq'i istediğim gibi davranmasını nasıl sağlayabilirim?

Aşağıdaki, https://fedoraproject.org/wiki/QA/Sysrq 'nin düzenlenmiş bir kopyası ve yapıştırmasıdır.

1.1 Sihirli SysRq anahtarı nedir?

Tamamen kilitli olmadığı sürece, çekirdeğin yaptığı her ne olursa olsun yanıt vereceği vurabileceğiniz 'sihirli' bir tuş kombinasyonudur.

1.2 Sihirli SysRq anahtarını nasıl etkinleştiririm?

sysrq, Ubuntu çekirdeğine yerleştirilmiştir, ancak önyükleme sırasında varsayılan olarak 10-magic-sysrq.conf kullanılarak devre dışı bırakılmıştır.

Önyükleme sırasında yeniden etkinleştirmek için /etc/sysctl.d/10-magic-sysrq.conf dosyasını düzenlemeniz gerekir. yani bu satırın kaldırılması sysrq'in tüm işlevlerini etkinleştirir:

#   1 - enable all functions of sysrq

SysRq derlenmiş bir çekirdeği çalıştırırken,/proc/sys/kernel/sysrq SysRq tuşuyla çağrılmasına izin verilen işlevleri denetler./Proc/sys/kernel/sysrq içindeki olası değerlerin listesi:

0 - disable sysrq completely
1 - enable all functions of sysrq
>1 - bitmask of allowed sysrq functions (see below for detailed function description):
    2 - enable control of console logging level
    4 - enable control of keyboard (SAK, unraw)
    8 - enable debugging dumps of processes etc.
    16 - enable sync command
    32 - enable remount read-only
    64 - enable signalling of processes (term, kill, oom-kill)
    128 - allow reboot/poweroff
    176 - allow only sync, reboot and "remount read-only"
    256 - allow nicing of all RT tasks 

Dosyadaki değeri aşağıdaki komutla ayarlayabilirsiniz.

echo "number" >/proc/sys/kernel/sysrq

Yani tam olarak etkinleştirmek için olurdu.

echo "1" > /proc/sys/kernel/sysrq

Ya da yaparak etkinleştirebilirsiniz.

sysctl -w kernel.sysrq=1  

Not.
/Proc/sys/kernel/sysrq değeri yalnızca klavye aracılığıyla başlatmayı etkiler./Proc/sysrq-trigger üzerinden herhangi bir işlemin başlatılmasına her zaman izin verilir (yönetici ayrıcalıklarına sahip bir kullanıcı tarafından aşağıya bakın).

1.3 Sihirli SysRq anahtarını nasıl kullanırım?

buntu Masaüstü

Sen tuş kombinasyonuna bas Alt + SysRq + command key.

N.B .- Diğer sistemler ve klavyeler için olası diğer varsayılan ayarlar için bu bölümdeki ve Sorun Giderme bölümündeki notlara bakın.

Seçtiğiniz herhangi bir karakteri ayarlamak mümkündür: Tüm Mimariler

/ Proc/sysrq-trigger öğesine bir karakter yazın:

echo t > /proc/sysrq-trigger

ayarlayacaktı T gibi davranmak SysRq
Not.
Bazı klavyelerde etiketli bir tuş olmayabilir SysRqSysRq anahtarı aynı zamanda Print Screen tuşuna basın. Ayrıca bazı klavyeler aynı anda çok fazla tuşa basıldığını işleyemez, bu nedenle daha iyi şansınız olabilir Alt + SysRq - SysRq sonra basın command key sonra her şeyi serbest bırakın. Bununla ilgili daha fazla bilgi için bu kılavuzun dayandığı KG'nin tam yazısına bakın https://fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key.3F .

1.4 'Komut' tuşları nedir?

'b' - Will immediately reboot the system without syncing or unmounting your disks.
'c' - Will perform a kexec reboot in order to take a crashdump.
'd' - Shows all locks that are held.
'e' - Send a SIGTERM to all processes, except for init.
'f' - Will call oom_kill to kill a memory hog process.
'g' - Used by kgdb on ppc and sh platforms.
'h' - Will display help (any key that is not listed here will bring forth help )
'i' - Send a SIGKILL to all processes, except for init.
'k' - Secure Access Key (SAK) Kills all programs on the current virtual terminal.  

Not.
Aşağıdaki SAK bölümünde önemli yorumlara bakınız.

'l' - Shows a stack backtrace for all active CPUs.
'm' - Will dump current memory info to your console.
'n' - Used to make RT tasks Nice-able
'o' - Will shut your system off (if configured and supported).
'p' - Will dump the current registers and flags to your console.
'q' - Will dump a list of all running timers.
'r' - Turns off keyboard raw mode and sets it to XLATE.
's' - Will attempt to sync all mounted filesystems.
't' - Will dump a list of current tasks and their information to your console.
'u' - Will attempt to remount all mounted filesystems read-only.
'v' - Dumps Voyager SMP processor info to your console.
'w' - Dumps tasks that are in uninterruptable (blocked) state.
'x' - Used by xmon interface on ppc/powerpc platforms.
'0'-'9' - Sets the console log level, controlling which kernel messages will be printed to your console. ('0', for example would make it so that only emergency messages like PANICs or OOPSes would make it to your console.) 

1.5 Peki, onları ne için kullanabilirim?

Unraw, X sunucunuz veya svgalib programınız çöktüğünde çok kullanışlıdır.

Sak (Güvenli Erişim Anahtarı), konsolda çalışan ve giriş yapmaya çalıştığınızda şifrenizi alabilecek bir truva atı programı olmadığından emin olmak istediğinizde yararlıdır. Verilen konsoldaki tüm programları öldürür, böylece gördüğünüz giriş İstemi'nin bazı truva atı programı değil, init'ten olanı olduğundan emin olmanızı sağlar. Diğerleri, konsolları değiştirmenize izin vermeyecek bir programdan çıkmak istediğinizde yararlı olan (Sistem Dikkat Anahtarı) olarak yararlı bulur. (Örneğin, X veya bir svgalib programı.)
Not.
Gerçek haliyle, c2 uyumlu bir sistemdeki gibi gerçek bir SAK değildir ve bu şekilde karıştırılmamalıdır.

Yenidenboot kapatılamadığınızda iyidir.
Not.
Genel olarak iyi bir uygulama olarak görülüyor uönce monte et

Crashdump, manuel olarak tetiklemek için kullanılabilir. csistem asıldığında döküntü.
Not.
Çekirdek CONFIG_KEXEC etkinken inşa edilmiş olmalı!

Sisteminiz kilitlendiğinde senkronizasyon harikadır, sdisklerinizi ync ve kesinlikle veri kaybı ve fscking şansını azaltacaktır.
yarı
Ekranda "Tamam" ve "Tamamlandı" ifadeleri görünceye kadar senkronizasyon gerçekleşmedi. (Çekirdek gerçekten çekişme durumundaysa, Tamam veya Tamam iletisini alamayabilirsiniz.

Umount temel olarak aynı şekilde kullanışlıdır Sync.

Sevgiler -9 konsolunuz görmek istemediğiniz çekirdek mesajlarıyla dolu olduğunda kullanışlıdır. seçen  en acil çekirdek mesajları dışındaki tüm mesajların konsolunuza ulaşmasını engeller.
Not.
Eğer syslogd/klogd yaşıyorsa hala giriş yapacaklar

Term ve kieğer bir tür kaçak işleminiz varsa, başka bir şekilde öldüremiyorsanız, özellikle de diğer süreçleri ortaya çıkarırsanız faydalı olacaktır.
Not.
Kötü çekirdek paniği yaşarken Alt+Sysrq+e sonra Alt+Sysrq+u sonra Alt+Sysrq+i ve sonunda Alt+Sysrq+b

1.6 Sorun Giderme

1.6.1 Başlangıç ​​metinleri çalıştırılmadan önce asılı

Makine başlangıç ​​metinleri çalışmaya başlamadan önce asılıysa, sysrq_always_enabled=1

1.6.2 Bazen SysRq kullandıktan sonra 'takılıp kalıyor' gibi görünüyor, ne yapabilirim?

Dokunulduğunda shiftalt, ve control klavyenin her iki yanında ve geçersiz bir sysrq dizisine tekrar basmak sorunu çözecektir. (yani, alt+sysrq+z).

Başka bir sanal konsola geçme (Ctrl+Alt+Fn1-Fn6) ve sonra tekrar geri Ctrl+Alt+Fn7 yardım etmeli.

1.6.3 Vurdum SysRq, ancak hiçbir şey olmuyor gibi görünüyor, sorun nedir?

İçin farklı tarama kodları gönderen bazı klavyeler var SysRq Önceden tanımlanmış 0x54. Yani eğer SysRq belirli bir klavye için kutudan çıkmazsa, showkey -s uygun tarama kodu sırasını bulmak için. Sonra kullan setkeycodes <sequence> 84 Bu diziyi olağan olarak tanımlamak için SysRq kodu (84 0x54 için ondalıktır). Bu komutu bir önyükleme komut dosyasına koymak muhtemelen en iyisidir.
yarı
On saniye boyunca hiçbir şey yazmadan showkey çıkışından çıkıyorsunuz.

1.6.4 Eklemek istiyorum SysRq bir modül için önemli olaylar, nasıl çalışır?

Tabloya temel bir işlev kaydetmek için önce include/linux/sysrq.h, bu ihtiyacınız olan her şeyi tanımlar. Daha sonra, bir sysrq_key_op yapı oluşturmalı ve onu ...

  • Kullanacağınız tuş işleyici işlevi.

  • SysRQ yardım yazdırdığında yazdırılacak bir help_msg dizesi

  • İşleyiciniz çağrılmadan hemen önce yazdırılacak bir action_msg dizesi. İşleyiciniz 'sysrq.h' içindeki prototipe uymalıdır.

Sysrq_key_op oluşturulduktan sonra, register_sysrq_key (int tuşu, struct sysrq_key_op * op_p) çekirdek işlevini çağırabilirsiniz; tablodaki yuva boşsa, 'anahtar' tablo anahtarında 'op_p' ile gösterilen işlemi kaydeder. Modül boşaltma zamanında, unregister_sysrq_key (int tuşu, struct sysrq_key_op * op_p) işlevini çağırmalısınız; bu işlev, 'şu anda kayıtlıysa' op_p 'ile gösterilen op'u kaldırır. yuvası. Bu, kaydolduğunuzdan beri yuvanın üzerine yazılmasıdır.

Sihir SysRq sistem, 'drivers/char/sysrq.c' dosyasında tanımlanan bir anahtar op arama tablosuna anahtar işlemleri kaydederek çalışır. Bu anahtar tablo, derleme zamanında kaydedilmiş bir dizi işleme sahiptir, ancak değiştirilebilir ve arayüz için register_sysrq_key ve unregister_sysrq_key için 2 işlev dışa aktarılır. Tabii ki, hiçbir zaman tabloda geçersiz bir işaretçi bırakmayın. örneğin; register_sysrq_key () adlı modülünüz çıktığında, kullandığı sysrq anahtar tablosu girdisini temizlemek için unregister_sysrq_key () öğesini çağırmalıdır.
Not.
Tablodaki boş göstergeler her zaman güvenlidir.

Bir nedenden dolayı handle_sysrq işlevini handle_sysrq tarafından çağrılan bir işlevden çağırmanız gerektiğini düşünüyorsanız, bir kilitte olduğunuzu bilmelisiniz (ayrıca bir kesme işleyicisindesiniz, yani uyumayacağınız anlamına gelir!), onun yerine __handle_sysrq_nolock'u aramanız gerekir.

1.6.5 Sonuç

Kullanım Alt + SysRq + S ve sonra U ve sonra B senkronize etmek için, bağlı tüm dosya sistemlerini yeniden monte etmeyi ve ardından gerekirse yeniden başlatmayı deneyin. Sistem dosyalarına hiçbir şey değiştirmeden.
Eğer Alt + SysRq + B sistemi yeniden başlatmazsa, uygulama girişimine izin vermek için /etc/sysctl.d/10-magic-sysrq.conf dosyasını düzenlemek gerekebilir. Alt + SysRq + B (Ve/veya O / proc/sys/kernel/sysrq bitmask'ı düzenledikten sonra sysrq kullanarak sistemi yeniden başlatmayı ve kapatmayı sağlar. Bunu yukarıda açıklanan yöntemlerden herhangi biriyle yapabilirsiniz.

1.6.6 EK: Ayrıca bakınız - http://ubuntuforums.org/showthread.php?t=617349 ve https://www.kernel.org/doc/Documentation/sysrq.txt

Apple Sysrq ile ilgili MacBook klavye sorunları olanlar için bkz: https://help.ubuntu.com/community/AppleKeyboard ve https://bugs.launchpad.net/mactel-support/+bug/262408

Göreli ilginç bilgi -BBC programının 17 08 2013 bölümünü izledikten sonra "Click" ve "siber savaş" makalesi gerçekten dikkatimi çekti. Programın kendi web sitesi de var Programı izleyemiyorsanız düğmesine tıklayın. FAWC

17
geezanansa

Geçen gün bununla karşılaştım ve çalışması birkaç saniye sürdü. Hatta REISUB dizisinin tamamını iki kez yapmış olabilirim.

Ayrıca, sysrq tuşunu kullandığınızdan emin olun (çoğu dizüstü bilgisayar işlevi basılı tutmanızı gerektirir, bu nedenle aynı anda 4 tuşu basılı tutarsınız)

3
Scott Ritchie

Birkaç yıl önce kullanıyordum Alt+SysRq+S,U,B,O yeniden başlatmak veya kapalı sıkışmış bir makine, çünkü sizin gibi, Alt+SysRq+B bazen çalışmak istemiyordu.

(Ayrıca, kullanma alışkanlığına girmem gerekiyor Alt+SysRq+E,I ilk. Kullanmanın pek bir anlamı yok Alt+SysRq+R, çünkü yeniden başlatır ve sıfırlarsa klavye modu neden önemlidir?)

3
Marius Gedminas