海闊天空

          I'm on my way!
          隨筆 - 17, 文章 - 69, 評論 - 21, 引用 - 0
          數據加載中……

          硬盤 簇

          文 件系統是操作系統與驅動器之間的接口,當操作系統請求從硬盤里讀取一個文件時,會請求相應的文件系統(FAT 16/32/NTFS)打開文件。扇區是磁盤最小的物理存儲單元,但由于操作系統無法對數目眾多的扇區進行尋址,所以操作系統就將相鄰的扇區組合在一起, 形成一個簇,然后再對簇進行管理。每個簇可以包括2、4、8、16、32或64個扇區。顯然,簇是操作系統所使用的邏輯概念,而非磁盤的物理特性。

          為了更好地管理磁盤空間和更高效地從硬盤讀取數據,操作系統規定一個簇中只能放置一個文件的內容,因此文件所占用的空間,只能是簇的整數倍;而如果文件實 際大小小于一簇,它也要占一簇的空間。所以,一般情況下文件所占空間要略大于文件的實際大小,只有在少數情況下,即文件的實際大小恰好是簇的整數倍時,文 件的實際大小才會與所占空間完全一致。

          文 件系統是操作系統與驅動器之間的接口,當操作系統請求從硬盤里讀取一個文件時,會請求相應的文件系統(FAT 16/32/NTFS)打開文件。扇區是磁盤最小的物理存儲單元,但由于操作系統無法對數目眾多的扇區進行尋址,所以操作系統就將相鄰的扇區組合在一起, 形成一個簇,然后再對簇進行管理。每個簇可以包括2、4、8、16、32或64個扇區。顯然,簇是操作系統所使用的邏輯概念,而非磁盤的物理特性。

          為了更好地管理磁盤空間和更高效地從硬盤讀取數據,操作系統規定一個簇中只能放置一個文件的內容,因此文件所占用的空間,只能是簇的整數倍;而如果文件實 際大小小于一簇,它也要占一簇的空間。所以,一般情況下文件所占空間要略大于文件的實際大小,只有在少數情況下,即文件的實際大小恰好是簇的整數倍時,文 件的實際大小才會與所占空間完全一致。

          簇是指可分配的用來保存文件的最小磁盤空間,計算機中所有的信息都保存在簇中。簇越小,保存信息的效率就越高。在FAT16文件系統中,每個分區最多有65525個簇,簇大小默認值為32KB;在FAT32文件系統中使用的簇比FAT16小,默認為4KB。
          那么在NTFS文件系統中磁盤簇的大小設為多少才合適呢?下面看看大家的討論:

          一、在NTFS文件系統中如何設置簇大小

          默認的情況下,在格式化的時候如果沒有指定簇的大小,那么系統會根據分區的大小選擇默認的簇值。其實在NTFS文件系統中格式化的時候,可以在 “Format”命令后面添加“/a:UnitSize ”參數來指定簇的大小,UnitSize表示簇大小的值,NTFS支持512/1024/2048/4096/8192/16K/32K/64K。比如 “format d:/fs:NTFS /a:2048”,表示將D盤用NTFS文件系統格式化,簇的值為2048B。

          二、使用默認的設置

          對于初學者來說,其實沒有必要去手工設置簇的大小,因為一般情況下使用默認的設置就可以了。比如在用NTFS文件系統格式化分區的時候,系統會根據分區的大小自動選擇默認的簇大小,比如4KB。

          三、簇的大小因硬盤分區大小而異

          在NTFS文件系統中,當分區的大小在2GB以下時,簇的大小應該比相應的FAT32簇小,即小于4KB;當分區的大小在2GB以上時(2GB~2TB),簇的大小應該都為4KB。

          四、使用壓縮功能對簇大小的要求

          在Windows 2000/XP系統中,為了使用壓縮功能來節省磁盤空間,必須遵循兩個條件:

          1.磁盤分區必須是NTFS文件系統;
          2.分區中簇的大小不得超過4KB(默認簇的大小,即4096字節)。

          五、簇的大小的影響

          在NTFS文件系統中,簇的大小會影響到磁盤文件的排列,設置適當的簇大小可以減少磁盤空間丟失和分區上碎片的數量。如果簇設置過大,會影響到磁盤存儲效率;反之如果設置過小,雖然會提高利用效率,但是會產生大量磁盤碎片。
          硬 盤是計算機中極為重要的存儲設備,計算機工作所用到的全部文件系統和數據資料的絕大多數都存儲在硬盤中。硬盤是產生計算機軟故障最主要的地方,常見的硬盤 軟故障有:硬盤重要參數及文件丟失,電腦不能起動;碎片過多,電腦運行速度變慢;硬盤分區后丟失容量等。對付硬盤軟故障,只要我們肯動腦并利用一些硬盤維 護工具,發揮一不怕苦、二不怕(硬盤)死的革命精神,外加膽大心細,當然還要掌握硬盤基本常識,這樣就可以輕松搞定(說的容易、做起來可不簡單 :( )。因此,我收集了大量的資料整理匯編了“硬盤軟故障完全修復手冊”,希望能在與大家一起學習的過程中掌握硬盤常見故障的排除方法,做到“自已動手、豐衣 足食”,凡事不求人的目的。
          大家知道,一個硬盤要能存放文件,必須經過硬盤分區,格式化等操作步驟,因為經過這些步驟之后,在硬盤中就建立起了主分區,引導分區,確定了FAT16或 FAT32文件表。主分區的作用是保存硬盤中各邏輯分區在盤片上起始位置和終止位置及分區的容量大小。引導分區的作用是在固定的位置存放有操作系統文件, 在電腦送電或復位時,由BIOS程序將處于固定位置的系統文件裝入內存,再將電腦控制權交給系統文件人而完成引導過程。擴展分區作為一個主分區占用了主分 區表的一個表項。在擴展分區起始位置所指示的扇區(即該分區的第一個扇區)中,包含有第一個邏輯分區表,同樣從1BEH字節開始,每個分區表項占用16個 字節。邏輯分區表一般包含兩個分區表項,一個指向某邏輯分區,另一個則指向下一個擴展分區。下一個擴展分區的首扇區又包含了一個邏輯分區表,
          這樣以此類推,擴展分區中就可以包含多個邏輯分區。下面我們就來學習一下硬盤數據的基本結構。
          ★ 硬盤的數據結構 ★
          ① MBR(Main Boot Record 主引導記錄區)
          MBR位于整個硬盤的0磁道0柱面1扇區,包括硬盤引導程序和分區表。在總共512字節的硬盤主引導扇區中,MBR只占用了其中的446個字節,其最后兩 個字節“55 AA”是分區的結束標志。另外的64個字節交給了DPT(Disk Partition Table 硬盤分區表),從1BEH字節開始,共占用64個字節,包含四個分區表項。每個分區表項的長度為16個字節,它包含一個分區的引導標志、系統標志、起始和 結尾的柱面號、扇區號、磁頭號以及本分區前面的扇區數和本分區所占用的扇區數。其中“引導標志”表明此分區是否可引導,即是否活動分區。當引導標志為 “80”時,此分區為活動分區;“系統標志”決定了該分區的類型,如“06”為FAT16分區,“0B”為FAT32分區,“07”為NTFS分 區,“63”為UNIX分區,等;起始和結尾的柱面號、扇區號、磁頭號指明了該分區的起始和終止位置。
          我們假設一個硬盤分區表從1BEH字節開始的16個字節為 80 01 01 00 06 0D 68 6D 28 00 00 00 78 20 03 00
          硬盤分區表項的16個字節分配如下:
          第1字節:是一個分區的激活標志,表示系統可引導。如是0則表示非活動分區。
          第2字節:該分區起始磁頭(HEAD)號
          第3字節:該分區起始扇區(Sector)號
          第4字節:該分區起始的柱面(Cylinder)號
          第5字節:該分區系統類型標志
          第6—8字節:該分區終止磁頭(HEAD)號、分區結束的扇區號、分區結束的柱面號
          第9-12字節:該分區首扇區的相對扇區號
          第13-16字節:該分區占用的扇區總數
          以上參數我們可以用NU 8.0中DISKEDIT工具軟件可輕松獲取,其功能非常強大,但應用不當會有很大錯誤,請各位注意使用方法。操作步驟如下:
          以一臺硬盤為270 MB,分為C盤(100 MB)和D盤(170 MB)的機子(老掉牙了 ^_^)為例,在純DOS下啟動DISKEDIT → 在對象菜單(Object)上選中驅動器(Drive)和物理磁盤選項后確定 → 在對象菜單(Object)上選中分區表(Partition Table) → 在顯示菜單(View)中選擇十六進制(Hex)
          以下數據為主分區信息:
          000001B0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 80 01
          000001C0: 01 00 06 0D 68 6D 28 00 - 00 00 78 20 03 00 00 00
          000001D0: 41 6E 05 0D E8 AE A0 20 - 03 00 30 EE 04 00 00 00
          000001E0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
          000001F0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA
          ② DBR(Dos Boot Record 操作系統引導記錄區)
          它通常位于硬盤的0磁道1柱面1扇區,是操作系統可直接訪問的第一個扇區,它包括一個引導程序和一個被稱為BPB(BIOS Parameter Block)的本分區參數記錄表。引導程序的主要任務是當MBR將系統控制權交給它時,判斷本分區跟目錄前兩個文件是不是操作系統的引導文件(以DOS為 例,即是Io.sys和Msodos.sys)。如果確定存在,就把它們讀入內存,并把控制權交給該文件。BPB參數塊記錄著本分區的起始扇區、結束扇 區、文件存儲格式、硬盤介質描述符、根目錄大小、FAT個數、分配單元的大小等重要參數。DBR是由高級格式化程序(即Format等程序)所產生的。
          ③ FAT(File Allocation Table 文件分配表)
          FAT是DOS、Windows 9X系統的文件尋址格式,位于DBR之后。
          在解釋文件分配表的概念的時候,我們有必要談談簇(Cluster)的概念。文件占用磁盤空間,基本單位不是字節而是簇。一般情況下,軟盤每簇是1個扇區,硬盤每簇的扇區數與硬盤的總容量大小有關,可能是4、8、16、32、64……
          同一個文件的數據并不一定完整地存放在磁盤的一個連續的區域內,而往往會分成若干段,像一條鏈子一樣存放。這種存儲方式稱為文件的鏈式存儲。由于硬盤上保 存著段與段之間的連接信息(即FAT),操作系統在讀取文件時,總是能夠準確地找到各段的位置并正確讀出。
          為了實現文件的鏈式存儲,硬盤上必須準確地記錄哪些簇已經被文件占用,還必須為每個已經占用的簇指明存儲后繼內容的下一個簇的簇號。對一個文件的最后一 簇,則要指明本簇無后繼簇。這些都是由FAT表來保存的,表中有很多表項,每項記錄一個簇的信息。由于FAT對于文件管理的重要性,所以為了安全起 見,FAT有一個備份,即在原FAT的后面再建一個同樣的FAT。初形成的FAT中所有項都標明為“未占用”,但如果磁盤有局部損壞,那么格式化程序會檢 測出損壞的簇,在相應的項中標為“壞簇”,以后存文件時就不會再使用這個簇了。FAT的項數與硬盤上的總簇數相當,每一項占用的字節數也要與總簇數相適 應,因為其中需要存放簇號。FAT的格式有多種,最為常見的是FAT16和FAT32。
          ④ DIR (Directory 根目錄區)
          DIR位于第二個FAT表之后,記錄著根目錄下每個文件(目錄)的起始單元,文件的屬性等。定位文件位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在硬盤中的具體位置和大小了。
          ⑤ DATA(數據區)
          數據區是真正意義上的數據存儲的地方,位于DIR區之后,占據硬盤的大部分空間。當將數據復制到硬盤時,數據就存放在DATA區。

          posted on 2009-08-08 22:31 石頭@ 閱讀(1431) 評論(0)  編輯  收藏 所屬分類: 基礎技術

          主站蜘蛛池模板: 永昌县| 海宁市| 金乡县| 孟村| 布尔津县| 彭水| 惠来县| 饶阳县| 肃宁县| 都江堰市| 余江县| 龙里县| 普陀区| 电白县| 卢湾区| 繁昌县| 彰武县| 富民县| 潼关县| 景宁| 石城县| 宁阳县| 宿迁市| 福安市| 孟津县| 绩溪县| 锡林郭勒盟| 玉山县| 横峰县| 轮台县| 大竹县| 偃师市| 和顺县| 剑川县| 滕州市| 涿鹿县| 东至县| 庆阳市| 万荣县| 大丰市| 大田县|