歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux和Windows硬盤分區設置

Linux和Windows硬盤分區設置

日期:2017/2/28 16:02:25   编辑:Linux教程

現在的Linux都帶了圖形界面的分區工具,所以老的fdisk命令使用就不在這再寫了。

一、系統引導過程簡介

系統引導過程主要由以下幾個步驟組成(以硬盤啟動為例)
1、開機;
2、BIOS加電自檢(POST---Power On Self Test),內存地址為0fff:0000;
3、將硬盤第一個扇區(0頭0道1扇區,也就是Boot Sector)讀入內存地址0000:7c00處;
4、檢查(WORD)0000:7dfe是否等於0xaa55.若不等於則轉去嘗試其他介質;如果沒有其他啟動介質,則顯示 ”No ROM BASIC” ,然後死機;
5、跳轉到0000:7c00處執行MBR中的程序;
6、MBR先將自己復制到0000:0600處,然後繼續執行;
7、在主分區表中搜索標志為活動的分區.如果發現沒有活動分區或者不止一個活動分區,則停止;
8、將活動分區的第一個扇區讀入內存地址0000:7c00處;
9、檢查(WORD)0000:7dfe是否等於0xaa55,若不等於則顯示 “Missing Operating System”,然後停止,或嘗試軟盤啟動;
10、跳轉到0000:7c00處繼續執行特定系統的啟動程序;
11、啟動系統.

以上步驟中(2),(3),(4),(5)步由BIOS的引導程序完成;(6),(7),(8),(9),(10)步由MBR中的引導程序完成.
一般多系統引導程序(如Smart Boot Manager, BootStar, PQBoot等)都是將標准主引導記錄替換成自己的引導程序,在運行系統啟動程序之前讓用戶選擇想要啟動的分區.而某些系統自帶的多系統引導程序(如LILO,NT Loader等)則可以將自己的引導程序放在系統所處分區的第一個扇區中,在Linux中即為兩個扇區的SuperBlock.

注:以上步驟中使用的是標准的MBR,多系統引導程序的引導過程與此不同.

二、硬盤結構及參數
3D參數(Disk Geometry):

CHS(Cylinder/Head/Sector) C-Cylinder柱面數表示硬盤每面盤片上有幾條磁道,最大為1024(用10個二進制位存儲);

H-Head磁頭數表示硬盤總共有幾個磁頭,也就是幾面盤片,最大為256(用8個二進制位存儲);

S-Sector扇區數表示每條磁道上有幾個扇區,最大為63(用6個二進制位存儲).

1、引導扇區
Boot Sector組成
Boot Sector也就是硬盤的第一個扇區,它由MBR(Master Boot Record), DPT(Disk Partition Table)和Boot Record ID三部分組成.

MBR又稱為主引導記錄,占用Boot Sector的前446個字節(0~0x1BD),存放系統主引導程序(它負責從活動分區中裝載並且運行系統引導程序).

DPT即主分區表占用64個字節(0x1BE~0x1FD),記錄磁盤的基本分區信息.主分區表分為四個分區項,每項16個字節,分別記錄每個主分區的信 息(因此最多可以有四個主分區).

Boot Record ID即引導區標記占用兩個字節(0x1FE~0x1FF),對於合法引導區,它等於0xaa55,這是判別引導區是否合法的標志).

Boot Secor具體結構如圖:


由於主分區表只有四個分區信息塊,所以不管是Windows還是Linux,

一塊硬盤上的主分區數目最多4個,如果要支持5個和以上的分區怎麼辦?

這種情況下引入1個擴展分區,使用這個擴展分區占用1個主分區表的項目,

這樣最多是3個主分區加1個擴展分區。

這個擴展分區只是一個管理結構,它管理後面實際的眾多邏輯分區。

一個磁盤的擴展分區只能有一個,並且只能是連續的磁盤空間。

它只是用於邏輯分區管理,擴展分區本身不能被系統加載。

能夠加載的只有主分區和邏輯分區,文件和目錄等也只能存儲在主分區和邏輯分區內。

一個磁盤上所有的邏輯分區構成一個擴展分區。

Windows默認分區結構:


相應的Linux分區編號為:


以擴展分區方式管理多個邏輯分區,這在Windows和Linux下都一樣。

Windows XP默認將C盤作為主分區,其他全部空間作為擴展分區,

在擴展分區裡面建立各個邏輯分區,就是D:,E:,。。。。

這種方式比較無惱,也推薦這種方式來管理磁盤分區。


