當前位置:
首頁 >
合理规划硬盘分区
發布時間:2025/3/15
60
豆豆
合理規劃硬盤分區<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 提要: 對于一個硬盤(包括移動存儲設備)如何規劃分區結構及如何劃分才是比較合理的;為了減少由于硬盤劃分不合理而造成的風險及不必要的麻煩,有必要重述如何對一個硬盤的分區結構進行規劃; 一、關于硬盤種類、物理幾何結構及硬盤容量、分區大小計算 1、硬盤種類、物理幾何結構 硬盤的種類主要是SCSI 、IDE 、以及現在流行的SATA等; 任何一種硬盤的生產都要一定的標準;隨著相應的標準的升級,硬盤生產技術也在升級;比如 SCSI標準已經經歷了SCSI-1 、SCSI-2、SCSI-3;其中目前咱們經常在服務器網站看到的 Ultral-160就是基于SCSI-3標準的;IDE 遵循的是ATA標準,而目前流行的SATA,是ATA標準的升級版本;IDE是并口設備,而SATA是串口,SATA的發展目的是替換IDE; 硬盤的物理幾何結構是由盤、磁盤表面、柱面、扇區組成,一個張硬盤內部是由幾張碟片疊加在一起,這樣形成一個柱體面;每個碟片都有上下表面;磁頭和磁盤表面接觸從而能讀取數據;
2、硬盤容量及分區大小的算法; 我們通過fdsik -l 可以發現如下的信息: Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
???Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux ?heads 是磁盤面;sectors 是扇區;cylinders 是柱面;每個扇區大小是 512byte,也就是0.5K; 通過上面的例子,我們發現此硬盤有 255個磁盤面,有63個扇區,有9729個柱面;所以整個硬盤體積換算公式應該是: 磁面個數 x 扇區個數 x 每個扇區的大小512 x 柱面個數 = 硬盤體積 (單位bytes)
操作系統: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大單位換算,每次除以1024) 二、關于硬盤分區劃分標準及合理分區結構 1、硬盤分區劃分標準 硬盤的分區由主分區、擴展分區和邏輯分區組成; 所以我們在對硬盤分區時要遵循這個標準;主分區(包括擴展分區)的最大個數是四個,主分區(包含擴展分區)的個數硬盤的主引導記錄MBR(Master Boot Recorder)決定的,MBR存放啟動管理程序(GRUB,LILO,NTLOARDER等)和分區表記錄。 其中擴展分區也算一個主分區; 擴展分區下可以包含更多的邏輯分區; 所以主分區(包括擴展分區)范圍是從1-4,邏輯分區是從5開始的; 比如下面的例子: ???Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux 后記: 把分區基礎寫出來,主要是想讓新手弟兄知道什么是合理的分區結構,如果把硬盤分區規劃好了,也為以學習省卻了不少麻煩;
2、硬盤容量及分區大小的算法; 我們通過fdsik -l 可以發現如下的信息: Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
???Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux ?heads 是磁盤面;sectors 是扇區;cylinders 是柱面;每個扇區大小是 512byte,也就是0.5K; 通過上面的例子,我們發現此硬盤有 255個磁盤面,有63個扇區,有9729個柱面;所以整個硬盤體積換算公式應該是: 磁面個數 x 扇區個數 x 每個扇區的大小512 x 柱面個數 = 硬盤體積 (單位bytes)
?
提示: 由于硬盤生產商和操作系統換算不太一樣,硬盤廠家以10進位的辦法來換算,而操作系統是以2進位制來換算,所以在換算成M或者G 時,不同的算法結果卻不一樣;所以我們的硬盤有時標出的是80G,在操作系統下看卻少幾M; 上面例子中,硬盤廠家算法 和 操作系統算數比較: 硬盤廠家: 80023749120 bytes = 80023749.120 K = 80023.749120 M (向大單位換算,每次除以1000)操作系統: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大單位換算,每次除以1024) 二、關于硬盤分區劃分標準及合理分區結構 1、硬盤分區劃分標準 硬盤的分區由主分區、擴展分區和邏輯分區組成; 所以我們在對硬盤分區時要遵循這個標準;主分區(包括擴展分區)的最大個數是四個,主分區(包含擴展分區)的個數硬盤的主引導記錄MBR(Master Boot Recorder)決定的,MBR存放啟動管理程序(GRUB,LILO,NTLOARDER等)和分區表記錄。 其中擴展分區也算一個主分區; 擴展分區下可以包含更多的邏輯分區; 所以主分區(包括擴展分區)范圍是從1-4,邏輯分區是從5開始的; 比如下面的例子: ???Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
?
2、硬盤設備(包括移動存儲設備)在Linux或者其它類Unix系統的表示; IDE 硬盤在Linux或者其它類Unix系統的一般表示為 hd* ,比如hda、hdb ... ... ,我們可以通過 fdisk -l 來查看;還是以fdisk -l 為準; SCSI 和SATA 硬盤在Linux通常也是表示為 sd* ,比如 sda 、sdb ... ... 以fdisk -l 為準 移動存儲設備在linux表示為 sd* ,比如 sda 、sdb ... ... 以fdisk -l 為準 3、合理的規劃分區 分區結構之一:四個主分區,沒有擴展分區; [主|分區1] [主分|區2] [主|分區3] [主|分區4] 這種情況,如果您想在一個磁盤上劃分五個以上分區,這樣是行不通的; 分區結構之二:三個主分區 一個擴展分區; [ 主 |? 分區1 ] [ 主 | 分區2 ] [ 主 | 分區3 ] [擴展分區] ????????????????????????????????????????????????????????????????????????? | ??????????? [邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ... 這種情況行得通,而且分區的自由度比較大;分區也不受約束,能分超過5個分區; 2)最合理的的分區方式; 最合理的分區結構:主分區在前,擴展分區在后,然后在擴展分區中劃分邏輯分區;主分區的個數+擴展分區個數要控制在四個之內;比如下面的分區是比較好的; [主|分區1] [主|分區2] [主|分區3] [擴展分區] ??????????????????????????????????????????????????????????? | ????????? ???[邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...?
[主|分區1] [主|分區2] [擴展分區] ????????????????????????????????????????? |??????? ?? [邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...?
[主|分區1] [擴展分區] ??????????????????????? |??????? [邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...?
最不合理的分區結構: 主分區包圍擴展分區;比如下面的; [主|分區1] [主|分區2] [擴展分區] [主|分區4] [空白未分區空間] ????????????????????????????????????????? | ??? [邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...?
我們根據這個標題,查看一下我們的例子,是不是符合這個標準呢? ???Device Boot Start End Blocks Id System/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux 后記: 把分區基礎寫出來,主要是想讓新手弟兄知道什么是合理的分區結構,如果把硬盤分區規劃好了,也為以學習省卻了不少麻煩;
轉載于:https://blog.51cto.com/13233/82571
總結
- 上一篇: 腾讯二面,我被 “赛马” 问题难住了
- 下一篇: 挤出来的只言片语