• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種快速拷貝數(shù)據到FAT分區(qū)的方法

      2017-04-15 23:21:18福州瑞芯微電子股份有限公司
      電子世界 2017年11期
      關鍵詞:鏡像文件拷貝磁盤

      福州瑞芯微電子股份有限公司 劉 翊

      一種快速拷貝數(shù)據到FAT分區(qū)的方法

      福州瑞芯微電子股份有限公司 劉 翊

      本方案先將拷貝數(shù)據制作成最小FAT32分區(qū)鏡像文件(最小指剛好存放下拷貝數(shù)據,沒有冗余空間)。接著在寫入鏡像文件前獲取實際分區(qū)容量,根據獲取到的分區(qū)容量調整鏡像文件中的FAT32數(shù)據,然后按FAT32分區(qū)的組織順序(FAT32分區(qū)由保留區(qū)、FAT1區(qū)、FAT2區(qū)和數(shù)據區(qū)組成)依次將鏡像文件中的保留區(qū)、FAT1區(qū)、FAT2區(qū)和數(shù)據區(qū)內容寫入到分區(qū)。此方法的寫入過程是直接調用磁盤驅動的扇區(qū)讀寫接口,去掉了文件系統(tǒng)層的開銷。提前制作好FAT32鏡像可以省去拷貝前格式化分區(qū)的時間,而分區(qū)容量不同帶來的修改開銷很少。如果寫入的設備有自己的驅動程序并提供扇區(qū)的讀寫接口,那么也可以不通過標準磁盤讀寫接口進行寫入,解決一臺PC最多同時存在26個盤符的限制。

      快速拷貝;Fat32;預燒錄

      1 引言

      目前,拷貝數(shù)據到FAT32分區(qū)的方法主要包括如下步驟:首先將設備與電腦相連接,并掛載為磁盤;而后通過windows提供的格式化功能將磁盤格式化為FAT32分區(qū)格式;進而再將數(shù)據拷貝至FAT32分區(qū)中。然而,這種方法卻存在著諸多弊端:首先,數(shù)據拷貝至分區(qū)要調用FAT32文件系統(tǒng)接口,這會增加部分系統(tǒng)資源和時間開銷;其次,將磁盤格式化為FAT32分區(qū)格式時間開銷大,分區(qū)容量越大,所花費的時間越長,影響寫入效率;再次,由于上述方法需要依賴于磁盤,而Windows本身最多支持26個盤符,也就是說,最多只允許26臺設備同時進行寫入操作。

      綜上所述,如何能夠快速地將數(shù)據寫入至FAT32分區(qū)中,且使得燒錄過程不受待磁盤數(shù)量的限制,進一步提升寫入數(shù)據的效率,滿足工業(yè)化生產的需求,是一個亟需解決的問題。

      2 方案總體設計與實現(xiàn)

      2.1 具體實施步驟

      1)通過創(chuàng)建FAT32鏡像工具,將要拷貝的數(shù)據制作成最小FAT32鏡像文件,鏡像文件包含F(xiàn)AT32分區(qū)信息和拷貝數(shù)據。

      2)連接設備,寫入數(shù)據前獲取設備的分區(qū)容量,由于鏡像文件不是按真實分區(qū)容量制作,所以在將鏡像文件寫入到分區(qū)前,需要根據真實的分區(qū)容量來修改鏡像文件的FAT32分區(qū)數(shù)據。

      3)提取鏡像文件中的保留區(qū)數(shù)據,保留區(qū)數(shù)據位于FAT32鏡像文件的前32個扇區(qū)。

      4)根據真實分區(qū)容量重新計算總扇區(qū)數(shù)和FAT扇區(qū)數(shù),然后更新保留區(qū)中DBR和備份DBR數(shù)據。

      5)寫入保留區(qū)數(shù)據,通過調用磁盤驅動或者設備驅動的寫扇區(qū)接口,將修改后的保留區(qū)數(shù)據寫入到分區(qū)的LBA0位置。

      6)提取鏡像文件中的FAT區(qū)數(shù)據,FAT區(qū)保存著所有文件的簇鏈信息,它緊接在保留區(qū)數(shù)據后面。

      7)根據新的FAT扇區(qū)數(shù),擴展FAT分區(qū)數(shù)據,擴展FAT過程是申請一個新的FAT扇區(qū)數(shù)*512字節(jié)的空間并初始化為全0,拷貝原始的FAT數(shù)據到新申請的空間。

      8)寫入FAT分區(qū)數(shù)據到分區(qū)LBA32位置。

      9)提取鏡像文件中的數(shù)據區(qū)數(shù)據,數(shù)據區(qū)是存放拷貝內容的地方,前面的保留區(qū)、FAT分區(qū)都屬于FAT32文件系統(tǒng)信息。寫入到FAT分區(qū)結束的位置。

      2.2 具體實施說明

      在本實施方式中,所述FAT32分區(qū)包括保留區(qū),F(xiàn)AT區(qū)和數(shù)據區(qū),則所述FAT32分區(qū)格式的鏡像文件包括保留區(qū)數(shù)據,F(xiàn)AT區(qū)數(shù)據以及數(shù)據區(qū)數(shù)據。

      FAT32分區(qū)格式中,保留區(qū)數(shù)據位于FAT32分區(qū)格式的鏡像文件的前32個扇區(qū),包括DBR和備份DBR,DBR(DOS BOOT RECORD,DOS操作系統(tǒng)引導記錄)通常位于扇區(qū)0的位置,包括兩部分內容:DOS引導程序和BPB(Bios Parameter Block ,BIOS參數(shù)塊)。其中DOS引導程序用于完成DOS系統(tǒng)文件的定位與裝載,而BPB用于存儲分區(qū)的磁盤信息,引導程序或設備驅動程序根據BPB中存儲的磁盤信息將磁盤邏輯地址轉換成物理地址。

      FAT區(qū)數(shù)據中包括主文件分配表及其備份,所述主文件分配表用于存儲磁盤數(shù)據鏈接關系的數(shù)據結構。保留區(qū)、FAT區(qū)所存儲的為FAT32分區(qū)文件系統(tǒng)信息,數(shù)據區(qū)用于存儲待拷貝的數(shù)據。

      由于鏡像文件是按拷貝數(shù)據的大小生成的,因而需要按分區(qū)真實容量對鏡像文件的內容進行調整,所述對鏡像文件的內容進行調整包括:根據所獲取的FAT32分區(qū)真實容量,重新計算調整后的FAT32分區(qū)格式鏡像文件的總扇區(qū)數(shù)以及FAT區(qū)的扇區(qū)數(shù),并修改FAT32分區(qū)格式鏡像文件的保留區(qū)數(shù)據中的DBR和備份DBR的總扇區(qū)數(shù),以及FAT區(qū)的扇區(qū)數(shù)的值。在本實施方式中,可以用如下公式完成對調整后的FAT32分區(qū)格式的鏡像文件的總扇區(qū)數(shù)以及FAT區(qū)的扇區(qū)數(shù)的計算:

      n_vol=n_disk/512

      tmpValue = n_vol - 32;

      tmpValue2 = ((256 * nSecPerCluster) + 2) >> 1;

      n_fat = (tmpValue + (tmpValue2 - 1)) / tmpValue2;

      其中,n_vol表示鏡像文件的總扇區(qū)數(shù),n_fat表示鏡像文件的FAT區(qū)的扇區(qū)數(shù),n_disk表示分區(qū)容量,以字節(jié)為單位,nSecPer-Cluster表示每個簇占用的扇區(qū)數(shù),tmpValue和tmpValue2表示計算時的臨時文件。在本實施方式中,F(xiàn)AT區(qū)包括FAT1區(qū)和FAT2區(qū),則所述方法還包括步驟:根據計算得出的調整后的FAT32分區(qū)格式的鏡像文件的的FAT區(qū)的扇區(qū)數(shù),對FAT1區(qū)和FAT2區(qū)數(shù)據進行修改。例如原有的鏡像文件的FAT1區(qū)大小為4M,而所獲取的FAT分區(qū)大小為4G,則根據上述公式所計算得到的調整后的FAT1區(qū)大小為12M。也就是說,需要對原有的FAT1區(qū)大小進行擴展,增加8M數(shù)據以適應FAT32分區(qū)存儲容量的需要,為減少擴展FAT1區(qū)所花費的時間,可以在原有FAT1區(qū)所在存儲位置的末尾進行擴展,在本實施例中,即將需要擴展的8M數(shù)據添加于原有FAT1區(qū)所在存儲位置的末尾。優(yōu)選的,擴展FAT1區(qū)過程如下:首先,根據計算得出的FAT1分區(qū)的扇區(qū)數(shù)申請新的一塊存儲空間,所述存儲空間大小為計算得出的FAT1分區(qū)的扇區(qū)數(shù)*512字節(jié),此空間即為擴展后的FAT1分區(qū)大??;而后將所述存儲空間內容初始化為0,并拷貝擴展前的FAT1區(qū)數(shù)據至所述存儲空間。FAT2分區(qū)的調整與FAT1相同,F(xiàn)AT1區(qū)與FAT2區(qū)數(shù)據修改完成后,就可以對其進行燒錄。

      3 結論

      將拷貝數(shù)據的操作替換為寫入扇區(qū),不僅節(jié)約文件系統(tǒng)層的開銷,且無需在拷貝前對分區(qū)進行格式化,大大縮短拷貝過程所花費的時間,提高了效率。此外,由于所述方法并不依賴于Windows系統(tǒng)磁盤接口來袖,因而只要設備驅動程序有讀寫扇區(qū)的接口,即可使拷貝操作不受26個磁盤限制,從而大大提高并發(fā)度,滿足了規(guī)模化生產的需要。

      [1]張帆,史彩成.Windows驅動開發(fā)技術詳解[M].電子工業(yè)出版社,2008.

      [2]Microsoft.Fat32 File system specification[S].2000,12.

      猜你喜歡
      鏡像文件拷貝磁盤
      解決Windows磁盤簽名沖突
      電腦愛好者(2019年2期)2019-10-30 03:45:31
      修改磁盤屬性
      唐氏綜合征是因為“拷貝”走樣了
      沒光驅不要緊 裝個免費虛擬的
      磁盤組群組及iSCSI Target設置
      用RamOS降低公用機的維護工作量
      創(chuàng)建VSAN群集
      Win7升級Win10教程
      電腦迷(2015年9期)2015-05-30 22:08:35
      小小拷貝工.最快Windows拷貝工具
      文件拷貝誰最“給力”
      舞钢市| 阿克苏市| 武平县| 紫金县| 同仁县| 西畴县| 普兰县| 拉萨市| 清水县| 辉南县| 手游| 宝兴县| 信丰县| 忻州市| 兴化市| 彭水| 巴塘县| 宽城| 禹州市| 苍溪县| 勐海县| 岚皋县| 永昌县| 福海县| 特克斯县| 胶南市| 黎平县| 霍州市| 绥宁县| 宁强县| 红桥区| 遂溪县| 合作市| 武乡县| 汶上县| 忻城县| 开远市| 九江县| 常德市| 五峰| 邵阳县|