2、分區類型和分區規定
硬盤分區一共有三種:主分區,擴展分區和邏輯分區。
在一塊硬盤上最多只能有四個主分區。您可以另外建立一個擴展分區來代替四個主分區的其中一個,然後在擴展分區下您可以建立更多的邏輯分區。
擴展分區只不過是邏輯分區的“容器”。實際上只有主分區和邏輯分區進行數據存儲。

(1)Dos/Windows下的分區名稱
在windows下操作系統使用的分區將用盤符來表示。A:和B:為軟驅保留,其他應盤上的主分區和邏輯分區將從C:開始依次排列。(擴展分區沒有任何盤符,而且是看不到的。在Windows下同樣也看不到Linux分區)
如 果一台機器有很多的硬盤,光驅,軟驅等,磁盤分區的命名將產生混亂。在這種情況下,第一塊硬盤上的主分區和邏輯分區將首先得到命名盤符;然後是第二塊,第 三塊等等。比如您有三塊硬盤,每一快硬盤上同時又有一個主分區和兩個邏輯分區,那麼第一塊硬盤的命名將是C:,F:,G:,第二塊為D:,H:,I:,第 三塊為E:,J:,K:。
陌生文件系統的分區將不會被命名,在大多數程序裡面(比如資源管理器)是看不到的。
右擊我的電腦---->管理--->磁盤管理,可以看到陌生分區,但是Windows不能讀取Linux分區。可以用 Ext2Read 軟件來讀取 ext2/ext3/ext4分區內容。
Ext2Read 2.2.71 綠色版:http://www.linuxidc.com/Linux/2010-10/29013.htm

(2)Linux 分區的規定
1) 設備管理 在 Linux 中,每一個硬件設備都映射到一個系統的文件,對於硬盤、光驅等 IDE 或 SCSI 或SATA 設備也不例外。
Linux 把各種 IDE 設備分配了一個由 hd 前綴組成的文件;而對於各種 SCSI 或SATA 設備,則分配了一個由 sd 前綴組成的文件。
例如,第一個 IDE 設備,Linux 就定義為 hda;第二個 IDE 設備就定義為 hdb;下面以此類推。而 SCSI 或SATA設備就應該是 sda、sdb、sdc 等。
2) linux分區數量
要進行分區就必須針對每一個硬件設備進行操作,這就有可能是一塊IDE硬盤或是一塊SCSI或SATA硬盤。
對於每一個硬盤(IDE 或 SCSI或SATA)設備,Linux 分配了一個 1 到 16 的序列號碼,這就代表了這塊硬盤上面的分區號碼。
例如,第一個 IDE 硬盤的第一個分區,在 Linux 下面映射的就是 hda1,第二個分區就稱作是 hda2。對於 SCSI 或SATA硬盤則是 sda1、sdb1 等。
3)linux各分區的作用
在 Linux 中規定,每一個硬盤設備最多能有 4 個主分區(其中包含擴展分區)構成,任何一個擴展分區都要占用一個主分區號碼,也就是在一個硬盤中,主分區和擴展分區一共最多是 4 個。
對於早期的 DOS 和 Windows(Windows 2000 以前的版本),系統只承認一個主分區,可以通過在擴展分區上增加邏輯盤符(邏輯分區)的方法,進一步地細化分區。
主分區的作用就是計算機用來進行啟動 操作系統 的,因此每一個 操作系統 的啟動,或者稱作是引導程序,都應該存放在主分區上。
這就是主分區和擴展分區及邏輯分區的最大區別。
我們在指定安裝引導 Linux 的 bootloader 的時候,都要指定在主分區上,就是最好的例證。
Linux 規定了主分區(或者擴展分區)占用 1 至 16 號碼中的前 4 個號碼。
以第一個 IDE 硬盤為例說明,主分區(或者擴展分區)占用了 hda1、hda2、hda3、hda4,而邏輯分區占用了 hda5 到 hda16 等 12 個號碼。
因此,Linux 下面每一個硬盤總共最多有 16 個分區,其中擴展分區用於管理,不能加載,所以可加載的主分區、邏輯分區數是15個。

(老貼不詳細,補充:在未使用 IDE 驅動器熱插拔支持的系統上,IDE 驅動器最多支持 63 個分區。通過熱插拔支持的 SCSI / SATA驅動器、USB 驅動器和 IDE 驅動器最多可有 15 個分區。剩下的1個是擴展分區編號。)

對於邏輯分區,Linux 規定它們必須建立在擴展分區上(在 DOS 和 Windows 系統上也是如此規定),而不是主分區上。
因此,我們可以看到擴展分區能夠提供更加靈活的分區模式,但不能用來作為 操作系統 的引導。 除去上面這些各種分區的差別,我們就可以簡單地把它們一視同仁了。

Copyright © Linux教程網 All Rights Reserved