Informasi Struktur FAT32 - MBR, Sektor Boot FAT32

Artikel ini menyajikan informasi terperinci tentang struktur sistem berkas FAT32, MBR FAT32 atau sektor boot FAT32, dsb. Jika Anda kehilangan data pada drive atau partisi FAT32, unduh saja perangkat lunak pemulihan data terbaik di sini untuk memulihkan data dari drive/partisi FAT32 sekarang juga.

Daftar isi

Updated by Daisy on Oct 10,2024

Apa itu Master Boot Record?

Master Boot Record sama untuk hampir semua Sistem Operasi. Master Boot Record terletak di Sektor pertama Hard Drive, di Cylinder 0, Head 0, Sektor 1. Master Boot Record adalah bagian kode pertama yang dijalankan komputer Anda setelah memeriksa semua perangkat keras (POST) dan mengalihkan kendali pemuatan perangkat lunak ke hard drive. Master Boot Record juga berisi tabel partisi, yang menentukan bagian-bagian berbeda dari hard drive Anda. Pada dasarnya, jika terjadi sesuatu pada bagian kecil berukuran 512-byte ini, hard drive Anda akan mati total.

Mengimbangi Keterangan Ukuran
000 jam Kode yang Dapat Dieksekusi (Komputer Booting) 446 Byte
1BEh Entri Partisi ke-1 (Lihat Tabel Berikutnya) 16 Byte
1CEh Entri Partisi ke-2 16 Byte
1DEh Entri Partisi ke-3 16 Byte
1EEh Entri Partisi ke-4 16 Byte
1FEh Tanda Tangan Rekaman Booting (55hAAh) 2 Byte
  • Entri Partisi (Bagian dari MBR)
Mengimbangi Keterangan Ukuran
00 jam Keadaan Partisi Saat Ini(00h=Tidak Aktif, 80h=Aktif) 1 Bita
01 jam Awal Partisi - Head 1 Bita
02 jam Awal Partisi - Silinder/Sektor (Lihat Di Bawah) 1 Kata
jam 04 Jenis Partisi (Lihat Daftar Di Bawah) 1 Bita
jam 05:00 Akhir Partisi - Kepala 1 Bita
jam 06:00 Akhir Partisi - Silinder/Sektor 1 Kata
jam 08:00 Jumlah Sektor Antara MBR dan Sektor Pertama di Partisi 1 Kata Ganda
0Bab Jumlah Sektor dalam Partisi 1 Kata Ganda
  • Pengkodean Silinder/Sektor

Saya kira pada masa hard drive 10 MB dan 8086, kode sangatlah penting. Jadi mereka melakukan segala cara untuk menghemat ruang. Sayangnya sekarang kita harus menerimanya, tetapi untungnya mereka menciptakan cara baru untuk menerjemahkan sistem sehingga Batas 1024 Silinder (2^10) tidak menjadi masalah besar, setidaknya untuk komputer yang lebih baru. Komputer yang lebih lama biasanya memerlukan semacam program Disk Overlay agar mereka dapat melihat seluruh hard drive.

Bagaimanapun, untuk mengeluarkan Sektor dari sini, Anda perlu menerapkan topeng AND ($3F) padanya. Untuk mendapatkan Silinder, Anda mengambil byte tinggi dan OR dengan byte rendah yang telah ditopeng AND dengan ($C0) lalu Digeser ke Kiri Dua. Tidak mudah untuk menjelaskannya, jadi saya akan menunjukkan cara melakukannya dengan dua rutinitas yang saya buat (Dalam Pascal) untuk Mengode dan Mendekode Silinder/Sektor. Semoga meskipun Anda tidak tahu Pascal, Anda dapat membacanya.

Fungsi CylSecEncode(Silinder, Sektor: Kata): Kata;
Mulai
CylSecEncode: = (Lo(Silinder) shl 8) atau (Hi(Silinder) shl 6) atau Sektor;
Akhir;

Prosedur CylSecDecode(Var Cylinder, Sektor: Kata; CylSec : Kata);
Mulai
Silinder: = Hi(CylSec) atau ((Lo(CylSec) dan $C0) shl 2);
Sektor: = (CylSec dan $3F);
Akhir;

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 angka 0
Mata Bor Silinder 7 hingga 0 Mata Bor Silinder 9+8 Bit Sektor 5 hingga 0

Daftar Jenis Partisi

Ada lebih dari itu yang ditampilkan, tetapi saya hanya menyertakan yang relevan dengan Sistem Operasi MS.

Nilai Keterangan
00 jam Tidak Diketahui atau Tidak Ada
01 jam Lemak 12-bit
jam 04 FAT 16-bit (Partisi lebih kecil dari 32MB)
jam 05:00 Partisi MS-DOS yang Diperluas
jam 06:00 FAT 16-bit (Partisi lebih besar dari 32MB)
0Bh FAT 32-bit (Partisi hingga 2048GB)
0Bab Sama seperti 0BH, tetapi menggunakan Ekstensi LBA 1 13h
0Eh Sama seperti 06H, tetapi menggunakan Ekstensi LBA 1 13h
0Fh Sama seperti 05H, tetapi menggunakan Ekstensi LBA 1 13h

