<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為什么我的U盤空間變小了:圖解 FAT 文件系統(tǒng)基礎(chǔ)知識(shí)

          共 2502字,需瀏覽 6分鐘

           ·

          2021-12-14 16:11

          作者 |?魚鷹Osprey

          轉(zhuǎn)自?|?魚鷹談單片機(jī)


          FAT 文件系統(tǒng)是什么,當(dāng)你格式化 U 盤之后 U 盤發(fā)生了什么,為什么刪除的文件還可以再恢復(fù)?買的 U 盤明明寫著 16 G,實(shí)際卻只有15 G,這里隱藏了什么事實(shí)?

          FAT 文件系統(tǒng)隨著發(fā)展,經(jīng)歷了多個(gè)版本,從 FAT12 到 FAT16 再到 FAT32,exFAT,每一個(gè)版本的迭代都是容量的巨大提升……

          文件系統(tǒng)整體結(jié)構(gòu)

          我們看看當(dāng)你的 U 盤(16 G,作者親自試驗(yàn)并圖解)格式化FAT32 格式后,U盤發(fā)生了什么:
          這里將 U盤分成了三個(gè)分區(qū),類似你將電腦的硬盤分成C盤、D盤、E盤,這里的新加卷、分區(qū)2、分區(qū)3 就是目前 U盤上建立的三個(gè)分區(qū),但事實(shí)上,我們一般不會(huì)將 U 盤分成三個(gè)分區(qū),一個(gè)就夠用了,只是作者想告訴你,這在 U 盤也可以做到。

          MBR

          在 FAT 文件系統(tǒng)中, 0 扇區(qū)必定是 MBR,這個(gè)扇區(qū)包含了磁盤(U 盤)很多信息,比如整個(gè) U 盤的大小(容量),即扇區(qū)總數(shù),各個(gè)分區(qū)的起始扇區(qū)、分區(qū)大小,引導(dǎo)代碼等。
          前面 446 個(gè)字節(jié)和主引導(dǎo)代碼有關(guān),因?yàn)樵趩纹瑱C(jī)系統(tǒng)中一般不會(huì)使用這種引導(dǎo)方式引導(dǎo)操作系統(tǒng),所以按下不表。
          我們主要關(guān)注后面的分區(qū)信息和一些標(biāo)志:
          分區(qū)表項(xiàng)具體含義可看該圖:
          這里有一個(gè)標(biāo)志,即扇區(qū)最后的兩個(gè)字節(jié),一般是 55 AA(0xAA55),如果說你的扇區(qū)里面沒有這個(gè)標(biāo)志,那么系統(tǒng)就不認(rèn)為這是一個(gè) FAT 文件系統(tǒng),更不用說進(jìn)行接下來的其他驗(yàn)證操作了。
          我們從上圖可以看到,一個(gè) MBR 可以記錄四個(gè)分區(qū)信息,但是你會(huì)發(fā)現(xiàn)你的 U盤可以分成超過四個(gè)分區(qū),那么這又是怎么回事?
          原因在于,可以使用邏輯分區(qū)。即可設(shè)置三個(gè)主分區(qū),另一個(gè)分區(qū)設(shè)置為邏輯分區(qū),這個(gè)邏輯分區(qū)里面可以分成很多很多分區(qū),這就是它為什么能創(chuàng)建超過四個(gè)分區(qū)的原因。
          當(dāng)然,我們目前也沒必要深入了解邏輯分區(qū)是怎么一回事,先把基本分區(qū)搞定再說。

          MBR

          說完 MBR,我們再說一個(gè)和 MBR 很像的一個(gè)扇區(qū),DBR。
          從上圖我們可以看到,每一個(gè)分區(qū)的第一個(gè)扇區(qū)必定是 DBR,這是做什么用的?
          我們知道 MBR 記錄的分區(qū)信息十分有限,只有分區(qū)的開始扇區(qū)、分區(qū)的大小、分區(qū)類型、引導(dǎo)標(biāo)志(表示該分區(qū)是否可被引導(dǎo),通俗的話說,就是這個(gè)分區(qū)是否存在操作系統(tǒng))等有限信息,我們不知道這個(gè)分區(qū)叫什么名字,文件系統(tǒng)的版本號(hào)是多少等。所以我們需要一個(gè)扇區(qū)保存這些信息。這就是 DBR的作用。
          如果說MBR保存的是整個(gè)磁盤的基本信息,那么 DBR 保存的就是當(dāng)前分區(qū)的基本信息。
          我們可以看到 DBR 的扇區(qū)結(jié)尾也是一樣的結(jié)束標(biāo)志,所以它們是比較相似的,在有些資料中,如果不區(qū)分它們的話,很容易讓人迷惑。

          隱藏扇區(qū)

          細(xì)看這張圖,你會(huì)發(fā)現(xiàn)其中存在隱藏扇區(qū)隱藏扇區(qū)指的是扇區(qū)0到DBR扇區(qū)之間的空間。換句話說,從整個(gè)磁盤開始到分區(qū)部分的扇區(qū)稱之為隱藏扇區(qū)(每一個(gè)分區(qū)都有自己的隱藏扇區(qū)),因?yàn)檫@些扇區(qū)對于分區(qū)而言是不可見的,也不可以被分區(qū)內(nèi)的文件系統(tǒng)所管理。
          這部分扇區(qū)數(shù)保存在 DBR 中。
          當(dāng)然,除了這部分扇區(qū)不被當(dāng)前分區(qū)管理外,其他分區(qū)也不可以被當(dāng)前分區(qū)管理,也可說其他分區(qū)也對當(dāng)前分區(qū)隱藏了,但不被 DBR 所記錄。
          從這個(gè)角度說,每一個(gè)分區(qū)都是一個(gè)獨(dú)立的文件系統(tǒng),比如一個(gè) U 盤可以同時(shí)創(chuàng)建一個(gè) FAT32 文件系統(tǒng)分區(qū),同時(shí)還可以創(chuàng)建一個(gè) FAT16 文件系統(tǒng)分區(qū),他們之間并不會(huì)相互影響。
          同時(shí),格式化某個(gè)分區(qū)不會(huì)影響其他分區(qū)的正常使用,比如 C盤格式化或重裝系統(tǒng)并不會(huì)影響D盤的數(shù)據(jù),這就是為什么說要分區(qū)的原因了,否則一個(gè)硬盤只分一個(gè)區(qū),想重裝系統(tǒng)的話,很多數(shù)據(jù)都會(huì)丟失,包括桌面文件。
          這就是為什么最好把數(shù)據(jù)放在除 C 盤外的區(qū)域了,當(dāng)然為了方便,你也可以使用快捷方式,將文件指向其他盤,而將快捷方式放桌面。

          保留扇區(qū)

          在每個(gè)分區(qū)之內(nèi),我們可以看到有部分扇區(qū)被文件系統(tǒng)認(rèn)為是保留扇區(qū),而這些所謂的保留扇區(qū)才是實(shí)現(xiàn)FAT文件系統(tǒng)的關(guān)鍵。
          (這里為了圖解清晰,并沒有按照比例圖解,實(shí)際上,數(shù)據(jù)區(qū)比保留區(qū)空間大的多)
          這里有 DBR、FSINFO、FAT,還有為了安全考慮,存有他們的備份信息(如果文件系統(tǒng)損壞,可以嘗試使用備份恢復(fù)他們)。
          但我們還可以從上面知道,除了這些,還有一部分是真正的保留扇區(qū),即上面的空白部分,這些保留扇區(qū)大小不是固定的,但確實(shí)占用了空間,而你卻無法使用它們。
          文章開頭,有個(gè)疑問,為什么明明買的是 16 G U盤,格式化后,系統(tǒng)卻提示我們只有 15 G,這少了 1 G 空間去哪了?
          最大頭,我相信大家都知道了,就是 1024 和 1000 進(jìn)制的區(qū)別了,商家說的 16 G 是按照1000 為單位的,而系統(tǒng)按照 1024 計(jì)算,當(dāng)然不一致了。
          還有就是一般 MBR 之后會(huì)有一些保留分區(qū)存在(如果磁盤空間有限,可以不需要)。
          另外就是文件系統(tǒng)本身占用的空間了(即上面的保留扇區(qū)),如果有多個(gè)分區(qū),那么顯示的只有當(dāng)前分區(qū)的大小,其他分區(qū)大小是無法查看的。
          而如果是單個(gè)分區(qū),那么顯示的大小只是數(shù)據(jù)區(qū)大小而已,保留區(qū)并不在顯示空間內(nèi),你也不能直接通過文件的方式操作它。
          還有就是數(shù)據(jù)區(qū)的空間使用來進(jìn)行管理的,不滿一簇大小的扇區(qū)空間,將直接丟棄不被文件系統(tǒng)所使用,這也會(huì)損失一點(diǎn)空間。
          而有些分區(qū)為了效率,會(huì)將分區(qū)進(jìn)行對齊處理,未對齊部分也不能使用。
          種種原因,導(dǎo)致顯示的空間比實(shí)際要小,不過對于大容量的存儲(chǔ)介質(zhì)來說,這點(diǎn)損失根本不算什么,而且在后面你會(huì)發(fā)現(xiàn),為了高效管理空間,還有其他損失。

          ------------?END?------------



          推薦閱讀:

          專輯|Linux文章匯總
          專輯|程序人生
          專輯|C語言
          我的知識(shí)小密圈

          關(guān)注公眾號(hào),后臺(tái)回復(fù)「1024」獲取學(xué)習(xí)資料網(wǎng)盤鏈接。

          歡迎點(diǎn)贊,關(guān)注,轉(zhuǎn)發(fā),在看,您的每一次鼓勵(lì),我都將銘記于心~

          瀏覽 108
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲啪啪| 免费在线无毒av毛片久 | 九九久视频 | 三级片做爱视频 | 久久久久久av |