星期四, 6月 08, 2006

NTFS - some basic concept

Partition Boot Sector

說得很不清楚.. 一個format成NTFS的"Volume"。Volume是disk 還是partition?
從"format" 來看,應該是 partition的意思。

但是這樣就沒有提到mbr 的部份。FAT和NTFS的MBR都是一樣的?
應該說..boot ntfs 和FAT的mbr 是一樣的?

0x00 | 3 | Jump 指定
0x03 | LongLong | oem id
0x0B | 25 | BPB
0x24 | 48 | Extend BPB
0x54 | 426 | Bootstrap Code
0x01FE | Word | End of Sector Mark
.BPB的用來存放NT loader (Ntldr)需要知道的disk geometry 資料。
NT loader利用BPB內的資料找到 MFT (Master File Table),
和FAT不一樣的是,NTFS的MFT並不是放在固定的sector位置(所以才要由BPB的資料找到)。

NT loader如果找不到valid MFT,就會認為這個partition 是沒有format好的。
這就是一個混淆的訊息..Boot sector都正常,帶是由BPB的資料找不當MFT,應該說"找不到MFT",而不是"unformatted",如果是"unformatted",會連 bootsector的資料都不對。
.MFT

MFT 有點像FAT,紀錄partition中所有file的資(位置?)資訊。
為了保險,MFT有兩份 : MFT 和MFT mirror。
MFT和MFT mirror的位置都紀錄在boot sector中( BPB ?)

沒有留言:

張貼留言