RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [資訊電機] [問題]請問有詳細介紹FAT儲存格式的書籍嗎?   字型大小:||| 
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#1 : 2005-12-13 03:43 AM     全部回覆 引言回覆

你問的問題好多, 大概是處理HDD 的新手, 呵
問題其實不難, 但是, 回答起來可能長長一大串,
有些東西, 還是善用google 比較快
因為要敲長長一大串的答案, 也是挺難的 @_@

1. 只要是硬碟, 就會有Identify 資料可讀取, Identify 裡面會記錄磁碟的容量問題
    想要知道Identify 的相關欄位, 請找HDD 廠商的網站, 然後隨便找一個HDD 的datasheet 抓下來
    裡面會詳細介紹:
   A. Identify 欄位名稱/大小/含意
    B. 完整的ATA command set 說明
   C. 現在應該已經沒有人使用Identify 裡面的CHS 了,
       都是使用Total Number of User Addressable Sectors的欄位
    PS: 如果你會需要處理容量超過128G(K=1024), 記得找超過128G 的HDD datasheet
         因為超過128G 以上容量, 需要ATA6 command set
   PS: 超過128G 的HDD, 有時Identify會有其他欄位描述硬碟容量
2. CF 卡其實也是IDE 界面, 所以, 可以把他完全視為HDD
3. memory device 可以有MBR 也可以沒有MBR
    也就是, 程式處理記憶卡時, 要有習慣偵測sector 0 的內容是Boot or MBR
4. FAT12/FAT16/FAT32 詳細資料, MS 的MSDN 網站上可以找到
    FAT12/FAT16 兩個很像, 只是FAT size 不同而已
    FAT32 比較複雜一點點, 多了幾個系統描述的sector需要處理, 但是跟FAT12/16 還是主架構相同
5. Format HDD/CF 程式碼, 可以去網路上找, 應該找得到
6. FAT12/FAT16/FAT32 容量問題, 我記得MSDN 網站的資料上有說明限制各有哪些
    不過, 其實自己算也可以算出來
7. 測試自己寫FAT32 有沒有出錯, 要用98 進行磁碟掃描, XP 掃描都會一律告訴你正確, 但是其實可能你已經漏掉某些系統描述的sector update 行為而不自知
8. Partition Magic format FAT32 時, 他會算錯磁碟容量, 大約少掉一個cluster size, 所以, 如果你自己format 出來比Partition Magic 大一點點, 不要認為自己錯

處理HDD/CF我的經驗是:
1. 一定要花時間弄懂Identify 裡面的欄位用途, 很多時候你會需要它
2. 把ATA command 弄清楚
3. 把FAT12/16/32 資料格式弄清楚
4. 把timing 弄清楚, 呵, 這個常常是真正害死人的兇手
    尤其剛開始, 通常使用PIO 模式, PIO2/3/4 的timing 都不一樣
    當然, 如果你用的uP 很low end, 速度跟龜一樣, 就不用擔心太多timing 問題
    不然, 只要沒仔細啃timing 問題, 就會發生挑卡, 挑硬碟...

其餘的, 大概都不再構成問題, 而上述資料, 就是找HDD datasheet & 去MSDN 網站找FAT 說明

如果你很習慣啃別人程式, 而且可以快速看懂&從中擷取你需要的程式片段
那你可以去找FreeDOS 這個網站, 它是一套DOS 相容的Open Source 系統
從裡面, 你可以看見FAT12/16/32 是如何處理的
不過.... 裡面的程式很大一套, 你要習慣看別人的程式, 才有辦法快速弄懂它在幹嘛
不然, 可能花費的時間會比你啃資料說明還要久
從該網站, 當然也一定可以找到format 程式囉, 呵

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#2 : 2005-12-15 06:25 AM     全部回覆 引言回覆

