歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 在Linux系統中存儲設備的兩種表示方法

在Linux系統中存儲設備的兩種表示方法

日期:2017/2/27 9:32:57   编辑:更多Linux

一、對於IDE接口的硬盤的兩種表示方法;

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來確認具體位置;



本標題中說的是另外一種表示方法 (hd[0-n],y),hd[0-n]我們知道這是硬盤的表示方法之一,如果不懂,請看看前面的東西吧;那這裡的y是什麼意思呢?y的值是 /dev/hd[a-z]X中的 X-1 ;

用實例來理解吧;

[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

/dev/hda1 等同 (hd0,0)

/dev/hda2 等同 (hd0,1) 注:看好了,這個是擴展分區,在Linux還是Windows是不能掛載的;

/dev/hda5 等同 (hd0,4)



/dev/hda6 等同 (hd0,5)

/dev/hda7 等同 (hd0,6)

/dev/hda8 等同 (hd0,7)

... ...

/dev/hda10 同 (hd0,9)

對於機器中只有一個硬盤來說,無論在Linux通過/dev/hda 還是/dev/hdb ,用 hd[0-n]表示方法,都是hd0;所以如果您如果硬盤中列出來的是;

[root@localhost ~]# fdisk -l

Disk /dev/hdb: 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/hdb1 * 1 970 7791493+ 7 HPFS/NTFS

/dev/hdb2 971 9729 70356667+ 5 Extended

/dev/hdb5 971 2915 15623181 b W95 FAT32

/dev/hdb6 2916 4131 9767488+ 83 Linux

/dev/hdb7 4132 5590 11719386 83 Linux

/dev/hdb8 5591 6806 9767488+ 83 Linux

/dev/hdb9 6807 9657 22900626 83 Linux

/dev/hdb10 9658 9729 578308+ 82 Linux swap / Solaris



對於機器中只有一個硬盤來說,如果通過fdisk -l 列出來的是/dev/hdb的分區表;對應關系和/dev/hda列出的分區表對應關系一樣;

/dev/hdb1 等同 (hd0,0)

/dev/hdb2 等同 (hd0,1) 注:看好了,這個是擴展分區,在Linux還是Windows是不能掛載的;

/dev/hdb5 等同 (hd0,4)

/dev/hdb6 等同 (hd0,5)

/dev/hdb7 等同 (hd0,6)

/dev/hdb8 等同 (hd0,7)

... ...

/dev/hdb10 等同 (hd0,9)

注意:如果機器中有兩塊硬盤,那/dev/hda 另一種表示方法就是hd0,/dev/hdb 的另一種表示方法是hd1;這樣我們就理解 (hd[0-n],y)的寫法了吧;這樣機器只有單個硬盤或者多個硬盤,我們都知道怎麼寫了;對不對?可能也不對,那就請指正吧;

二、關於SATA和SCSI接口的硬盤的兩種表示方法;

理解方法和IDE接口的硬盤相同,只是把hd換成sd;

如果您的機器中比如有一個硬盤是/dev/hda ,也有一個硬盤是/dev/sda ,那/dev/sda的硬盤應該是sd0; 具體每個分區用(sd[0-n],y)的表示方法和IDE接口中的算法相同,比如/dev/sda1 就是(sd0,0);

三、usb及1394接口的存儲設備和軟驅設備;



usb存儲設備也目前在內核中在兩種驅動方法,一種是模擬SCSI硬盤,通過fdisk -l 出現的是/dev/sd[0-n] ;如果是模擬SCSI設備的方法來驅動。那usb 存儲設備在Linux的另一種表示方法和前面所說的SCSI和SATA的相同;

但目前新版本的內核中,想拋棄模擬SCSI,我們通過fdisk 列系統存在的存儲設置時會出現 /dev/uba 類似的;但目前這個驅動並不成熟,比如大數據量表現不穩定;其實USB接口的存儲設備,在Linux表現還是比較差;

1394接口存儲調備,在Linux中也是模擬SCSI,我們通過fdisk -l 後,出現的也是/dev/sd[0-n],另一種表示方法(sd[a-z],y)的理解請參照前面所說的; 1394接口的存儲設備在Linux表現極好,USB存儲如果相對1394接口的存儲表現來說,應該不值不提,建議大家購買1394接口的存儲設備;

軟驅在Linux中,是/dev/floppy設備這是一般情況,另一種表示為fd0 ;

CDROM 或DVDROM ,以及COMBO ,一般的情況下是/dev/hdc ;看下面的例子,無論是 /dev/cdrom 還是/dev/dvd ,最後都指向了/dev/hdc;

[root@localhost ~]# ls -la /dev/cdrom

lrwxrwxrwx 1 root root 3 2005-12-14 /dev/cdrom -> hdc

[root@localhost ~]# ls -la /dev/dvd

lrwxrwxrwx 1 root root 3 2005-12-14 /dev/dvd -> hdc

四、關於存儲設備的不同的表示方法的應用;

1、/dev/hd[a-z] 表示方法的應用



1)用於mount 掛載文件系統(分區)之用;

我們在前面所說的,硬盤的分區/dev/hd[a-z]X表示方法,一般是用於掛載和讀取文件系統之用的;

[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

比如我要掛載 /dev/hda9 到系統中;所以過程應該是這樣的;

[root@localhost ~]# mkdir /opt/data/ 注:建立掛載點目錄;



[root@localhost ~]# mount /dev/hda9 /opt/data/ 注:掛載;

是不是掛載好了呢?看下面的信息,顯示已經掛載好了,所以這時我們就能向/opt/data目錄寫東西了,寫的所有東西都記錄在了/dev/hda9上;

[root@localhost ~]# df -lh

Filesystem 容量 已用 可用 已用% 掛載點

/dev/hda7 11G 9.2G 1.1G 90% /

/dev/shm 236M 0 236M 0% /dev/shm

/dev/hda9 22G 3.9G 18G 18% /opt/data

注意:掛載得需要內核支持,另外分區也得建立文件系統,請參考相關文檔 ;

2)用於GRUB中指定Linux的根分區的位置;

在GRUB系統引導管理器,用命令行啟動一個操作系統時,要通過指定Linux根/所在的硬盤分區 /dev/hd[a-z]X;比如 root=/dev/hda7 ;

2、hd[0-n] 表示方法的應用;

這種一般是應用在GRUB的/boot所位於的硬盤分區的指定上;在GRUB的命令行和GRUB的配置文件menu.lst 中都要應用到;

比如我們要把GRUB寫到硬盤的MBR上,在GRUB的命令行模式中要通過root (hd[0-n],y)來指定;這裡的root (hd[0-n],y),在GRUB中就/boot所位於的分區;不要搞錯了,有時/boot和Linux的根/並不是處於同一個分區的,就看您安裝Linux時怎麼安裝的了;而我們前面所說的root=/dev/hd[a-z]X來指定的是Linux 根/所位於的分區;雖然有時/boot和/同處一個分區,但兩種表示方法在GRUB中各有用途;明白了吧;



Copyright © Linux教程網 All Rights Reserved