【连载】《linux入门很简单》电子版——作者:刘金鹏(1.4G大叔)
經過漫長的等待之后,安裝終于完成了。我總算離開了光盤,帶著跟隨我的那幫兄弟們在硬盤里落戶了。用戶隨即發出命令:重啟!我滿懷信心的看著已經來到硬盤上的兄弟們:“我們就要開始一段新?的生活了,希望大家能夠作出最大的努力,讓用戶認可我們這個系統。”看著兄弟們意味深長的對我點了點頭,之后我靜靜的,閉上了眼睛……
“嘿,小子,起床了!”
我睜開眼,看看眼前站的人,是門房的?GRUB大叔。仔細回憶了一下,哦,想起來了,我剛剛被安裝到一臺電腦里,這是我的第一次啟動。
有人說,你怎么記性這么差阿,這剛才幾秒鐘發生的事情,你怎么就還得回憶一下才知道呢?您別奇怪,這還是因為您跟我不是一個種族的,不大了解。一方面,幾秒鐘對我們軟件來說已經是一個很長的時間了。另一方面,我們linux編程軟件,在電腦斷電不工作的時候是沒有一點記憶的,不像你們人類,睡覺的時候還能做個夢啥的。我們睡覺的?時候(也就是系統沒啟動的時候),是什么也不知道的,之前發生的?事情,需要記憶的,我們都會在睡覺前寫成文件放在我們住的硬盤里,?這樣下次起床就能回憶起來了。每次起床的時候,都是由GRUB大叔?都來叫醒我。G大叔是一個啟動管理器,就住在傳達室。所謂傳達室,?學名叫做?MBR,是一個硬盤的入口,第?0號扇區。傳達室不屬于任何?一個房間,或者說,MBR不屬于任何一個分區。傳達室很小,只有512Byte,因為就一個扇區嘛。由于傳達室地方實在太小,所以?G?大叔會把一些有用的東西放在我的硬盤空間里,必要的時候來看看(具體放的是什么,咱們待會再說)。G大叔每天的職責就是叫床——叫我起床。有人說,你不會自己定個鬧鐘阿,這么大了還用人叫。我……-_-b再次重申,我是一個軟件,OK?我是一個操作系統,操作系統也是個程序,是個軟件,只不過特殊點而已。是軟件就得被別人調用才能啟動,才能工作,這個調用,就是叫我起床的動作。G大叔就是負責叫我起床的軟件,那你可能?又要問了,G大叔既然也是軟件,那誰負責叫他呢?
話說有一種東西叫做?BIOS,大家都聽說過吧。就是主板上那個,就是開機你按?del?進去的那個藍屏幕(不是所有主板都按?del?進?BIOS)。BIOS?這個家伙其實也是一個軟件,但他是一個比我和?G大叔還特殊的軟件,特殊到一般都不歸在軟件的行列里,而是被叫做“固件”,因為他住在主板上的一個芯片里,而不像我們這樣住在硬盤里。每當計算機的電源鍵被主人按下的時候,一股溫暖而舒適的電流就會從電源涌入,流?遍整個主板,流經每個元件,流到?BIOS居住的那顆芯片,并由芯片上的某一跟管腳流進芯片里面,并準確無誤的擊中的?BIOS的身體,于是——BIOS醒了。(和著天天被電醒的,真慘~)
BIOS?醒來之后就開始工作。他的工作平凡而重要,復雜而機械,就是去檢查CPU?阿,內存阿,顯卡阿啥的都是否正常。都檢查一遍沒有問題之后,就來到我們住的硬盤這里,來到MBR,來到那間傳達室,完成他的最后一個任務——叫醒在門房值班的那個人?,F在這里的門房自然是?G大叔了,是在剛才我安裝的時候把他安排到那里的。在?G?大叔入行之前,很多linux?帶的是一個叫做?LILO?的家伙。(注意,是?LILO,不是LOLI)LILO,就是?LInux?Loader?的意思。這家伙以前一直給各種?linux?充當門房。不過這家伙比較死心眼,他不認字,不認識分區阿目錄啥的。他只記步數(lilo不識別分區和目錄,只記錄內核文件所在的扇區號),比如說,要讓他叫我起床,那得先讓他看好了我睡哪,然后他自己記著,從門房出來,向東走多少步,向南走多少步就走到我床前。下次要叫床的時候,他就嚴格的按照自己的記錄去走,如果我睡的地方變了,?他照樣會走到我原來睡覺的地方,對著空氣叫那個不存在的我起床。所以,每次我要?換地方睡覺,還都得跟這死心眼打個招呼。(用?lilo,每次升級了內核,都要重新安裝?一邊?lilo,以便他能找到新的內核)
G?大叔就不是這樣了,人家好歹認字,能讀文件。我會給他寫個配置文件,放在我那間大屋子的?/boot/grub/位置里,叫做?grub.cfg。G大叔每次起來后,都來到這里拿?起文件看看。這就是我說的他寄放在我這里的文件之一。我會在上面給他寫清楚,我睡在哪里,哪個分區,哪個目錄,然后?G大叔一看就知道該到哪里去叫我了。如果我不睡在原來的地方也沒關系,只要把那個配置文件改了就好,G大叔仍然可以找到我。?除了叫我,G大叔也負責叫醒我的鄰居,隔壁的那個操作系統。那個操作系統我之前有所耳聞,叫做查皮,是一個叫做稍微有點軟的公司做的。
查皮這家伙名氣可是大的很,全世界沒幾個不認識他的。這名氣一大呢,脾氣就大了,?作事情也從來不考慮一下別人。為什么這么說呢?還得從傳達室說起。傳達室現在住?著跟我一起來的?G大叔,我們來之前,整個電腦只有查皮一個人住的時候,傳達室是沒人的,而是放了一個簡單的類似門鈴的裝置,BIOS來傳達室叫人的時候,只要按一下那個鈴就可以了,那邊的查皮就知道該起床了。G大叔搬進去之后,會考慮到原有?的查皮系統,留著叫醒查皮的那個開關。當用戶啟動電腦,G大叔被叫醒的時候,G大叔會一臉嚴肅的問用戶:要用哪個系統?一個?ubuntu一個查皮,給你?10秒,快選!?如果用戶選我,G大叔就來叫醒我,如果選查皮,G大叔就去按那個鈴。雖然?G大叔說話有點不客氣,不過還是盡職盡責的,作為一個啟動管理器,就要負責好硬盤上每個系統的啟動工作??墒遣槠ぞ筒灰粯恿?/span>,如果硬盤上已經住進了我,門房里已經有了?G大叔,這時候重裝查皮系統的話,查皮會不管三七二十一的把?G大叔趕出來,在?傳達室裝好他的“起床鈴”就走了,不管我這邊的情況。電腦再啟動的時候,BIOS自?然就找不到G大叔了,就只能去按那個鈴,直接啟動了查皮,我的存在就完全被無視了。
那如果這樣的慘劇不幸的事情發生了怎么半呢?他能把?G大叔趕出來,我照樣能?在讓?G大叔再搬進去!想強拆?沒門!不過,雖然說是這么說,這要想把?G大樹搬回?去,前提是我得啟動了才可以呀,處于睡覺狀態的我是什么也干不了的。可是?G大叔?已經被趕走了,沒法叫我起床了,我又怎么啟動呢?還記得那張安裝光盤么?還記得?我說那是一張?LiveCD么?還記得系統出問題的時候可以用他來修復么?沒錯,就是那?張,趕緊讓你家狗狗把他叼回來,現在用上了!用?LiveCD啟動電腦,就能夠啟動光盤上的?ubuntu系統,這時候,電腦可就歸我們linux系統命令管啦!嘿嘿,小小的查皮算什么,?你敢把我們的?G大叔攆走?想的美!LiveCD啟動之后,打開命令行,運行?sudo?-i,獲取權限。然后mount?/dev/sdax?/media/這sdax就是你安裝Ubuntu的時候用作根目錄”/”的那個分區,如果你還單獨分了?/boot分區,那就還得?mount?/dev/sday?/media/boot/。
?
當然,這里的?sdax,sday都需要根據你的實際分區情況修改,可能是?sda1,sda4,或者?sdb2,sdc8,都沒準。mount?好了之后,運行?grub-install?–root-directory=/media/?/dev/sda就好了。最后重啟電腦,熟悉的?G大叔又回來了。
當然,以上說的都是以后可能發生的情況,目前在我這里還沒有這樣的事情,隔?壁那個查皮睡的死豬一樣,不會有什么舉動的。而?G大叔早在安裝的時候就自動設置?好了多重系統啟動,剛剛就是用戶告訴?G大叔來叫醒我去干活的。
起床之后,用戶似乎對?G大叔的舉動不是很滿意,打算要修改一下?G大叔的配置?文件。剛才我們說了,G大叔啟動的時候會去找?/boot/grub/grub.cfg文件,這里面記錄?了一些?G大叔應該做的事情。比如去×××我,去哪里叫醒查皮,等待?10秒沒有動靜?的話就默認叫醒我,等等。不過主人要想修改這些設置的話,可不需要修改這個文件,而是要該?/etc/default/grub文件。這個文件里,簡單明了的記錄了?G大叔應該做的一些?動作。只見用戶下達了命令:sudo?gedit?/etc/default/grub這命令的意思就是,以?root用
?
戶的身份,命令?gedit軟件,去打開?/etc/default/grub文件。之前我們說過,安裝的時候?創建的那個用戶,不是一般的用戶,是擁有能變身成?root的能力的用戶。這個?sudo,?意思就是,我要變身!輸入這個命令之后,我會要求用戶再輸入一邊他自己的密碼,?注意,是當前用戶的密碼(比如我這里,就是?lanwoniu這個用戶),不是?root的密碼,?真正的?root用戶的密碼……是個迷。輸入了密碼,確認了他就是安裝時的那個用戶后,?就可以以?root的權限去執行后面的命令了:gedit?/etc/default/grub這個?gedit,是一個小的文本編輯器,要編輯文本文件,用他最方便了。linux程序設計中gedit小弟身輕如燕,迅速的從硬盤?里爬起來,越進內存里,打開那個?grub文件,顯示在屏幕上。只見文件里寫著:
GRUB_DEFAULT=0?這行說的,就是讓?G?大叔在用戶沒有選擇的情況下,默認來叫醒我。因為在電腦啟動的時候,G大叔給用戶的選項里,叫醒我,是排在第一個的。?(但是?G大叔數數喜歡從?0開始數,所以是“=0”)用戶似乎就是看著這個不大順眼,?把這個改成了4。我掐指一算,改成?4,也就是啟動時?G大叔給用戶的第?5個選項……哦,是去叫醒查皮。用戶的意思是,如果他沒有選擇,就讓?G大叔去叫醒查皮。哎……看來還是不喜歡我阿。另外這一行:GRUB_TIMEOUT=10,也被用戶改成了?5。這行?是?G大叔等待用戶選擇的時間,原本是等?10秒,如果用戶不選擇的話就去叫醒查皮,?現在改成?5秒了,看來這用戶還是個急性子。改完了之后,保存了這個文件,gedit小弟繼續回硬盤里睡覺去了。但是還沒完,光改了這個文件是不管用的,G大叔真正關?心的是?/boot/grub/grub.cfg文件阿。還得運行一下?sudo?update-grub,這樣,就會根據剛才修改的?grub文件,自動生成一個給?G大叔看得,新的grub.cfg文件。這才算改完。
?
?
?
轉載于:https://blog.51cto.com/hudongwang2013/1250682
總結
以上是生活随笔為你收集整理的【连载】《linux入门很简单》电子版——作者:刘金鹏(1.4G大叔)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【连载】《linux入门很简单》电子版—
- 下一篇: 张小龙演讲总结