最大可能性, 就是我說的, timing 錯誤囉
ATA command 對軟體而言, 是永遠一樣的, 而且, 其實就是那幾個command 而已
但是, 硬體的timing 只要不正確, 就會挑硬體

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#3 : 2005-12-17 12:11 PM     全部回覆 引言回覆

一般HDD 只要知道total sectors, 就可以格式化沒錯
至於FAT32 32G or 64G 限制, 那是Windows 自己設的限制
250G HDD 自己寫format 程式, 也是可以format 成FAT32 阿, 呵

Boot 習慣上落在Cylinder 的整數位置上, 也就是CHS 裡面的S 的整數倍
對HDD 而言, 這個數值是固定的63, 有些記憶卡可能是31
有沒有按照這個舊傳統放置Boot 只會影響還在使用CHS 方式驅動HDD 的老系統

Format FAT32 的程序大概就是:
1. 寫MBR (LBA 0)
2. 寫Boot (LBA 63)
3. 寫Backup Boot Sector & System Info. Sector
    (LBA 63+x, 沒有規定位置, Boot 內要設pointer)
4. FAT1/FAT2 全部清除, 寫入Root 位置
5. 產生Root
FAT12/FAT16 少掉步驟三 & Root 位置, Root Size 固定, 其餘都一樣了

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#4 : 2005-12-22 06:55 PM     全部回覆 引言回覆

你是說, 類似sectors per cluster ?
那是軟體決定的阿, 跟硬體一點關係都沒有

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#5 : 2005-12-23 06:28 PM     全部回覆 引言回覆


引用:
saltire寫到:
那就是說
我在寫FDISK時可以隨便設定嗎?
如果是這樣那還要PBP做啥?

如果你弄出的硬碟只有你用, 當然不寫也行
不然, 別人的程式如何知道你弄成啥樣子呢?

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#6 : 2005-12-29 09:02 PM     全部回覆 引言回覆

~MBR~
BootIndicator:80
StartHead:01
StartSectorCylinder:0100
SystemID:0C or OB  (這個根據File system 而決定ID)
EndHead:??         (這個對使用LBA 的系統沒有影響, 呵, 不然, 就一定得知道CHS)
EndSectCylinder:????   (同上)
AbsoluteFirstSect:????????(3F或20???)   (一般可以固定使用3F)
Nbsect:????????                        ( 這個是total sector, LBA 系統使用這個)

~BootSector~
BS_jmpBoot:EB3C90            (這是程式碼, 並非固定值, 呵)
BS_OEMName:MSDOS5.0          (這個其實你高興填TWED2K 也沒人管你)
BPB_BytsPerSec:0002(512byte) (這是固定值)
BPB_SecPerClus:??(1~128)     (這就是cluster size 阿, 一般可以直接暴力使用32K, 但是要計算, 使用32K 會不會牴觸FATxx 限制)
BPB_RsvdSecCnt:2000(32)      (這個沒有強制規定, 可以看別人怎樣做就照做)
BPB_NumFATs:02               (這是固定值, 但是, 真的弄成1 也行)
BPB_RootEntCnt:0000          (我記得這個FAT12/16 才有吧... )
BPB_TotSec16:0000            (當Sectors 數目超過0xFFFF 就填FFFF 然後用後面32 bits 數值)
BPB_Media:F8                 (這個當固定值處理即可)
BPB_FATSz16:0000             (不知道你寫啥噎, 我猜是FAT size 吧!, 當FAT size 超過65535 個sectors 就填65535)
BPB_SecPerTrk:3F00           (CHS 用的, 其實已經沒價值)
BPB_NumHeads:FF00            (CHS 用的, 其實已經沒價值)
BPB_HiddSec:20000000         (這個也是沒規定, 通常跟reserved sectors 用來把空間擠到最後面)
BPB_TotSec32:同MBR.Nbsect    (就是Total Sectors 囉, 當超過65535 就是使用這個)
BPB_FATSz32:????????         (不知道你寫啥噎, 我猜是FAT size 吧!, 前面超過65535 就靠這兒描述)
BPB_ExtFlags:0000            
BPB_FSVer:0000              
BPB_RootClus:02000000        (這應該FAT32 才有, 位置比照file/folder create rule)
BPB_FSInfo:0100              (這個也是FAT32 才有, 位置自己決定)
BPB_BkBootSec:0600           (同樣FAT32 才有, 位置自己決定)
BPB_Reserved:000000000000000000000000
BS_DrvNum:80                 (這個是啥? 一點印象都沒有, 看數值, 很像DOS 底下的磁碟編號對應的數字, 呵)
BS_Reserved1:00
BS_BootSig:29
BS_VolID:????????           (這是一個亂數)
BS_VolLab:NO NAME           (磁碟標籤名稱, 我記得是8.3 格式, 必須英文)
BS_FilSysType:FAT32         (看是哪一種FAT 格式)

