1.各個硬件設備在Linux中的文件名
注意:各個組件或設備在Linux下面都是一個文件。這個觀念是不同Windows操作系統的
常見的設備在Linux中的文件名如下:
注意:在Linux系統中,幾乎所有的硬件設備文件都在 /dev 這個目錄下
/dev/hd[a-d]中的[a-d]表述可以取a,b,c,d 即/dev/hda、/dev/hdb、/dev/hdc、/dev/hdd
在磁帶機中,不同的distribution當中文件名可能不同。
SCSI硬盤:SCSI硬盤是采用SCSI接口的硬盤,SCSI是Small Computer System Interface(小型計算機系統接口)的縮寫,使用50針接口,外觀和普通硬盤接口有些相似。SCSI硬盤和普通IDE硬盤相比有很多優點:接口速度快,并且由于主要用于服務器,因此硬盤本身的性能也比較高,硬盤轉速快,緩存容量大,CPU占用率低,擴展性遠優于IDE硬盤,并且支持熱插拔。
2.磁盤分區
(1)磁盤連接方式與設備文件名的關系
常見的磁盤接口:IDE(舊), SATA(新)
>>IDE設備
我們將可連接到IDE接口的設備稱為IDE設備,不管是磁盤還是光盤設備。
一個主機通常提供兩個IDE接口(IDE1, IDE2),而每個IDE扁平電纜可以連接兩個IDE設備(Master, Slave),因此一個主機最多可以連接4個IDE設備
主機
┃
IDE1(Primary)
┃
Master:/dev/hda
Slave:/dev/hdb
IDE2(Secondary)
┃
Master:/dev/hdc
Slave:/dev/hdd
>>SATA接口
SATA/SCSI/USB等磁盤接口都是使用SCSI模塊來驅動的,因此這些接口的磁盤設備文件名稱都是/dev/sd[a-p]
與IDE接口不同,該接口的磁盤沒有固定順序,是以Linux內核檢測到的磁盤的順序來命名的。
例如:PC上連接了兩個SATA磁盤,以及一個USB磁盤,主板上有6個SATA插槽,這兩個SATA安插在SATA1,SATA5
的插槽上,那么這單個磁盤的名稱如何?
SATA1插槽的上的文件名:/dev/sda
SATA5插槽的上的文件名:/dev/sdb
USB磁盤(開機完成后才能被系統識別)文件名:/dev/sdc
(2)磁盤組成
磁盤的物理組成:
盤片
機械手臂
磁頭(head)
主軸馬達
磁盤的第一個扇區最重要,里面記錄了兩個信息:
┃
主引導分區(Master Boot Record, MBR):可以安裝引導加載程序的地方,有446bytes。系統在開機時要讀取該區塊的內容,這樣系統才會知道你的程序放在哪里且如何開機
分區表(partirion table):記錄整個磁盤分區的狀態,有64bytes。只有將磁盤分區了,才能更有效的利用它
注意:如果一個硬盤的第一個扇區物理損壞了,這個硬盤基本也就報廢了。因為系統會找不到分區
表,從而就知道如何讀取柱面區間了。
(3)磁盤分區表
64bytes分區表,假如該硬盤設備的文件名為 /dev/hda
P1: 1~100 文件名:/dev/hda1
P2: 101~200 文件名:/dev/hda2
P3:201~300 文件名:/dev/hda3
P4:301~400 文件名:/dev/hda4
分區表只有64bytes而已,最多只能容納4個分區,
注意:
1.所謂的分區只是針對64bytes的分區表進行設置而已
2.磁盤默認的分區表僅能寫入四組分區信息?
這是因為早期的硬盤一個分區大小劃分為16bytes,而分區表只有64bytes大小
3.分區的最小單位是柱面(Cylinder)
4.這四組分區信息我們稱為主或擴展分區( 分法如4P、3P+1E )
為啥要分區?
1.數據的安全性:操作這個分區的數據并不會影響另一個分區的數據
2.系統的性能考慮:由于分區了,所以,每次在某一個分區查找數據時,只需在固定
柱面區查找,這樣就縮小范圍,可以達到數據讀取的速度與性能。
邏輯分區
盡管整個磁盤只能分區為4塊,但是其擴展分區可以使用額外的扇區來記錄分區的信息,
從而使擴展分區被分割為若干個分區,稱為邏輯分區
是在擴展分區的區塊內使用額外的扇區來記錄分區的信息,擴展分區本身并不能被
拿來格式化?(直接使用的意思嗎?因為格式后才能被訪問、使用)
該邏輯分區在Linux系統中的設備的文件名:
P1, /dev/hda1
P2, /dev/hda2
P3和P4記錄為空,其文件名保留。
L1, /dev/hda5, 注意:邏輯分區是從 5 開始了,因為前面的四個號碼都是給主、擴展分區保留的
L2, /dev/hda6
L3, /dev/hda7
L4, /dev/hda8
L5, /dev/hda9
L6, /dev/hda10
L7, /dev/hda11
注意:
1)邏輯分區的設備名稱號碼是從5號開始的,
2)主分區和擴展分區最多可以只有4個(硬盤的限制, 上面的劃分只有2個,主、擴展分區各一個)
3)擴展分區最多只能有1個(操作系統的限制,如3P和1E、4P)
4)邏輯分區是有擴展分區持續切割出來的分區
5)能被格式化后作為數據訪問的分區為主分區與邏輯分區。擴展分區無法格式化
6)邏輯分區的數量與操作系統有關,在Linux中,IDE硬盤最多分為59個邏輯分區(5-63號)SATA硬盤則只能有11個邏輯分區(5-15號)
(4)開機流程與主引導分區(MBR)
計算機是一堆硬件組成,需要操作系統(本質仍是軟件)來合理的分配這些硬件資源。那么問題是,在計算計剛開機的
那一刻是如何認識這個操作系統并執行它的?
這就要涉及到計算計的開機程序了。
BIOS(寫入到主板上的一個韌體,即寫入到硬件上的一個軟件)
CMOS(是記錄各項硬件參數且嵌入在主板上面的存儲器)
開機到操作系統之前的動作過程:
1.BIOS:開機主動執行的韌體,會引導到第一個可開機的設備(如硬盤、光盤、U盤等)的第一個扇區的MBR位置
2.MBR:第一個可開機設備的第一個扇區內的主引導分區塊、內包含引導加載程序
3.引導加載程序(Boot loader):一支可讀取內核文件來執行的軟件。
具體需要執行的任務:
(1)提供菜單:用戶可以選擇不同的開機選項(如多個系統),這是多重引導的重要功能
(2)載入內核文件:直接指向可開機的程序段來開始操作系統
(3)轉交其他loader:將引導加載功能轉交給其他loader負責。(例如裝了雙系統)
4.內核文件:開始操作系統的功能
注意:
1)BIOS和MBR是硬件本身要支持的功能
2)Boot loader 是操作系統安裝在MBR上的一套軟件,由于MBR僅有446bytes,因此這個引導加載程序是非常小和完美的
3)每個分區都有自己的啟動扇區(boot sector)
4)實際可開機的內核文件(不同的操作系統)是放置到各個分區內的
5)引導加載程序只會認識自己系統分區的可開機內核文件和其他的loader而已,因此,loader可直接指向或間接將管理權轉交給另一個管理程序
(5)Linux安裝模式下,磁盤分區的選擇
>>目錄結構(directory tree)
Linux內的所有數據都是已文件的形態來呈現的,所以,目錄結構對于Linux是很重的。整個目錄體系的根目錄是:/(所有的文件都是由根目錄衍生來的,如/home/dmtsai/mydata)
>>文件系統與目錄樹的關系(掛載)
根據目錄樹去磁盤內取真正的數據,這個時候就牽扯到掛載的問題
"掛載":就是利用一個目錄當成進入點(稱為掛載點),將磁盤分區的數據放在該目錄下。換言之,進入該目錄就可以讀取該分區的數據
從掛載的含義來看,根目錄則是一定要掛載到某一個分區的。至于其他的目錄則可以依用戶自己的需求來選擇掛載到不同的分區
例如:計算計讀取光盤的數據,在Linux系統下,一般是將光驅的數據放置在/media/cdrom里的,那么此時光盤里的文件:/media/cdrom/具體文件
如果將光驅掛載到/mnt目錄時,則光盤的文件變為:/mnt/具體文件
3.安裝Linux前的規劃
(1)選擇適當的distribution
選擇CentOS這個distribution版本開始
官網:http://mirror.centos.org/centos/5/isos/
.iso為擴展名的文件就是所謂的image文件(鏡像文件)
(2)主機硬盤的分區
最簡單的分區:僅分出根目錄(/)和內存交換空間(swap)
壞軌的出現,容易造成根目錄損毀
稍微復雜的分法:分析主機的用途,將使用(如讀取)頻繁的目錄單獨分離出來,不要與根目錄放置在同一個分區(這樣做的原因:因為使用頻繁的目錄,容易造成其所在的分區物理損壞,如果根目錄也放在這里那將使根目錄下的其他數據也一起完蛋)
例如下面的目錄分法:
/
/usr
/home
/var
Swap
注意:新手經常會發現找不到某些命令,這是因為在你的系統里沒有安裝相應的軟件。