1. 簡述linux系統的啟動過程
這個簡直他的一些技能過程,這個世界把它看完,這個要是他會針對下去內部流程障礙能夠用三分鍾跑了。
2. Linux基本配置和管理---- Linux系統啟動詳解
linux基本配置和管理----
linux系統啟動詳解1
系統啟動的流程
BIOS
->
MBR+boot
code
->
執行引導程序:
GRUB
->
載入內核
->
執行init
->
運行runlevel2
啟動詳解
1
BIOS
1
BIOS
指的是基本的輸入輸出系統(basic
input
output
system),一般保存在主板上的BIOS晶元中
2
計算機啟動的第一步一般都是先啟動BIOS,然後BIOS去檢查硬體以及查找可啟動的設備
3
可啟動的設備可以在BIOS中進行設置,包括USB
,
CDROM
,
HD等
2
MBR
1
MBR是512位元組的,前446位元組為引導代碼
2
BIOS通過第一個扇區的512位元組中最後兩個位元組為55aa來判斷設備為啟動設備
3
MBR只是去載入引導程序GURB
3
GRUB
1
GRUB是現在linux使用的主流的引導程序
2
GRUB可以引導幾乎所有的操作系統
3
GRUB的相關文件保存在/boot/grub中
4
KERNEL
1
MBR的引導代碼將負責找到並載入linux的內核
2
linux內核保存在
/boot/vmlinuz......
3
一般還會載入內核模塊的打包文件
/boot/init.....
4
linux為了保持內核的精簡會將一些不常用的驅動,功能編譯為模塊,然後在要用的時候動態的載入,而這些模塊被保存為initrmfs文件
5
早期的linux是使用initrd文件,但是現在的絕大多數的linux版本都是使用initrmfs,這樣能夠更節省空間,更加靈活
6
命令dmesg可以用來查看被次啟動內核的輸出信息
5
INIT
1
init
是linux運行的第一個進程,init是所有進程的父進程,編號為1
2
調用/etc/rc.d/rc.sysinit來對系統進行初始化,掛載文件系統,並且根據運行級別啟動相應的程序
3
linux的運行級別
0
關機
1
單用戶模式
2
不帶網路的多用戶模式
3
命令行的多用戶模式
4
未使用
5
圖形界面多用戶模式
6
重啟
4
我們可以通過runlevel查看之前和當前的運行級別
5
命令init可以用來查看改變當前的運行級別
6
單用戶修改root密碼
1
為內核傳遞參數1或者是single可使系統進入單用戶模式
2
單用戶模式不啟動任何的服務
3
單用戶模式直接以root登錄,不需要密碼
4
我們可以通過passwd來修改root的密碼
5
由於任何接近我們這個物理機的人都有可能修改我們的root密碼,因此我們可以通過GRUB加密來防止密碼被修改
6
我們在grub.conf中的啟動設置裡面添加一行password
--md5
加密後的串
密碼我們可以通過grub-md5-crypt
生成
3. linux啟動過程步驟
這是一個非常復雜的過程,但是可以簡單的概括為如下幾個步驟,每一個步驟你可以構思一些巧妙的實現來加深體。
啟動第一步--載入BIOS
當你打開計算機電源,計算機會首先載入BIOS信息,BIOS信息是如此的重要,以至於計算機必須在最開始就找到它。這是因為BIOS中包含了CPU的相關信息、設備啟動順序信息、硬碟信息、內存信息、時鍾信息、PnP特性等等。在此之後,計算機心裡就有譜了,知道應該去讀取哪個硬體設備了。
啟動第二步--讀取MBR
眾所周知,硬碟上第0磁軌第一個扇區被稱為MBR,也就是Master Boot Record,即主引導記錄,它的大小是512位元組,別看地方不大,可裡面卻存放了預啟動信息、分區表信息。
系統找到BIOS所指定的硬碟的MBR後,就會將其復制到0x7c00地址所在的物理內存中。其實被復制到物理內存的內容就是Boot Loader,而具體到你的電腦,那就是lilo或者grub了。
啟動第三步--Boot Loader
Boot Loader 就是在操作系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬體設備、建立內存空間的映射圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終調用操作系統內核做好一切准備。
Boot Loader有若干種,其中Grub、Lilo和spfdisk是常見的Loader。
我們以Grub為例來講解吧,畢竟用lilo和spfdisk的人並不多。
系統讀取內存中的grub配置信息(一般為menu.lst或grub.lst),並依照此配置信息來啟動不同的操作系統。
啟動第四步--載入內核
根據grub設定的內核映像所在路徑,系統讀取內存映像,並進行解壓縮操作。此時,屏幕一般會輸出「Uncompressing Linux」的提示。當解壓縮內核完成後,屏幕輸出「OK, booting the kernel」。
系統將解壓後的內核放置在內存之中,並調用start_kernel()函數來啟動一系列的初始化函數並初始化各種設備,完成Linux核心環境的建立。至此,Linux內核已經建立起來了,基於Linux的程序應該可以正常運行了。
啟動第五步--用戶層init依據inittab文件來設定運行等級
內核被載入後,第一個運行的程序便是/sbin/init,該文件會讀取/etc/inittab文件,並依據此文件來進行初始化工作。
其實/etc/inittab文件最主要的作用就是設定Linux的運行等級,其設定形式是「:id:5:initdefault:」,這就表明Linux需要運行在等級5上。Linux的運行等級設定如下:
0:關機
1:單用戶模式
2:無網路支持的多用戶模式
3:有網路支持的多用戶模式
4:保留,未使用
5:有網路支持有X-Window支持的多用戶模式
6:重新引導系統,即重啟
關於/etc/inittab文件的學問,其實還有很多,在後序文章中設計到的,賣個關子,敬請期待,呵呵
啟動第六步--init進程執行rc.sysinit
在設定了運行等級後,Linux系統執行的第一個用戶層文件就是/etc/rc.d/rc.sysinit腳本程序,它做的工作非常多,包括設定PATH、設定網路配置(/etc/sysconfig/network)、啟動swap分區、設定/proc等等。如果你有興趣,可以到/etc/rc.d中查看一下rc.sysinit文件,裡面的腳本夠你看幾天的:P
啟動第七步--啟動內核模塊
具體是依據/etc/moles.conf文件或/etc/moles.d目錄下的文件來裝載內核模塊。
啟動第八步--執行不同運行級別的腳本程序
根據運行級別的不同,系統會運行rc0.d到rc6.d中的相應的腳本程序,來完成相應的初始化工作和啟動相應的服務。
啟動第九步--執行/etc/rc.d/rc.local
你如果打開了此文件,裡面有一句話,讀過之後,你就會對此命令的作用一目瞭然:
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don』t
# want to do the full Sys V style init stuff.
rc.local就是在一切初始化工作後,Linux留給用戶進行個性化的地方。你可以把你想設置和啟動的東西放到這里。
啟動第十步--執行/bin/login程序,進入登錄狀態
此時,系統已經進入到了等待用戶輸入username和password的時候了,你已經可以用自己的帳號登入系統了。:)
4. Linux 基本桌面啟動流程
通常,在我們的電腦上,開機後會執行init程序,也就是systemd,systemd會自動啟動你的顯示管理器
顯示管理器會自動的啟動XServer和XClient,server一般就是Xorg。
如果我們沒有自啟動的登錄管理器,就會進到默認的終端登錄,你需要在終端上輸入 startx 才能顯出窗口管理器。startx是xinit的包裝,會啟動XServer對應的配置文件 /etc/X11/xinit/xserverrc
X這個程序就是Xorg程序。
startx還會啟動XClient對應的配置文件 ~/.xinitrc
這樣,你的桌面就顯示出來了,dwm主要會調用xlib的介面,其它桌面則調用更多像Qt、Gtk這樣的介面實現
Arch安裝文檔已經很全面了,在UbuntuServer上安裝圖形化界面也類似。
vim ~/.xinitrc
5. linux操作系統的詳細啟動過程有哪些
當用戶打開PC的電源,BIOS開機自檢,按BIOS中設置的啟動設備(通常是硬碟)啟動,
接著啟動設備上安裝的引導程序lilo或grub開始引導Linux,Linux首先進行內核的引導,
接下來執行init程序,init程序調用了rc.sysinit和rc等程序,rc.sysinit和rc當完成系
統初始化和運行服務的任務後,返回init;init啟動了mingetty後,打開了終端供用戶登
錄系統,用戶登錄成功後進入了Shell,這樣就完成了從開機到登錄的整個啟動過程。
載入內核
LILO啟動之後,如果你選擇了Linux作為准備引導的操作系統,第一個被載入的東西就是內核。請記住此時的計算機內存中還不存在任何操作系統, PC(因為它們天然的設計缺陷)也還沒有辦法存取機器上全部的內存。因此,內核就必須完整地載入到可用RAM的第一個兆位元組之內。為了實現這個目的,內核是被壓縮了的。這個文件的頭部包含著必要的代碼,先設置CPU進入安全模式(以此解除內存限制),再對內核的剩餘部分進行解壓縮。
執行內核
內核在內存中解壓縮之後,就可以開始運行了。此時的內核只知道它本身內建的各種功能,也就是說被編譯為模塊的內核部分還不能使用。最基本的是,內核必須有足夠的代碼設置自己的虛擬內存子系統和根文件系統(通常就是ext2文件系統)。一旦內核啟動運行,對硬體的檢測就會決定需要對哪些設備驅動程序進行初始化。從這里開始,內核就能夠掛裝根文件系統(這個過程類似於Windows識別並存取C盤的過程)。內核掛裝了根文件系統之後,將啟動並運行一個叫做 init的程序。
注意:在這里我們故意略去了Linux內核啟動的許多細節,這些細節只有內核開發人員才感興趣。如果你好奇的話,可以訪問http://www.redhat.com:8080地址處的 「Kernel Hackers Guide」。
init進程
init進程是非內核進程中第一個被啟動運行的,因此它的進程編號PID的值總是1。init讀它的配置文件/etc/inittab,決定需要啟動的運行級別(Runlevel)。從根本上說,運行級別規定了整個系統的行為,每個級別(分別由0到6的整數表示)滿足特定的目的。如果定義了 initdefault級別,這個值就直接被選中,否則需要由用戶輸入一個代表運行級別的數值。
輸入代表運行級別的數字之後,init根據/etc/inittab文件中的定義執行一個命令腳本程序。預設的運行級別取決於安裝階段對登錄程序的選擇:是使用基於文本的,還是使用基於X-Window的登錄程序。
rc命令腳本程序
我們已經知道,當運行級別發生改變時,將由/etc/inittab文件定義需要運行哪一個命令腳本程序。這些命令腳本程序負責啟動或者停止該運行級別特定的各種服務。由於需要管理的服務數量很多,因此需要使用rc命令腳本程序。其中,最主要的一個是/etc/rc.d/rc,它負責為每一個運行級別按照正確的順序調用相應的命令腳本程序。我們可以想像,這樣一個命令腳本程序很容易變得難以控制!為了防止這類事件的發生,需要使用精心設計的方案。
對每一個運行級別來說,在/etc/rc.d子目錄中都有一個對應的下級目錄。這些運行級別的下級子目錄的命名方法是rcX.d,其中的X就是代表運行級別的數字。比如說,運行級別3的全部命令腳本程序都保存在/etc/rc.d/rc3.d子目錄中。
在各個運行級別的子目錄中,都建立有到/etc/rc.d/init.d子目錄中命令腳本程序的符號鏈接,但是,這些符號鏈接並不使用命令腳本程序在 /etc/rc.d/init.d子目錄中原來的名字。如果命令腳本程序是用來啟動一個服務的,其符號鏈接的名字就以字母S打頭;如果命令腳本程序是用來關閉一個服務的,其符號鏈接的名字就以字母K打頭。
許多情況下,這些命令腳本程序的執行順序都很重要。如果沒有先配置網路介面,就沒有辦法使用DNS服務解析主機名!為了安排它們的執行順序,在字母S 或者K的後面緊跟著一個兩位數字,數值小的在數值大的前面執行。比如:/etc/rc.d/rc3.d/S50inet就會在 /etc/rc.d/rc3.d/S55named之前執行(S50inet配置網路設置,S55named啟動DNS伺服器)。
存放在/etc/rc.d/init.d子目錄中的、被符號鏈接上的命令腳本程序是真正的實幹家,是它們完成了啟動或者停止各種服務的操作過程。當 /etc/rc.d/rc運行通過每個特定的運行級別子目錄的時候,它會根據數字的順序依次調用各個命令腳本程序執行。它先運行以字母K打頭的命令腳本程序,然後再運行以字母S打頭的命令腳本程序。對以字母K打頭的命令腳本程序來說,會傳遞Stop參數;類似地對以字母S打頭的命令腳本程序來說,會傳遞 Start參數。
編寫自己的rc命令腳本
在維護Linux系統運轉的日子裡,肯定會遇到需要系統管理員對開機或者關機命令腳本進行修改的情況。有兩種方法可以用來實現修改的目的:
● 如果所做的修改只在引導開機的時候起作用,並且改動不大的話,可以考慮簡單地編輯一下/etc/rc.d/rc.local腳本。這個命令腳本程序是在引導過程的最後一步被執行的。
● 如果所做的修改比較細致,或者還要求關閉進程使之明確地停止運行,則需要在/etc/rc.d/init.d子目錄中添加一個命令腳本程序。這個命令腳本程序必須可以接受Start和Stop參數並完成相應的操作。
第一種方法,編輯/etc/rc.d/rc.local腳本,當然是兩種方法中比較簡單的。如果想在這個命令腳本程序中添加內容,只需要使用喜歡的編輯器程序打開它,再把打算執行的命令附加到文件的末尾就可以了。這對一兩行的修改來說的確很便利。
如果確實需要使用一個命令腳本程序,這時必須選擇第二個方法。編寫一個rc命令腳本程序的過程並不像想像中那麼困難。我們下面就給出一個例子,看看它是怎樣實現的(順便說一句,你可以把我們的例子當作範本,按照自己的需要進行修改和添加)。
假設你打算每隔60分鍾調用一個特殊的程序來彈出一條消息,提醒自己需要從鍵盤前面離開休息一會兒,命令腳本程序將包括下面幾個部分:
● 關於這個命令腳本程序功能的說明(這樣就不會在一年之後忘記它);
● 在試圖運行它之前驗證這個命令腳本程序確實存在;
● 接受start和stop參數並執行要求的動作。
參數給定後,我們就可以編寫命令的腳本程序。這個程序很簡單,大家可以自己編寫一下,我在這里就不給出了。
編寫好新的命令腳本程序之後,再從相關的運行級別子目錄中加上必要的符號鏈接,來控制這個命令腳本程序的啟動或者停止。在我的印象中,只想讓它在運行級別3或者運行級別5中啟動,原因是我認為只有這兩個運行級別才是日常工作的地方。最後,希望這個命令腳本程序在進入運行級別6(重啟動)的時候被關閉。
激活或者禁止服務項目
有的時候會發現,在引導的時候並不需要某個特定的服務被啟動。如果你正在考慮使用Linux替換Windows NT的文件和列印伺服器,就更是如此。
我們已經知道,在特定的運行級別子目錄中給符號鏈接改個名稱,就可以讓該服務不被啟動,如把其名稱的第一個字母由S改為K。一旦熟練掌握了命令行和符號鏈接,就會發現這是激活或者禁止服務的最快辦法。
在學習這個改名方法的時候,可能會覺得圖形化的操作界面ksysv比較容易掌握。雖然它原來是設計使用在KDE環境里的,但在 Red Hat Linux 7.2下預設安裝的GNOME環境里也運行得很好。如果想啟動它,只需簡單地打開一個xterm窗口,並輸入ksysv命令就可以了。屏幕上會出現一個窗口,其中列出了能夠修改的全部參數,需要時還包括在線幫助。
警告:如果是在一個現實中的系統上學習本文的知識,要多多運用常識。當試著對啟動腳本程序進行修改的時候,要記住所做的修改可能會造成你的系統不能正常工作,而且無法採用重啟動的方法恢復。不要在正常運轉的系統上實驗新的設置,對你准備修改的文件要全部進行備份。最重要的是,在手邊要准備一張引導盤以防不測
6. Linux操作系統部分的主要啟動流程:
Linux的啟動流程
1.
載入BIOS的硬體信息,並獲取第一個啟動設備的代號;
2.
讀取第一個啟動設備的MBR的引導載入程序(即lilo、grub、spfdisk等)的啟動信息;
3.
載入操作系統的核心信息,核心開始解壓,並嘗試驅動所有的硬體設備;
4.
核心執行init程序並獲得運行信息;
5.
init執行/etc/rc.d/rc.sysinit文件;
6.
啟動核心的外掛模塊(/etc/modprobe.conf);
7.
init執行運行的各個批處理文件(Script);
8.
init執行/etc/rc.d/rc.local文件;
9.
執行/bin/login程序,等待用戶登錄;
10.
登錄之後開始以shell控制主機。
以上是Linux啟動時各個載入程序的順序。
7. linux怎麼啟動
很多朋友都想知道linux怎麼啟動?下面就一起來看看吧!8. Linux是怎麼啟動的
按下開機鍵--》bios自檢後控制權交給啟動設備,一般是硬碟---》硬碟的MBR里記錄了系統啟動軟體grub的位置----》啟動grub後,grub記錄了linux虛擬內核vmlinuz的位置,這是一個在內存里的系統,它好像還載入了initrd這個虛擬文件系統,然後就能識別出來硬碟上的linux分區了,然後載入真實linux的內核,然後就載入服務什麼的了
9. LINUX操作系統的啟動過程
一、啟動內核
首先介紹啟動內核部分。電腦啟動時,BIOS裝載MBR,然後從當前活動分區啟動,LILO獲得引
導過程的控制權後,會顯示LILO提示符。此時如果用戶不進行任何操作,LILO將在等待制定
時間後自動引導默認的操作系統,而如果在此期間按下TAB鍵,則可以看到一個可引導的操作
系統列表,選擇相應的操作系統名稱就能進入相應的操作系統。
當用戶選擇啟動LINUX操作系統時,LILO就會根據事先設置好的信息從ROOT文件系統所在的分
區讀取LINUX映象,然後裝入內核映象並將控制權交給LINUX內核。LINUX內核獲得控制權後,
以如下步驟繼續引導系統:
1. LINUX內核一般是壓縮保存的,因此,它首先要進行自身的解壓縮。內核映象前面的一些
代碼完成解壓縮。
2. 如果系統中安裝有可支持特殊文本模式的、且LINUX可識別的SVGA卡,LINUX會提示用戶
選擇適當的文本顯示模式。但如果在內核的編譯過程中預先設置了文本模式,則不會提示選
擇顯示模式。該顯示模式可通過LILO或RDEV工具程序設置。
3. 內核接下來檢測其他的硬體設備,例如硬碟、軟盤和網卡等,並對相應的設備驅動程序
進行配置。這時,顯示器上出現內核運行輸出的一些硬體信息。
4. 接下來,內核裝載ROOT文件系統。ROOT文件系統的位置可在編譯內核時指定,也可通過
LILO或RDEV指定。文件系統的類型可自動檢測。如果由於某些原因裝載失敗,則內核啟動
失敗,最終會終止系統。
二、執行init程序
其次介紹init程序,利用init程序可以方便地定製啟動其間裝入哪些程序。init的任務是
啟動新進程和退出時重新啟動其它進程。例如,在大多數Linux系統中,啟動時最初裝入
六個虛擬的控制台進程,退出控制台窗口時,進程死亡,然後init啟動新的虛擬登錄控制台,
因而總是提供六個虛擬登陸控控制台進程。
控制init程序操作的規則存放在文件/etc/inittab中。Red Hat Linux預設的inittab文
件如下:
#
#inittab This file describes how the INIT process should set up the system in a certain
#run-level.
#
#
#Default runlevel.The runlevels used by RHS are:
#0-halt(Do NOT set initdefault to this)
#1-Single user mode
#2-Multiuser,without NFS(the same as 3,if you do not have networking)
#3-Full multiuser mode
#4-unused
#5-X11
#6-reboot(Do NOT set initdefault to this)
#
id:3:initdefault:
#system initialization
si::sysinit:/etc/rc.d/rc.sysinit
10:0:wait:/etc/rc.d/rc 0
11:1:wait:/etc/rc.d/rc 1
12:2:wait:/etc/rc.d/rc 2
13:3:wait:/etc/rc.d/rc 3
14:4:wait:/etc/rc.d/rc 4
15:5:wait:/etc/rc.d/rc 5
16:6:wait:/etc/rc.d/rc 6
#Things to run in every runlevel
ud:once:/sbin/update
#Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
#When our UPS tells us power has failed,assume we have a few minutes of
power left.Schele a
#shutdown for 2 minutes from now.
#This does,of course,assume you have powered installed and your UPS
connected and working
#correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Restored;Shutdown Cancelled"
#Run gettys in standard runlevels
1:12345:respawn:/sbin/minggetty tty1
2:2345:respawn:/sbin/minggetty tty2
3:2345:respawn:/sbin/minggetty tty3
4:2345:respawn:/sbin/minggetty tty4
5:2345:respawn:/sbin/minggetty tty5
6:2345:respawn:/sbin/minggetty tty6
#Run xdm in runlevel 5
x:5:respawn:/usr/bin/X11/xdm -nodaemon
Linux有個運行級系統,運行級是表示系統當前狀態和init應運行哪個進程並保持在這種
系統狀態中運行的數字。在inittab文件中,第一個項目指定啟動時裝入的預設運行級。
上例中是個多用戶控制台方式,運行級為3。然後,inittab文件中每個項目指定第二個
欄位的項目用哪種運行級(每個欄位用冒號分開)。因此,對運行級3,下列行是相關的:
13:3:wait:/etc/rc.d/rc 3
1:12345:respawn:/sbin/minggetty tty1
2:2345:respawn:/sbin/minggetty tty2
3:2345:respawn:/sbin/minggetty tty3
4:2345:respawn:/sbin/minggetty tty4
5:2345:respawn:/sbin/minggetty tty5
6:2345:respawn:/sbin/minggetty tty6
最後六行建立Linux提供的六個虛擬控制台。第一行運行啟動腳本/etc/rc.d/ rc 3;
這將運行目錄/etc/
rc.d/rc3.d中包含的所有腳本,這些腳本表示系統初始化時要啟動的程序。一般來說,
這些腳本不需要編輯或改變,是系統預設的。
10. Linux之三Linux的啟動過程/關機
man ls
man pages手冊頁
顯示說明
數字說明
Ctrl+Alt+F1/F2......F6
Ctrl+Alt+F7,回到圖形化界面
who,看看那幾個tty連接著
Linux系統有7個運行級別(runlevel):常用的是3和5
運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
運行級別1:單用戶工作狀態,root許可權,用於系統維護,禁止遠程登陸
運行級別2:多用戶狀態(沒有NFS),沒有網路服務
運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制台命令行模式
運行級別4:系統未使用,保留
運行級別5:X11表示控制台,進入圖形界面
運行級別6:系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動
運行級別
接通電源BIOS自檢,按照BIOS中設置的啟動設備(通常是硬碟)來啟動,操作系統接管硬體以後,
首先讀入 /boot 目錄下的內核文件。
init 進程是系統所有進程的起點,你可以把它比擬成系統所有進程的老祖宗,沒有這個進程,系統中任何進程都不會啟動。
init 程序首先是需要讀取配置文件 /etc/inittab
許多程序需要開機啟動。它們在Windows叫做"服務"(service),在Linux就叫做"守護進程"(daemon)。
init進程的一大任務,就是去運行這些開機啟動的程序。
但是,不同的場合需要啟動不同的程序,比如用作伺服器時,需要啟動Apache,用作桌面就不需要。
Linux允許為不同的場合,分配不同的開機啟動程序,這就叫做"運行級別"(runlevel)。
也就是說,啟動時根據"運行級別",確定要運行哪些程序。
============================================================
Linux系統有7個運行級別(runlevel):
運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
運行級別1:單用戶工作狀態,root許可權,用於系統維護,禁止遠程登陸
運行級別2:多用戶狀態(沒有NFS)
運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制台命令行模式
運行級別4:系統未使用,保留
運行級別5:X11控制台,登陸後進入圖形GUI模式
運行級別6:系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動
在init的配置文件中有這么一行: si::sysinit:/etc/rc.d/rc.sysinit它調用執行了/etc/rc.d/rc.sysinit,
而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統初始化的工作,rc.sysinit是每一個運行級別都要首先運行的重要腳本
它主要完成的工作有:激活交換分區,檢查磁碟,載入硬體模塊以及其它一些需要優先執行任務
rc執行完畢後,返回init。這時基本系統環境已經設置好了,各種守護進程也已經啟動了。
init接下來會打開6個終端,以便用戶登錄系統。在inittab中的以下6行就是定義了6個終端:
一般來說,用戶的登錄方式有三種:
(1)命令行登錄
(2)ssh登錄
(3)圖形界面登錄
在linux領域內大多用在伺服器上,很少遇到關機的操作。畢竟伺服器上跑一個服務是永無止境的,除非特殊情況下,不得已才會關機 。
正確的關機流程為:sync > shutdown > reboot > halt
sync 將數據由內存同步到硬碟中
shutdown –h 10 『This server will shutdown after 10 mins』 這個命令告訴大家,計算機將在10分鍾後關機,並且會顯示在登陸用戶的當前屏幕中
Shutdown –h now 立馬關機
Shutdown –r now 系統立馬重啟
reboot 就是重啟,等同於 shutdown –r now
halt 關閉系統,等同於shutdown –h now 和 poweroff
最後總結一下,不管是重啟系統還是關閉系統,首先要運行sync命令,把內存中的數據寫到磁碟中。
重新安裝系統嗎?當然不用!進入單用戶模式更改一下root密碼即可。
1 重啟Linux,見到下圖,在3秒鍾之內按下回車
2 三秒之內要按一下回車,出現如下界面
3 按下e鍵就可以進入下圖
4 移動到下一行,再次按e鍵
5 移動到下一行,進行修改
修改完成後回車鍵,然後按b鍵進行重新啟動進入系統
6 移動到下一行,進行修改
最終修改完密碼,reboot一下即可。