亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        exFAT文件系統(tǒng)分析及DBR手動修復

        2018-09-06 10:34:44
        山西電子技術 2018年4期
        關鍵詞:扇區(qū)大寫字節(jié)

        王 赟

        (山西職業(yè)技術學院,山西 太原 030006)

        0 引言

        隨著信息化的不斷發(fā)展,閃存中單個大文件的存儲需求越來越高,F(xiàn)AT32文件系統(tǒng)的閃存很多時候已不能滿足需求,NTFS文件系統(tǒng)則不適用于閃存介質(zhì)(執(zhí)行每一個讀寫操作都需要對介質(zhì)進行多次訪問,對閃存芯片損傷較大)。exFAT(Extended File Allocation Table File System)文件系統(tǒng)的出現(xiàn)有效解決了這一難題,同時exFAT文件系統(tǒng)下數(shù)據(jù)恢復需求也隨之增加,只有深入了解exFAT文件系統(tǒng)結構,才能有效恢復丟失數(shù)據(jù),減少用戶損失。

        1 exFAT文件系統(tǒng)簡介

        1.1 exFAT文件系統(tǒng)結構

        exFAT文件系統(tǒng)是由DBR、FAT表、位圖文件(BITMAP)、大寫文件(UPCASE)、數(shù)據(jù)區(qū)(DATA)組成[1]。結構示意圖如圖1所示。

        DBRFAT表位圖文件大寫文件數(shù)據(jù)區(qū)(包括目錄存放區(qū)以及用戶數(shù)據(jù))

        圖1 EXFAT結構示意圖

        1.2 DBR參數(shù)信息標注圖(如圖2所示)

        下面對這些參數(shù)做詳細的分析。

        1) 跳轉(zhuǎn)指令:固定值。

        2) 銘文標志:EXFAT。微軟將此處設置為EXFAT。

        3) MBR保留:MBR到當前位置的扇區(qū)數(shù)。

        4) 分區(qū)大小:分區(qū)所占用扇區(qū)數(shù)。

        5) FAT表起始扇區(qū):FAT表開始的扇區(qū)號。

        6) FAT表大?。篎AT表所占用扇區(qū)數(shù)。

        7) 首簇起始扇區(qū)號:首簇即第二簇(位圖文件)開始的扇區(qū)號。

        8) 分區(qū)內(nèi)總簇數(shù):分區(qū)內(nèi)一共有多少個簇(也是從二號簇開始計算)。

        9) 根目錄首簇號:根目錄位于第幾簇。

        10) 卷序列號:無意義。

        11) 每扇區(qū)字節(jié)數(shù):2的9次,512。

        12) 每簇扇區(qū)數(shù):2的6次,64。

        圖2 DBR信息標注

        在exFAT文件系統(tǒng)下0-8扇區(qū)都是作用分區(qū),即結尾都寫55 AA結束標志,一旦55AA被破壞,分區(qū)則提示未格式化。

        1.3 FAT表分析

        exFAT文件系統(tǒng)和FAT32有極大的相似性,數(shù)據(jù)都從第二簇開始記錄,也都有FAT表[2]。在FAT32中,有兩個FAT表,用來記錄簇的占用情況。而在exFAT中,只有一個FAT表,并且只有產(chǎn)生碎片文件時,才會在FAT表中記錄[3]。FAT表的位置在DBR中偏移50H-53H位置中指定[4]。在圖2中,F(xiàn)AT表的開始位于2048。FAT表的搜索標志為F8 FF FF 0F。FAT表的第一項記錄了FAT表的開始標志。第二項緊接著就寫了它的結束,用4個FF表示,所以第0簇和第1簇都被占用。數(shù)據(jù)就從第二簇開始記錄了(這個等同于FAT32的FAT表)。第2簇記錄位圖文件可以看出占用了四個簇。第6簇記錄大寫文件字符,占用一個簇。第7簇開始就是用戶存放數(shù)據(jù)的區(qū)域了。

        1.4 簇位圖文件

        1.5 大寫字符文件

        1.6 目錄項分析

        1.6.1 卷標目錄項

        卷標就是分區(qū)的名稱,用戶可以自行命名。exFAT對其管理的方式就是將其放在根目錄下,用Unicode編碼進行存儲。

        1.6.2 位圖文件目錄項

        位圖文件目錄項和卷標目錄項一樣,都占用了32個字節(jié),并且也有自己的搜索特征值81H。位圖文件總是位于第二簇,即首簇。在其目錄項中主要記錄了它的開始位置和大小。

        1.6.3 大寫文件目錄項

        大寫文件的目錄項也是占用了32個字節(jié),在目錄項中也同樣主要記錄開始位置和大小。

        1.6.4 用戶文件的目錄項

        exFAT文件系統(tǒng)中的每個用戶文件都有三個目錄項。也就是我們的85H、C0H、C1H三個屬性。

        2 手動修復exFAT文件系統(tǒng)下被破壞的DBR

        U盤(或者分區(qū))雙擊打開時突然提示格式化,排除物理故障后就是DBR的問題了。修復DBR需要重構DBR的一些關鍵信息。首先去找DBR的備份,exFAT 文件系統(tǒng)中DBR的備份位于12扇區(qū)[3]。如果備份也遭到了破壞,那就需要手動修復被破壞的DBR信息了。首先從別的exFAT分區(qū)復制一個完整的DBR,然后對其關鍵值進行修改(圖3中標注的值就是我們要修改的值),下面我們就其關鍵值的計算方法做具體說明。

        圖3 損壞的DBR

        1) 計算MBR保留:首先確定當前分區(qū)是主分區(qū)還是邏輯分區(qū),主分區(qū)就寫當前DBR的真實位置,如果是邏輯分區(qū)就是相對于他的EBR的位置。我們這里只有一個分區(qū)(主分區(qū)),當前在0扇區(qū)就寫0。

        2) 分區(qū)大小:分區(qū)大小的計算首先要判斷你的硬盤里有多少個分區(qū),有沒有保留扇區(qū),我們這里只有一個分區(qū),而且沒有保留扇區(qū),所以直接跳看他的扇區(qū)總數(shù)。如圖4 。填寫62914560。

        圖4 扇區(qū)總數(shù)

        3) FAT表的開始:向下搜索F8 FF FF FF,偏移位置512=0。如圖5(一般就位于2048扇區(qū))。從FAT表中看出,第二簇是首簇,且位圖文件占用4個簇,大寫文件占用一個簇。

        圖5 FAT表

        4) 簇大小:根據(jù)FAT看出大寫文件占用一個簇,并且下一個文件是根目錄文件,用根目錄的開始扇區(qū)減去大寫文件的開始扇區(qū)就是簇的大小。10560-10496=64 那么簇大小就是64。

        5)首簇起始扇區(qū)號:就是位圖文件開始的扇區(qū)號,我這里給大家提供兩種算法。第一種:搜索特征值,位圖文件開始的值大多為FF FF(存放的數(shù)據(jù)太少就不是FF FF了),可以直接搜索此值。第二種:根據(jù)下一個元文件(大寫文件)推算。大寫文件的搜索值是固定的,00 00 01 00,偏移512=0 。簇大小也算出來了,然后向上推幾個簇。計算為10240扇區(qū)。

        6)總簇數(shù):(扇區(qū)總數(shù)-目錄區(qū)以前的扇區(qū))/ 簇大小(62914560-10240)/ 64 = 982880

        7)根目錄首簇號:從FAT表中看出了根目錄位于第7簇?;蛘咭部梢哉业酱髮懳募傧蛳峦埔粋€簇。

        8)FAT表大?。篎AT表示記錄分區(qū)內(nèi)所有簇占用情況的,每四個字節(jié)為一項??偞財?shù)我們也知道,但是FAT表中還有開始的兩項(F8 FF FF FF FF FF FF FF)也需要加上。然后每個扇區(qū)有128項FAT項,用這個值除以128。(982880+2)/ 128 = 7678.76。但是在exFAT系統(tǒng)中,F(xiàn)AT表的大小都是簇大小的整數(shù)倍,所以不能直接將這個值寫進去。7678.76四舍五入就是7679,7679 / 64 = 119.9 ,近似為120。然后(120+1)*64 = 7744。

        9)將上面計算的值依次填入DBR中相應位置保存如下圖6,分區(qū)可以正常打開。如下圖7。

        圖6 填寫好的DBR

        圖7 分區(qū)正常打開

        由于exFAT分區(qū)的第12個扇區(qū)中有前11個扇區(qū)(DBR及保留扇區(qū))校驗值的存在,一旦被更改即使上述參數(shù)修該正確,仍會因校驗出錯提示格式化,使得Windows無法訪問數(shù)據(jù),只能用winhex或其他數(shù)據(jù)恢復軟件提取數(shù)據(jù)。想要恢復數(shù)據(jù)后能讓Windows直接打開,必須得正確計算并寫入校驗值才行。通過如下方法可以有效計算校驗值:

        UNIT32 BootChecksum(const unsigned char data, int bytes).

        UINT32 checksum = 0;

        for (int i = 0; i < bytes; i++).

        if (i == 106 || i == 107 || i == 112)

        continue;

        checksum = (checksum<< 31) | (checksum>> 1) + data;.

        returnchecksum;.

        設置一個校驗值變量,初始化值為0,然后逐一讀取前11個扇區(qū)的每個字節(jié),跳過106、107、112這三個字節(jié),循環(huán)計算直到第11扇區(qū)結束:校驗值為左移31位與右移1位進行按位或運算,再加上每次讀取到的相應字節(jié)值。按照上述檢驗算法,寫出了校驗腳本,測試完全正確。

        3 總結

        exFAT文件系統(tǒng)中DBR被破壞后就會出現(xiàn)“提示格式化”故障,導致用戶數(shù)據(jù)無法訪問,手動修復DBR是最有效,最完整修復此類問題的方法。

        猜你喜歡
        扇區(qū)大寫字節(jié)
        做一個大寫的“我”
        少先隊活動(2022年4期)2022-06-06 07:20:20
        分階段調(diào)整增加扇區(qū)通行能力策略
        南北橋(2022年2期)2022-05-31 04:28:07
        No.8 字節(jié)跳動將推出獨立出口電商APP
        大寫的厲害:“00后”少年自制火箭成功上天
        小讀者(2021年4期)2021-06-11 05:42:04
        No.10 “字節(jié)跳動手機”要來了?
        “大寫”與“大些”
        U盤故障排除經(jīng)驗談
        簡談MC7字節(jié)碼
        基于貝葉斯估計的短時空域扇區(qū)交通流量預測
        —個大寫的pink 該入手的都來了
        Coco薇(2016年2期)2016-03-22 02:31:03
        精品少妇爆乳无码av无码专区| 国产一区二区三区护士| 久久精品女人av一区二区| 成人午夜福利视频后入| 国产精品成人99一区无码| 69av视频在线| 综合成人亚洲网友偷自拍| 国色天香社区视频在线| 午夜亚洲www湿好爽| 亚洲欧美日韩精品中文乱码| 在线观看女同一区二区| 亚洲精品国产精品乱码视色| 精品国模一区二区三区| 免费 无码 国产在线观看不卡| 国产性感主播一区二区| 在线麻豆精东9制片厂av影现网| 欧美极品少妇无套实战| 国产在线视频国产永久视频| 国产女主播在线免费看| 狠狠躁天天躁无码中文字幕图| 日韩精品无码免费专区网站 | 国产成人自产拍免费视频| 国产丝袜美腿在线播放| 中国丰满人妻videoshd| 国产精品第1页在线观看| 91九色国产在线观看| 日本三级香港三级人妇99| 亚洲熟女乱色一区二区三区| 日韩毛片久久91| 久久精品国产免费一区二区三区| 大地资源在线观看官网第三页 | 国产成年女人毛片80s网站| 亚洲AV日韩AV永久无码电影| 国产成人福利av一区二区三区| 美女视频在线观看亚洲色图 | 高潮毛片无遮挡高清视频播放| 精品久久久久久中文字幕大豆网| 成人特黄特色毛片免费看| 亚洲第一幕一区二区三区在线观看 | 国产乱人伦精品一区二区| 欧洲亚洲色一区二区色99|