)linux開機啟動過程簡介

來源:互聯網
上載者:User

轉自:http://hi.baidu.com/youdianweidao/blog/item/b3ef79ecb197e42e62d09fdb.html
$ cd /etc && sudo find -name "rc.local"發現我的rc.local與文中不一樣.太正常了.

說實話,偶以前一直看不起開機啟動的,按下電源然後出去溜一圈回來就可以用,何必考慮這個過程呢。不過,後來發覺學習linux如果沒過這個的話,對以後的學習會產生很大的障礙。因此,趕緊多學習幾遍。網上開機描述linux開機過程的比較多。不過,自己不默寫一遍,在腦海裡過一遍,往往也只能瞭解個大概,處於難得糊塗的狀態。為了達到劍既是我,我既是劍的人劍合一的境界。趕緊溫習一遍。

  總結一下,linux的開機整個流程。

  · 1: 啟動電源後,主機第一步先做的就是查詢BIOS(全稱:basic input/output system 基本輸出入系統 (BIOS))資訊。瞭解整個系統的硬體狀態,如CPU,記憶體,顯卡,網卡等。嗯,這一步windows算和它是一家。不分彼此。

  · 2: 接下來,就是主機讀取MBR(硬碟的第一個扇區)裡的boot loader了。這個可是重點哦,據說troubleshooting裡就會考這點,給個壞了的loader,叫你修正。windows不支援linux 的分區格式。所以,用windows的boot。ini是查不到linux的系統的。一般我裝系統都是先裝windows再裝linux,然後用grub 來做boot loader。兩個字:省心!因為linux不像windows那麼小氣。grub可是支援windows分區格式的哦。

  · 3: 接上一步,主機讀取boot loader後,會讀取裡面的資訊,知道誰跟誰是待在哪,假如主機想進入linux系統,讀取到linux核心是在/boot檔案目錄中後,將此核心載入到記憶體中。開始了接下來的分析啟動之旅。

  · 4: OK,第一個運行程式是誰?就是/sbin/init程式。不信,就用top程式看下,是不是PID為1的就是這個東東,它,可是萬物之祖啊,我簡稱它是女媧娘娘(不喜歡亞當夏娃)。

  · 5: init首先尋找啟動等級(run-level)。因為啟動等級不同,其運行指令碼(也就是服務)會不同。預設的等級有以下幾項:

  0 - halt (系統直接關機)

  1 - single user mode (單人模式,用於系統維護時使用)

  2 - Multi-user, without NFS (類似3模式,不過少了NFS服務)

  3 - Full multi-user mode (完整模式,不過,是文字模式)

  4 - unused (系統保留功能)

  5 - X11 (與3模式類似,不過,是X終端顯示)

  6 - reboot (重新開機)

  (不要選擇0或4,6 否則,進步了系統的)

  · 6: OK。系統知道自己的啟動等級後,接下來,不是去啟動服務,而是,先設定好主機運行環境。讀取的檔案是/etc/rc。d/rc。sysinit檔案。那究竟要設定哪些環境呢?

· 設定網路環境/etc/sysconfig/network,如主機名稱,網關,IP,DNS等。
· 掛載/proc。此檔案是個特殊檔案,大小為0,因為它是在記憶體當中。裡面東東最好別刪。

  · 根據核心在開機時的結果/proc/sys/kernel/modprobe。開始進行周邊裝置的偵測。

  · 載入使用者自訂的模組/etc/sysconfig/modules/*。modules

  · 讀取/etc/sysctl。conf檔案對核心進行設定。

  · 設定時間,終端字型,硬碟LVM或RAID功能,以fsck進行磁碟檢測。

  · 將開機狀況記錄到/var/log/dmesg中。(可以用命令dmesg查看結果)

  · 7:
OK,接下來,就是啟動系統服務了,不同的run-level會有不同的服務啟動。到/etc/rc。d目錄中,不同的level會有不同的目錄。如啟動

3模式,會有個rc3。d目錄,裡面就儲存著服務。其中,S(start)開頭的表明開機啟動,K(kill)開頭的表明開機不啟動。數字表示啟動順序。
數字越小,啟動越早。

  注意,他們都是串連到etc/rc。d/init。d/目錄中的相關檔案。所以,想手工啟動某一服務,可以用"/etc/rc。d/init。
d/某個服務 start"啟動哦。相反,我們也可以把某個服務ln(連結命令)到不同run-level的目錄中。記得打上S或者K+數字哦。

  · 8: 讀取服務後,主機會讀取/etc/rc。d/rc。local檔案。所以,如果需要什麼開機啟動的話,可以寫個指令碼或命令到這裡面來。就不用像上面那麼麻煩。以後刪除也方便。

  OK,經過一番長途跋涉後,系統終於可以安心的開啟shell了。把控制權交到我們手上了。我們可以為所欲為了。最好,養成好習慣,平時不要用root使用者登陸。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.