當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]硬盤(pán)和硬盤(pán)分區(qū)在Linux都表示為設(shè)備,按我們通俗的說(shuō)法來(lái)說(shuō),就是怎么來(lái)表示或描述硬盤(pán)和或硬盤(pán)分區(qū),但這種描述應(yīng)該是科學(xué)和具體的;比如IDE硬盤(pán),在Linux 可以表示為 /dev/hda、/dev/hdb ... ;SCSI 接口的硬盤(pán)、SATA接口的硬盤(pán)表示為/dev/sda、/dev/sdb ... ... ;而IDE接口的硬盤(pán)/dev/hda,也可以表示為hd0 ,而 SCSI 接口的如果是 /dev/sda ,另一種表示方法是sd0; 理解兩種表示方法有何用?至少GRUB引導(dǎo)管理器用到這些

linux存儲(chǔ)設(shè)備的表示方法

一、對(duì)于IDE接口的硬盤(pán)的兩種表示方法;



1、IDE接口硬盤(pán),對(duì)于整塊硬盤(pán)的兩種表示方法;


IDE接口中的整塊硬盤(pán)在Linux系統(tǒng)中表示為/dev/hd[a-z],比如/dev/hda,/dev/hdb ... ... 以此類(lèi)推,有時(shí)/dev/hdc可能表示的是CDROM ,還是以具體的fdisk -l 輸出為準(zhǔn)吧;

另一種表示方法是hd[0-n] ,其中n是一個(gè)正整數(shù),比如hd0,hd1,hd2 ... ... hdn ;

如果機(jī)器中只有一塊硬盤(pán),無(wú)論我們通過(guò)fdisk -l 列出的是/dev/hda 還是/dev/hdb ,都是hd0;如果機(jī)器中存在兩個(gè)或兩個(gè)以上的硬盤(pán),第一個(gè)硬盤(pán)/dev/hda 另一種方法表示為hd0,第二個(gè)硬盤(pán)/dev/hdb,另一種表法是hd1 ;

感覺(jué)大家對(duì)hd0,hd1這種表示方法并不寞生,現(xiàn)在新的機(jī)器,在BIOS 中,在啟動(dòng)盤(pán)設(shè)置那塊,硬盤(pán)是有hd0,hd1之類(lèi)的,這就是硬盤(pán)表示方法的一種;

對(duì)于/dev/hda 類(lèi)似的表示方法,也并不寞生吧;我們?cè)贚inux通過(guò)fdisk -l 就可以查到硬盤(pán)是/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

請(qǐng)注意第一行, Disk /dev/hda: 80.0 GB, 80026361856 bytes ,這個(gè)就是表示機(jī)器中只有一個(gè)硬盤(pán)設(shè)備/dev/hda ,體積大小為 80.0G;下面的就是硬盤(pán)的分區(qū),每個(gè)分區(qū)都有詳細(xì)的信息,在這里不詳細(xì)說(shuō)了;


2、IDE接口硬盤(pán)分區(qū)的兩種表示方法;



1)硬盤(pán)分區(qū)的第一種表示方法/dev/hd[a-z]X;


硬盤(pán)的分區(qū)也有兩種表示方法,一種是/dev/hd[a-z]X,這個(gè)a-z表示a、b、c......z ,X是一個(gè)從1開(kāi)始的正整數(shù);比如/dev/hda1,/dev/hda2 .... /dev/hda6,/dev/hda7 ... ... 值得注意的是/dev/hd[a-z]X,如果X的值是1到4,表示硬盤(pán)的主分區(qū)(包含擴(kuò)展分區(qū));邏輯分區(qū)從是從5開(kāi)始的,比如/dev/hda5肯定是邏輯分區(qū)了;

我 用fdisk -l 就能列出一個(gè)硬盤(pán)的分區(qū)表,比如:


[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)硬盤(pán)分區(qū)的第二種表示方法(hd[0-n],y);

