發這篇文的時候剛跨完年,祝福各位讀者新年快樂,心想事成喔~
之前有一陣子,我發現nouveau好像怪怪的。
首先介紹一下nouveau(是法文喔~)。它是Linux下面一個知名的,針對NVIDIA顯示卡的自由驅動程式。這個驅動程式可以讓Linux的使用者們享用NVIDIA顯示卡上面的3D加速功能。很遺憾的是,這個驅動程式還沒有包括GPGPU的驅動能力。
上面所說的「怪怪的」是說,在某些情況下面,會發生顯示卡驅動程式無法回復到可以做畫面呈現的狀態。使得Linux的X.Org Server無法運作,所以就無法進行視窗操作。在這樣的情況下甚至沒辦法使用Ctrl+Alt+Backspace來重新啟動X Server。第一次出現這樣情形的時候,真的把我嚇得臉色發白、全身發抖...也可以說,電腦正在發燒,而且已經燒到意識不清的程度了啊啊(抱頭)
所以,想要取回電腦的控制權意識,就必須重新啟動了。
還記得前兩次發生這樣情形的時候,我都是按住開關五秒鐘,讓它關機,然後數到20再打開它。(當然,雙手合掌還唸唸有詞的希望檔案系統不要爆炸的事情就不說了)這樣做的風險在於,可能還有尚未寫入的資料,貿然的關機有機會讓資料流失。此外,因為這個方法是靠著切斷電源後再接上的方式來重新啟動,所以會在無形之中耗損電腦的壽命。(真的挺像是人撞到頭的反應)
為了不讓這樣的情形發生,搜尋了關於在緊急狀況下不斷電重新開機的方法(就像Windows的Ctrl+Alt+Del那樣的東西)。然後就找到了傳說中的REISUB組合鍵。REISUB組合鍵是Sysrq按鍵組合的一種,可以在緊急狀況下讓核心立即執行所輸入的指令。唯一不能使用Sysrq的狀況是核心完全無法回應(也就是死了)。
在使用Sysrq的功能之前,要先確定作業系統的核心在編譯時有被設定CONFIG_MAGIC_SYSRQ
,並且在/etc/sysctl.conf
中有下面這行:
kernel.sysrq = 1
在確認軟體設定符合上面的條件之後,如果想用REISUB來重新啟動電腦的話,就跑一次下面的流程吧!當然,在測試之前,請先關閉所有重要的程式。
- 按住Alt+Sysrq(print screen)
- 在按住Alt+Sysrq(print screen)的同時,用空閒的指頭按下r
- 在按住Alt+Sysrq(print screen)的同時,用空閒的指頭按下e
- 等一小段時間(發送SIGTERM)
- 在按住Alt+Sysrq(print screen)的同時,用空閒的指頭按下i
- 等一小段時間(發送SIGKILL)
- 在按住Alt+Sysrq(print screen)的同時,用空閒的指頭按下s
- 等一小段時間,這段時間會把一些資料寫入硬碟中
- 在按住Alt+Sysrq(print screen)的同時,用空閒的指頭按下u
- 等一小段時間
- 在按住Alt+Sysrq(print screen)的同時,用空閒的指頭按下b。此時會重新啟動
如果想要了解更多的話,在Fedora wiki的QA/Sysrq頁面中,有關於Sysrq的詳細描述。
沒有留言:
張貼留言