Daftar isi
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:
Artikel Terkait
-
Cara Memulihkan File dari Kunci Folder Tanpa Kata Sandi Langkah-demi-Langkah
Cedric/2024/09/10
-
Memperbaiki Lampu Hard Drive Eksternal Seagate Berkedip tetapi Tidak Berfungsi/Mendeteksi Kesalahan
Daisy/2024/09/18
-
Cara Memulihkan Gambar yang Dihapus Bertahun-tahun yang Lalu
Jean/2024/09/10
-
Dimana Recycle Bin di Windows 10/11, Cara Menemukan dan Membuka Recycle Bin
Daisy/2024/09/10