我們前面已經(jīng)說(shuō)過(guò)了整塊硬盤(pán)也有兩種表示方法,一種是/dev/hd[a-z]的,另種方法是hd[0-n];

一個(gè)硬盤(pán)分區(qū)首先要大確認(rèn)在哪個(gè)硬盤(pán),然后再確認(rèn)他所在的位置;做個(gè)比喻,比如我住在XXX賓館YYY號(hào)房間,我僅僅是告訴別人我在XXX賓館不夠的,還要告訴他YYY房間,這樣來(lái)找我的人才能找到我;所以我們要知道一個(gè)硬盤(pán)分區(qū),除了知道/dev/hd[a-z]以外,還要知道他在哪個(gè)位置,也就有前面所說(shuō)的/dev/hd[a-z]X的說(shuō)法,確認(rèn)了分區(qū)在/dev/hd[a-z]后,還要通過(guò)X來(lái)確認(rèn)具體位置;

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

用實(shí)例來(lái)理解吧;


[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) 注:看好了,這個(gè)是擴(kuò)展分區(qū),在Linux還是Windows是不能掛載的;
/dev/hda5 等同 (hd0,4)
/dev/hda6 等同 (hd0,5)
/dev/hda7 等同 (hd0,6)
/dev/hda8 等同 (hd0,7)
... ...
/dev/hda10 同 (hd0,9)

對(duì)于機(jī)器中只有一個(gè)硬盤(pán)來(lái)說(shuō),無(wú)論在Linux通過(guò)/dev/hda 還是/dev/hdb ,用 hd[0-n]表示方法,都是hd0;所以如果您如果硬盤(pán)中列出來(lái)的是;


[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

對(duì)于機(jī)器中只有一個(gè)硬盤(pán)來(lái)說(shuō),如果通過(guò)fdisk -l 列出來(lái)的是/dev/hdb的分區(qū)表;對(duì)應(yīng)關(guān)系和/dev/hda列出的分區(qū)表對(duì)應(yīng)關(guān)系一樣;

/dev/hdb1 等同 (hd0,0)
/dev/hdb2 等同 (hd0,1) 注:看好了,這個(gè)是擴(kuò)展分區(qū),在Linux還是Windows是不能掛載的;
/dev/hdb5 等同 (hd0,4)
/dev/hdb6 等同 (hd0,5)
/dev/hdb7 等同 (hd0,6)
/dev/hdb8 等同 (hd0,7)
... ...
/dev/hdb10 等同 (hd0,9)

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


二、關(guān)于SATA和SCSI接口的硬盤(pán)的兩種表示方法;


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

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


三、usb及1394接口的存儲(chǔ)設(shè)備和軟驅(qū)設(shè)備;


usb存儲(chǔ)設(shè)備也目前在內(nèi)核中在兩種驅(qū)動(dòng)方法,一種是模擬SCSI硬盤(pán),通過(guò)fdisk -l 出現(xiàn)的是/dev/sd[0-n] ;如果是模擬SCSI設(shè)備的方法來(lái)驅(qū)動(dòng)。那usb 存儲(chǔ)設(shè)備在Linux的另一種表示方法和前面所說(shuō)的SCSI和SATA的相同;

但目前新版本的內(nèi)核中,想拋棄模擬SCSI,我們通過(guò)fdisk 列系統(tǒng)存在的存儲(chǔ)設(shè)置時(shí)會(huì)出現(xiàn) /dev/uba 類(lèi)似的;但目前這個(gè)驅(qū)動(dòng)并不成熟,比如大數(shù)據(jù)量表現(xiàn)不穩(wěn)定;其實(shí)USB接口的存儲(chǔ)設(shè)備,在Linux表現(xiàn)還是比較差;

1394接口存儲(chǔ)調(diào)備,在Linux中也是模擬SCSI,我們通過(guò)fdisk -l 后,出現(xiàn)的也是/dev/sd[0-n],另一種表示方法(sd[a-z],y)的理解請(qǐng)參照前面所說(shuō)的; 1394接口的存儲(chǔ)設(shè)備在Linux表現(xiàn)極好,USB存儲(chǔ)如果相對(duì)1394接口的存儲(chǔ)表現(xiàn)來(lái)說(shuō),應(yīng)該不值不提,建議大家購(gòu)買(mǎi)1394接口的存儲(chǔ)設(shè)備;

軟驅(qū)在Linux中,是/dev/fd0設(shè)備這是一般情況,另一種表示為fd0 ;

CDROM 或DVDROM ,以及COMBO ,一般的情況下是/dev/hdc ;看下面的例子,無(wú)論是 /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


四、關(guān)于存儲(chǔ)設(shè)備的不同的表示方法的應(yīng)用;



1、/dev/hd[a-z] 表示方法的應(yīng)用


1)用于mount 掛載文件系統(tǒng)(分區(qū))之用;