基本上, FDISK 只管MBR 不管Boot, Boot 是format 程式的工作
format 程式根據硬碟容量, 使用一個自己高興的rule 決定cluster size
決定出cluster size 之後, 就可以算出FAT size
然後知道FAT size 之後, 如果是FAT12/16 就需要再決定Root Size, 如果是FAT32 就不管
(Root size 並沒有強制規定是多大, 因為他是被記錄的, 通常可以看別人用多大數值, 照用),
如果是FAT32, 則需要決定Root 的位置, 配置最小單位當然是一個cluster
reserved sectors 至少為2, 因為要存放FSInfo & Backup Boot Sector, 這是FAT32 才有的
FAT size 的計算, 對FAT32 而言, 需要使用64 bits 運算, 才能計算出該算式
當然, 如果你程式技巧夠, 不需要64 bits 也能算出來, 就看你的功力如何了, 呵
至於計算FAT size, 老實說, 只要算出來比實際大, 就OK, 不能比實際小
Partition Magic 一直到7.0 為止, 都會算錯, 會比實際需要大, 哈 (8.0 會不會錯沒去嘗試就是了)
reserved sectors + hidden sectors 通常用來把磁碟使用空間推到最底
也就是, 假設30G 是一個Partition 完成
那你用任何常規程式把硬碟format 完成, 然後把磁碟塞到剛好滿
這時候, 你會發現, 磁碟的最後一個磁軌是被使用的
因為format 程式會計算, 把磁碟使用空間推到底, 至於為啥這樣設計? 我不知道
我自己寫的format 程式就不會幹這種無聊事 ^^"

決定cluster size 只有一個重點, FAT32 算出來的cluster 數目不能小於約64K 個
也就是, 32K*64K = 2G, 所以, 低於2G 的磁碟, format FAT32 時, cluster size 必須小於32K
同樣的, 64K * 512 = 32M, 所以, 32M 的磁碟, format 不出FAT32
這些都是所謂的極限, 極限都是可以推算的, 只要知道限制是啥
限制也很簡單, FATxx 的FAT 數目, 就是2^xx - 8, 這就是限制
(2^xx-8)*cluster size, 就是相對的硬碟尺寸限制
相關問題, 自己手動算一算, 想一想, 就可以懂了, 呵

對了, FAT size 填寫的是sector count, 不是byte 數
所以, 算出實際bytes 數後, 要記得(+511)/512 才能得到sectors
計算式網路上找得到, 不過需要64 bits 運算
因為PC 的compiler 通常都支援64 bits 運算
如果是embedded 系統, 根本不可能有64 bits 運算
這時候, 就看本事了
一種是去網路找64 bits 運算是怎樣計算出來的, 然後把程式碼抄一抄
另一種方式就是使用程式設計的技巧, 就可以用32 bits 算出來, 呵
這部份... 看你對數學了解多少吧
數學越好, 越覺得簡單囉

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#7 : 2005-12-30 06:47 AM     全部回覆 引言回覆

