<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jasmine214--love

    只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    linux 文件系統1

    Posted on 2010-12-30 14:44 幻海藍夢 閱讀(185) 評論(0)  編輯  收藏 所屬分類: Linux
    作者:北南南北
    來自:LinuxSir.Org
    摘要: 硬盤和硬盤分區在Linux都表示為設備,按我們通俗的說法來說,就是怎么來表示或描述硬盤和或硬盤分區,但這種描述應該是科學和具體的;比如IDE硬 盤,在Linux 可以表示為 /dev/hda、/dev/hdb ... ;SCSI 接口的硬盤、SATA接口的硬盤表示為/dev/sda、/dev/sdb ... ... ;而IDE接口的硬盤/dev/hda,也可以表示為hd0 ,而 SCSI 接口的如果是 /dev/sda ,另一種表示方法是sd0; 理解兩種表示方法有何用?至少GRUB引導管理器用到這些知識;另外我們mount (掛載)文件系統(分區),也會用到這些知識; 目錄索引 一、對于IDE接口的硬盤的兩種表示方法; 二、關于SATA和SCSI接口的硬盤的兩種表示方法; 三、usb及1394接口的存儲設備和軟驅設備; 四、關于存儲設備的不同的表示方法的應用; 五、關于本文;
    六、參考文檔;
    六、相關文檔;
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    正文
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    一、對于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來確認具體位置; 本標題中說的是另外一種表示方法 (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/fd0設備這是一般情況,另一種表示為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中各有用途;明白了吧; 比如/boot位于同一個硬盤分區,就可以用類似下的方法來把GRUB寫到硬盤的MBR上;舉個例子;
    [root@localhost ~]# grub  注:運行GRUB;

    grub> root (hd0,6)  注:比如/boot位于 (hd0,6)分區上,應該這樣
    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命令行模式;

    如果您不懂,慢慢就會了,我這里寫的只是為了應用罷了;如果您要搞懂為什么Linux的存儲設備表達上是這樣或者那樣的,還是建議您看看kernel的文檔;可能中文文檔并不能滿足您的需要,最好還是洋文的吧;
    五、關于本文;
    這篇關于存儲設備在Linux中有兩種不同的表達方法,可能說的有點復雜化了;用pandonny兄的話來說:“本來是理論性的概念的東西,寫得太理論性 的東西新手反而看不懂,還是描述性的往往更容易被新手理解”。 這篇文檔主要是把抽象的概念具體化,我不知道初學的弟兄是否能看得懂,至少我已經盡全力了,對我來說已經是“北南技窮”。關于理論文面的文檔就是翻譯過來 也是極為難翻譯的,更不要說簡單的描述了;初學Linux的弟兄,慢慢實踐著來吧;實踐是檢驗真理的唯一標準,相信這一真理絕對沒錯?。∏f不要把我所說 過的是真理,真理在你手中。。。。。。因為您是實踐者; 本來寫GRUB入門文檔了,結果發現不寫一寫存儲設備的表示方法不太行,所以被迫寫了這篇文章,雖然勉強,但還是寫出來了;
    六、參考文檔;

    《GNU GRUB 手冊和FAQ》
    七、相關文檔;
    《合理規劃您的硬盤分區》
    《系統引導過程及硬盤分區結構論述》
    《Linux 查看磁盤分區、文件系統、使用情況的命令和相關工具介紹》
    《實例解說 fdisk 使用方法》
    《在Fedora core 4.0 加載NTFS和FAT32分區詳述》
    《Fedora Core 4.0 HAL配置即插即用移動存儲(USB及1394)的實踐》
    原文; http://www.linuxsir.org/main/?q=node/127
    主站蜘蛛池模板: 亚洲精品永久在线观看| 色播亚洲视频在线观看| 亚洲日本成本人观看| 97性无码区免费| 亚洲日产2021三区在线| 国产福利视精品永久免费| 亚洲国产高清人在线| 69免费视频大片| 亚洲香蕉久久一区二区| 在线观看免费人成视频色9| 亚洲卡一卡二卡乱码新区| 亚洲一区二区视频在线观看| 理论亚洲区美一区二区三区| 国产a级特黄的片子视频免费| 白白色免费在线视频| 国产成人亚洲精品91专区手机| 三级黄色在线免费观看| 亚洲国产老鸭窝一区二区三区| 182tv免费观看在线视频| 亚洲中文字幕日本无线码| 国产麻豆免费观看91| 成年大片免费高清在线看黄| 亚洲熟妇无码八AV在线播放| 久久久国产精品福利免费| 亚洲午夜电影一区二区三区| 最近中文字幕无免费视频| 免费一级做a爰片久久毛片潮| 中国亚洲女人69内射少妇| 亚洲一级毛片免费看| 亚洲另类自拍丝袜第五页| 伊人久久综在合线亚洲91| 1000部拍拍拍18勿入免费视频下载 | 亚洲激情在线视频| 国产免费资源高清小视频在线观看| 亚洲精品无码午夜福利中文字幕| 亚洲av日韩av永久无码电影| 国产日产亚洲系列| 2021免费日韩视频网| 在线播放免费人成视频网站| 亚洲成人午夜在线| 亚洲va久久久噜噜噜久久天堂|