我們?cè)谇懊嫠f(shuō)的,硬盤(pán)的分區(qū)/dev/hd[a-z]X表示方法,一般是用于掛載和讀取文件系統(tǒng)之用的;


[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 到系統(tǒng)中;所以過(guò)程應(yīng)該是這樣的;


[root@localhost ~]# mkdir /opt/data/ 注:建立掛載點(diǎn)目錄;
[root@localhost ~]# mount /dev/hda9 /opt/data/ 注:掛載;

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


[root@localhost ~]# df -lh
Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/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

注意:掛載得需要內(nèi)核支持,另外分區(qū)也得建立文件系統(tǒng),請(qǐng)參考相關(guān)文檔 ;


2)用于GRUB中指定Linux的根分區(qū)的位置;


在GRUB系統(tǒng)引導(dǎo)管理器,用命令行啟動(dòng)一個(gè)操作系統(tǒng)時(shí),要通過(guò)指定Linux根/所在的硬盤(pán)分區(qū) /dev/hd[a-z]X;比如 root=/dev/hda7 ;


2、hd[0-n] 表示方法的應(yīng)用;


這種一般是應(yīng)用在GRUB的/boot所位于的硬盤(pán)分區(qū)的指定上;在GRUB的命令行和GRUB的配置文件menu.lst 中都要應(yīng)用到;

比如我們要把GRUB寫(xiě)到硬盤(pán)的MBR上,在GRUB的命令行模式中要通過(guò)root (hd[0-n],y)來(lái)指定;這里的root (hd[0-n],y),在GRUB中就/boot所位于的分區(qū);不要搞錯(cuò)了,有時(shí)/boot和Linux的根/并不是處于同一個(gè)分區(qū)的,就看您安裝Linux時(shí)怎么安裝的了;而我們前面所說(shuō)的root=/dev/hd[a-z]X來(lái)指定的是Linux 根/所位于的分區(qū);雖然有時(shí)/boot和/同處一個(gè)分區(qū),但兩種表示方法在GRUB中各有用途;明白了吧;

比如/boot位于同一個(gè)硬盤(pán)分區(qū),就可以用類(lèi)似下的方法來(lái)把GRUB寫(xiě)到硬盤(pán)的MBR上;舉個(gè)例子;


[root@localhost ~]# grub 注:運(yùn)行GRUB;
grub> root (hd0,6) 注:比如/boot位于 (hd0,6)分區(qū)上,應(yīng)該這樣
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,6)/boot/grub/stage2
/boot/grub/grub.conf"... succeeded
Done.
grub>quit 注:退出GRUB命令行模式;

如果您不懂,慢慢就會(huì)了,我這里寫(xiě)的只是為了應(yīng)用罷了;如果您要搞懂為什么Linux的存儲(chǔ)設(shè)備表達(dá)上是這樣或者那樣的,還是建議您看看kernel的文檔;可能中文文檔并不能滿(mǎn)足您的需要,最好還是洋文的吧;


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