我去把我N 年前寫的程式啃了一下
下面是我讀取磁碟系統時, 使用的macro
#define _ISFAT32(dpbp)  (((dpbp)->dpb_fatsize)==0)
#define ISFAT16(dpbp)   (((dpbp)->dpb_size)>FAT_MAGIC   && ((dpbp)->dpb_size)<=FAT_MAGIC16 )
#define ISFAT12(dpbp)   ((((dpbp)->dpb_size)-1)<FAT_MAGIC)

所以, FAT32 是你說的, 把fatsize 設為0 即可
這樣子, FAT32 就沒有cluster number 的限制
FAT16/12 之間才有cluster number限制
因此, 要把任何size format 成FAT32 都是可以的, 呵
^^" 不好意思, 前面記錯了

FAT table size 的算式其實算一樣, 只是參數不同, 所以會以為不一樣
FAT table size 的計算規則是, 必須先知道total sectors (要先扣除其他需要空間的剩餘實際可用值)
然後就導入公式, 理論公式大約是:
cluster number = (total sectors * sector size + fat number * fat size * 2)/(sectors per cluster * sector size + fat size *2)
名詞解釋:
cluster number ===> 理論上可以得到的cluster 總數
total sectors    ===> Partition total sectors - 已經必須使用的sectors
sector size ====> 512, 這個是固定值, 呵
fat number ===> 2, 這個也是固定值, 表示有幾份fat table, 當然, 弄成非2 也行啦, 只是... 很少人這麼幹
fat size  ===> 一個FAT record 的size, FAT16 就是2, FAT32 就是4, FAT12 是1.5
sectors per cluster ===> 一個cluster 含多少個sectors

這個數學式不能直接套用FAT12, 因為沒有1.5個byte 這個東西, 而且, 一個sector 是512, 1.5 個bytes 也不能整除, 所以, 需要經過化簡計算, 才能得到真正的FAT12 的計算公式

跑完上面的數學式之後, 得到的並不是真實值, 而是初步概算值
後面再精算一次, 精算的式子大約是:
fat sectors = ((cluster number+2)*fat size)/sector size, 採無條件進位法
real cluster number = (total sectors - fat number * fat sectors)/sectors per cluster
名詞解釋:
real cluster number ===> 最終的cluster 數目
fat sectors ===> 每個FAT table 需要使用的sectors 數目

呵, 上面的式子是我臨時推算的, 應該不會錯誤啦
理論就是,
(可用總空間+FAT 需要保留兩個的record (這是FAT 最前面的規定空間))/(cluster bytes 數+該cluster 需要的FAT 空間) = 理論cluster 數目

呵, 看得懂嗎? 看不懂, 稍微計算一下囉
因為三個算式都需要補償FAT table 最前面規定的2 個record, 所以, 算式看起來很詭異
你可以嘗試先把補償問題摘除, 算式應該就很容易看懂了
看懂後, 再把補償數值加回去, 重新思考, 就知道為啥我要用那種方法補償
當然, 真實寫程式我從來不會拿這個數學式去計算
因為超過4G 的HDD 就需要動用到64 bits 運算, 對x86 以外的CPU 而言太辛苦
而且, 除了PC base 的compiler, 我也沒見過提供64 bits 運算的
我都會把數學式再重新推演過, 變成最多32 bits 就可以算出來的模式囉
呵, 只要了解上面的數學式, 透過程式技巧與觀念
就可以弄出一個更臭更長的數學式, 但是, 只需要32 bits 運算

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#8 : 2005-12-30 02:59 PM     全部回覆 引言回覆


引用:
saltire寫到:
不好意思
上面打了一堆
不過我想還是需要sector per cluster的計算方法吧!?

