摘要: 硬碟和硬碟分區在Linux都表示為裝置,按我們通俗的說法來說,就是怎麼來表示或描述硬碟和或硬碟分區,但這種描述應該是科學和具體的;比如IDE硬碟,在Linux 可以表示為 /dev/hda、/dev/hdb ... ;SCSI 介面的硬碟、SATA介面的硬碟表示為/dev/sda、/dev/sdb ... ... ;而IDE介面的硬碟/dev/hda,也可以表示為hd0 ,而 SCSI 介面的如果是 /dev/sda ,另一種表示方法是sd0;
理解兩種表示方法有何用?至少GRUB引導管理器用到這些知識;另外我們mount (掛載)檔案系統(分區),也會用到這些知識;
一、對於IDE介面的硬碟的兩種表示方法;
1、IDE介面硬碟,對於整塊硬碟的兩種表示方法;
IDE介面中的整塊硬碟在Linux系統中表示為/dev/hd[a-z],比如/dev/hda,/dev/hdb ... ... 以此類推,有時/dev/hdc可能表示的是CDROM ,還是以具體的fdisk -l 輸出為準吧;
另一種表示方法是hd[0-n] ,其中n是一個正整數,比如hd0,hd1,hd2 ... ... hdn ;
如果機器中只有一塊硬碟,無論我們通過fdisk -l 列出的是/dev/hda 還是/dev/hdb ,都是hd0;如果機器中存在兩個或兩個以上的硬碟,第一個硬碟/dev/hda 另一種方法表示為hd0,第二個硬碟/dev/hdb,另一種表法是hd1 ;
感覺大家對hd0,hd1這種表示方法並不寞生,現在新的機器,在BIOS 中,在啟動盤設定那塊,硬碟是有hd0,hd1之類的,這就是硬碟表示方法的一種;
對於/dev/hda 類似的表示方法,也並不寞生吧;我們在Linux通過fdisk -l 就可以查到硬碟是/dev/hda還是/dev/hdb;
[root@localhost ~]# fdisk -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 970 7791493+ 7 HPFS/NTFS
/dev/hda2 971 9729 70356667+ 5 Extended
/dev/hda5 971 2915 15623181 b W95 FAT32
/dev/hda6 2916 4131 9767488+ 83 Linux
/dev/hda7 4132 5590 11719386 83 Linux
/dev/hda8 5591 6806 9767488+ 83 Linux
/dev/hda9 6807 9657 22900626 83 Linux
/dev/hda10 9658 9729 578308+ 82 Linux swap / Solaris
請注意第一行, Disk /dev/hda: 80.0 GB, 80026361856 bytes ,這個就是表示機器中只有一個硬碟裝置/dev/hda ,體積大小為 80.0G;下面的就是硬碟的分區,每個分區都有詳細的資訊,在這裡不詳細說了;
2、IDE介面硬碟分區的兩種表示方法;
1)硬碟分區的第一種表示方法/dev/hd[a-z]X;
硬碟的分區也有兩種表示方法,一種是/dev/hd[a-z]X,這個a-z表示a、b、c......z ,X是一個從1開始的正整數;比如/dev/hda1,/dev/hda2 .... /dev/hda6,/dev/hda7 ... ... 值得注意的是/dev/hd[a-z]X,如果X的值是1到4,表示硬碟的主要磁碟分割(包含擴充分區);邏輯分區從是從5開始的,比如/dev/hda5肯定是邏輯分區了;
我 用fdisk -l 就能列出一個硬碟的分區表,比如:
[root@localhost ~]# fdisk -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 970 7791493+ 7 HPFS/NTFS
/dev/hda2 971 9729 70356667+ 5 Extended
/dev/hda5 971 2915 15623181 b W95 FAT32
/dev/hda6 2916 4131 9767488+ 83 Linux
/dev/hda7 4132 5590 11719386 83 Linux
/dev/hda8 5591 6806 9767488+ 83 Linux
/dev/hda9 6807 9657 22900626 83 Linux
/dev/hda10 9658 9729 578308+ 82 Linux swap / Solaris
2)硬碟分區的第二種表示方法(hd[0-n],y);
我們前面已經說過了整塊硬碟也有兩種表示方法,一種是/dev/hd[a-z]的,另種方法是hd[0-n];
一個硬碟分區首先要大確認在哪個硬碟,然後再確認他所在的位置;做個比喻,比如我住在XXX賓館YYY號房間,我僅僅是告訴別人我在XXX賓館不夠的,還要告訴他YYY房間,這樣來找我的人才能找到我;所以我們要知道一個硬碟分區,除了知道/dev/hd[a-z]以外,還要知道他在哪個位置,也就有前面所說的/dev/hd[a-z]X的說法,確認了分區在/dev/hd[a-z]後,還要通過X來確認具體位置;