Membaca Beberapa Partisi

Meskipun memiliki beberapa partisi di FAT32 tidak sesering di FAT16, cara kerjanya tetap sama. Partisi pertama adalah Partisi Primer, dan semua yang lain disimpan di Partisi Diperpanjang. Memang agak sulit saat membaca partisi tambahan tersebut (tidak banyak, hanya sedikit). Catatan pertama di tabel partisi menunjukkan di mana partisi Primer berada (seberapa besar, di mana dimulai, dan di mana berakhir). Entri kedua di tabel partisi menunjukkan di mana Seluruh Partisi Diperpanjang berada (yang mungkin mencakup lebih dari satu partisi). Untuk membaca partisi lainnya, Anda masuk ke tempat yang disebutkan Partisi Diperpanjang dimulai, dan baca sektor pertama. Ia bertindak seperti MBR. Ia akan kosong di tempat kode seharusnya berada, dan di tabel partisi ia akan memiliki entri pertama Partisi berikutnya di Drive, dan jika masih ada lagi, akan ada partisi Diperpanjang lain, sama seperti sebelumnya. Namun, semua referensi ke Nomor Sektor dibuat menggunakan titik MBR baru tersebut sebagai referensi, sehingga menjadikannya drive virtual. Kalau-kalau ini tidak masuk akal (dan omong-omong saya menjelaskan hal-hal yang dapat saya pahami jika tidak masuk akal), izinkan saya menunjukkan kepada Anda cara menyiapkan drive dengan tiga partisi.

MBR dari Seluruh Drive

Entri #1 - Menunjuk ke Partisi #1
Entri #2 - Menunjuk ke Seluruh Partisi yang Diperluas

Anda akan membaca sektor pertama dari Partisi Diperluas itu, dan melihat Struktur MBR lainnya.

MBR dari Partisi yang Diperluas

Entri #1 - Menunjuk ke Partisi #2
Entri #2 - Menunjuk ke Sisa Partisi yang Diperluas setelah Partisi #2

Sekarang, semua referensi ke Nomor Sektor (terutama entri pada Offset 08h) dalam Entri tersebut tidak akan dirujuk dari awal drive, tetapi dari awal Partisi Diperluas. Namun, nomor CHS (Silinder, Kepala, Sektor) akan tetap benar.

Sekali lagi, Anda akan membaca sektor pertama dari Partisi Diperluas itu, dan melihat MBR berikutnya.

MBR dari Sisa Partisi yang Diperluas

Entri #1 - Menunjuk ke Partisi #3
Tidak Ada Entri #2, karena ini adalah Partisi Terakhir

Jika ada partisi lain, polanya akan berlanjut seperti sebelumnya, hingga partisi terakhir tercapai.

Informasi Rekaman Booting FAT32

Informasi ini terletak di sektor pertama setiap partisi.

Mengimbangi Keterangan Ukuran
00 jam Kode Lompat + NOP 3 Byte
jam 03:00 Nama OEM (Mungkin MSWIN4.1) 8 Byte
0Bh Byte Per Sektor 1 Kata
0Dh Sektor Per Klaster 1 Bita
0Eh Sektor Cadangan 1 Kata
10 jam Jumlah Salinan FAT 1 Bita
jam 11 Entri Direktori Root Maksimum (N/A untuk FAT32) 1 Kata
jam 13 Jumlah Sektor dalam Partisi Lebih Kecil dari 32MB (N/A untuk FAT32) 1 Kata
15 jam Deskriptor Media (F8h untuk Hard Disk) 1 Bita
16 jam Sektor Per FAT di FATSystems Lama (N/A untuk FAT32) 1 Kata
18 jam Sektor Per Jalur 1 Kata
1 jam Jumlah Kepala 1 Kata
1Bab Jumlah Sektor Tersembunyi di Partisi 1 Kata Ganda
20 jam Jumlah Sektor dalam Partisi 1 Kata Ganda
24 jam Jumlah Sektor Per FAT 1 Kata Ganda
28 jam Bendera (Bit 0-4 Menunjukkan Salinan FAT Aktif) (Bit 7 Menunjukkan apakah Pencerminan FAT Diaktifkan atau Dinonaktifkan) (Jika Pencerminan FAT Dinonaktifkan, Informasi FAT hanya ditulis ke salinan yang ditunjukkan oleh bit 0-4) 1 Kata
2 jam Versi Drive FAT32 (HighByte = Versi Utama, Low Byte = Versi Minor) 1 Kata
2Bab Nomor Cluster Awal Direktori Root 1 Kata Ganda
30 jam Nomor Sektor dari Sektor Informasi Sistem Berkas (Lihat Struktur di Bawah) (Dirujuk dari Awal Partisi) 1 Kata
32 jam Nomor Sektor dari Sektor BackupBoot (Direferensikan dari Awal Partisi) 1 Kata
34 jam Disimpan 12 Byte
40 jam Nomor Drive Logika Partisi 1 Bita
41 jam Tidak Digunakan (Bisa jadi Byte Tinggi dari Entri Sebelumnya) 1 Bita
42 jam Tanda Tangan Diperpanjang (29j) 1 Bita
43 jam Nomor Seri Partisi 1 Kata Ganda
47 jam Nama Volume Partisi 11 Byte
52 jam Nama FAT (FAT32) 8 Byte
5 jam Kode yang Dapat Dieksekusi 420 Byte
1FEh Tanda Tangan Rekaman Booting (55hAAh) 2 Byte