這個並沒有規則, 用自己爽的rule 去做即可
不信你用同樣容量的HDD 或memory card
然後設法找各種不同的format 程式去format
format 完成你就會發現, 各家format 程式format 出來的cluster size 不見得一樣
而且, 我記得XP 後來乾脆讓user 自己選cluster size, 他預先把可用的cluster size 都先算好, 讓user 自己選一個用, 呵

嗯.. 之前還漏掉一點, FAT32 的最大FAT 值是2^28, 不是2^32-8
FAT12/FAT16 才是2^xx-8

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#9 : 2006-1-3 11:02 PM     全部回覆 引言回覆

即使是HDD, feature command set 提供的也不一樣阿
feature command set 一般用來設定Identify 的內容
各家HDD 允許改變的內容並不相同, 所以, 可以使用的command 內容也不盡相同

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#10 : 2006-1-4 12:46 AM     全部回覆 引言回覆


引用:
saltire寫到:
那說也奇怪
如果不執行Feature Command Set的話
(Power Saving Mode is Active Idle 和 Enable write cache)
即使IDE初始化後仍然無法正常讀寫(開發板的程式會當掉)

想問說
Power Saving Mode is Active Idle 和 Enable write cache
為何要做這兩個FEATURE COMMAND呢?

應該是你init 程序有問題
而不是需要做那兩個動作, 呵
正常而言, 根本不需要那兩個動作

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#11 : 2006-1-5 08:49 PM     全部回覆 引言回覆

@_@ 這一頁(第三頁) 的第一篇... 寫的那麼長... 不就是說FORMAT 過程需要做的事情嗎?
Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#12 : 2006-1-6 07:08 PM     全部回覆 引言回覆


引用:
saltire寫到:
忘了上面的文章有提到一些
不過FAT32的FAT size不是固定為4嗎?
為何還要計算?

接下來是要做FSinfo和Back boot sector
那Cluster reserved sector是要如何求得呢?

你都沒仔細看文章內容
4 bytes 是單一記錄的大小, 整個FAT table 的size, 當然是4 *cluster number, 他不可能固定, 呵
reserved sector 是整個Partition 的保留, 不是cluster 的保留
一般可根據HDD size/cluster size 的餘數, 但是如果餘數過小, 就只好犧牲一個cluster
偷懶的作法, 就是固定配置一個size, 例如10個sectors, 呵, 剩下的, 才去計算可以變出多少cluster
餘數再加回reserved or hidden sectors
反正, 這些東西, 都只是規格需求, 並沒有強制規定, 爽就可以了
就算你浪費了一些空間, 也沒有人可以發現的, 呵
真的發現了, 也不會怎樣, 都說過了, Partition Magic 都會算錯, 還不是照樣賣的很爽
大家還不是一樣用的很過癮, Who care ?
再說, XP 的Disk Manager 如果切割logical partition 會硬生生偷吃掉HDD 約8M 左右空間, 基本上, 也沒人因此去罵MS 吧? 呵

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8219
 . 失蹤: 5571
#13 : 2006-1-12 07:32 AM     全部回覆 引言回覆


引用:
saltire寫到:
我發現MS的FORMAT的FSINFO怪怪的
LBA = 33; numSectors: 1
readLBA(): Read OK. Buffer contents:
0000:  52 52 61 41 00 00 00 00 00 00 00 00 00 00 00 00  RRaA............
0010:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

01D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
01E0:  00 00 00 00 72 72 41 61 05 E8 01 00 03 00 00 00  ....rrAa........
01F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA  ..............U.

總共可用的cluster數目
好像把保留磁區(32)也一起算進去了
到底再計算時該不該把保留磁區一起算在內呢?

設法安裝98 or ME, 然後你給他改一改, 用98/me 的磁碟檢查, 就知道哪個值對
我記得XP 不會去檢查FSINFO, 98/ME 會

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記

   



 



所在時區為 GMT+8, 現在時間是 2024-11-25 02:31 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.030190 second(s), 7 queries , Qzip disabled