Instruksi Sektor Informasi Sistem Berkas

Biasanya, ini merupakan Sektor Kedua dari partisi, meskipun ada referensi di Sektor Booting untuk itu. Saya berasumsi itu dapat dipindahkan. Saya tidak pernah mendapatkan gambaran lengkap tentang yang satu ini. Meskipun saya tahu di mana bidang-bidang penting berada.

Mengimbangi Keterangan Ukuran
00 jam Tanda Tangan Pertama (52h 52h 61h41h) 1 Kata Ganda
jam 04 Tidak diketahui, Saat ini (Mungkin saja Null) 480 Byte
1E4h Tanda tangan Sektor FSInfo (72 jam 72 jam 41 jam 61 jam) 1 Kata Ganda
1E8j Jumlah Cluster Gratis (Diatur -1 jika Tidak Diketahui) 1 Kata Ganda
1Ech Nomor Klaster yang Paling Akhir Dialokasikan. 1 Kata Ganda
1F0h Disimpan 12 Byte
1FC Tidak diketahui atau Null 2 Byte
1FEh Tanda Tangan Rekaman Booting (55hAAh) 2 Byte

Tata Letak Drive FAT32

Mengimbangi Keterangan
Awal Partisi Sektor Booting
Mulai + # Sektor yang Dicadangkan Meja Gemuk
Mulai + # Cadangan + (# Sektor Per FAT * 2) Area Data (Dimulai dengan Cluster #2)

Arti Cluster

Cluster adalah Sekelompok Sektor pada Hard Drive yang berisi informasi. Cluster 4K berisi 8 Sektor (512*8=4096). Setiap Cluster diberi tempat di Tabel FAT. Saat Anda melihat Entri di FAT, angka di sana memberi tahu Anda apakah cluster tersebut berisi data atau tidak, dan jika ya, apakah itu merupakan akhir data atau ada cluster lain setelahnya. Semua Data pada Partisi dimulai dengan Cluster #2. Jika Entri FAT adalah 0, maka tidak ada data di cluster tersebut. Jika Entri FAT adalah 0FFFFFFFh, maka itu merupakan entri terakhir dalam rantai.

Ini adalah salah satu lubang terbesar dalam informasi saya. Saya tidak dapat menemukan tempat yang menunjukkan angka apa yang dimaksud dengan tabel FAT. Saya dapat mengetahui akhir rantai hanya dengan melihat Drive FAT32, tetapi saya tidak tahu apa yang dimaksud dengan Cluster BAD atau berapa angka maksimum yang valid untuk menampilkan data.

Untuk saat ini, Anda dapat menghitung cluster maksimum yang valid dalam suatu partisi dengan rumus ini:

((# Sektor dalam Partisi) - (# Sektor per Fat * 2) - (# Sektor yang Dicadangkan)) / (# Sektor per Klaster)

Jika terdapat sisa pada jawaban rumus tersebut, artinya terdapat beberapa klaster tambahan di akhir partisi (mungkin tidak cukup untuk membuat klaster lain), jadi Anda dapat membuang apa pun setelah titik desimal.

Tabel Direktori

Aspek lain saat melihat Sistem Berkas pada Level Rendah adalah Tabel Direktori. Tabel Direktori adalah tempat menyimpan semua Entri Berkas dan Direktori. Pada dasarnya, hanya ada satu perbedaan antara Tabel Direktori FAT16 dan FAT32. Perbedaannya adalah: Byte OS/2 yang Dicadangkan (Offset 20 [14h]) dalam Struktur Nama Berkas Pendek diganti dengan Kata Utama dari Nomor Klaster (karena sekarang menjadi 4 byte, bukan 2).

Tabel Alokasi File

Catatan kaki

1 - LBA = Logical Block Addressing - Menggunakan Ekstensi Int 13h yang dibangun ke dalam BIOS yang lebih baru untuk mengakses data di atas batasan 8GB, atau untuk mengakses secara ketat dalam mode LBA, alih-alih CHS (Cylinder, Head, Sector)

Kiat tambahan: pulihkan data yang hilang dari hard drive FAT32 dengan perangkat lunak pemulihan hard drive EaseUS

Jika Anda tidak sengaja menghapus, membuang, atau memformat data pada hard drive FAT32, USB, atau perangkat penyimpanan lainnya, jangan panik. Pilihan terbaik Anda adalah membiarkan EaseUS Data Recovery Wizard membantu! Di sini kami ingin merekomendasikan Anda untuk mencoba EaseUS Data Recovery Wizard yang memungkinkan Anda untuk secara efektif memulihkan, memformat, dan memulihkan semua data yang hilang dalam 3 langkah mudah. Unduh gratis untuk mendapatkan kembali semua data FAT32 Anda yang hilang sekarang: