Solusi untuk Hilangnya Memori Sistem yang Tersedia Saat Proses File Image

📋 Deskripsi Skenario

Gunakan FILE IMAGE sebagai perangkat target untuk pencerminan (mirroring) pemulihan data di DE atau DR. Ubah LBA awal dalam proses pencerminan, lalu lanjutkan pencerminan. Dalam beberapa kasus, hilangnya memori sistem yang tersedia atau bahkan suspended animation (sistem membeku total) dapat terjadi. mrtlab


🔍 Penyebab Masalah

Ini adalah bug pada fungsi API sistem Microsoft. Nama fungsinya adalah FlushViewOfFile(). Dalam kondisi tertentu, pemanggilan fungsi ini dapat gagal dengan kode error 33. Akibatnya, data dari cache sistem tidak dapat ditulis ke disk tepat waktu, sehingga cache tidak dapat dibebaskan. mrtlab

Pada saat ini, penggunaan memori oleh aplikasi MRT tidak meningkat, tetapi memori sistem yang tersedia akan terus berkurang. Ketika fungsi ini sering gagal dipanggil, memori sistem yang tersedia akan turun hingga nol dan akhirnya menyebabkan suspended animation (sistem beku total). mrtlab


🧠 Materi Pendukung: Konsep Kunci

1. Apa itu File Image dalam Pemulihan Data?

File Image (atau disk image) adalah salinan sektor-per-sektor dari media penyimpanan (HDD, SSD, USB) yang disimpan sebagai satu file tunggal. Dalam konteks pemulihan data:

  • Tujuan: Membuat salinan identik dari disk yang rusak sebelum mencoba pemulihan, untuk menghindari kerusakan lebih lanjut.
  • Format umum: .img, .raw, .dd, .e01
  • Tools: MRT Pro, ddrescue, R-Studio, FTK Imager

2. Apa itu LBA (Logical Block Addressing)?

LBA adalah metode pengalamatan sektor pada hard disk. Setiap sektor diberi nomor urut mulai dari 0. Mengubah initial LBA berarti memulai proses mirroring bukan dari awal disk, melainkan dari sektor tertentu.

  • LBA 0 = sektor pertama disk (biasanya MBR)
  • Mengubah LBA awal berguna saat sebagian disk sudah berhasil di-mirror sebelumnya

3. Apa itu FlushViewOfFile()?

FlushViewOfFile() adalah fungsi Windows API dari library kernel32.dll yang digunakan untuk memaksa penulisan data dari memory-mapped file ke disk fisik. Fungsi ini dipanggil saat aplikasi menggunakan teknik memory-mapped I/O untuk menulis file image besar.

Bug yang terjadi: Dalam kondisi tertentu di Windows 7 / Server 2008 R2, fungsi ini mengembalikan error code ERROR_LOCK_VIOLATION (33), menyebabkan cache sistem tidak terbebaskan.


✅ Solusi

Solusi 1 – Windows 7 / Windows Server 2008 R2

Unduh dan instal patch resmi Microsoft yang telah disediakan. Setelah diekstrak, nama file-nya adalah Windows6.1-KB2731284-v3-x86.msu. Restart komputer setelah instalasi. Setelah patch terpasang, kegagalan pemanggilan fungsi FlushViewOfFile() tidak akan lagi menyebabkan penurunan memori sistem yang tersedia. mrtlab

Link unduhan patch:

  • Microsoft Hotfix: http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix405791/7600/free/451412_intl_i386_zip.exe
  • Mirror MRT Lab: https://info.mrtlab.com/download/KB2731284.rar

⚠️ Catatan: Mungkin akan ada jeda beberapa menit dalam proses mirroring di DE, yang merupakan hal normal. Ini disebabkan oleh hambatan fungsi itu sendiri dan ada pemrosesan sistem yang tidak diketahui yang sedang berlangsung. Tunggu sebentar, maka mirroring akan dilanjutkan secara otomatis. mrtlab


Solusi 2 – Windows XP atau Sistem Lainnya

Untuk XP atau sistem lainnya, disarankan untuk tidak menggunakan FILE IMAGE sebagai perangkat target untuk mirroring, karena Microsoft tidak menyediakan patch yang sesuai. mrtlab

Jika tetap harus melakukan mirroring dengan cara ini:

Disarankan untuk tidak mengubah LBA awal secara sembarangan atau melakukan penyalinan terbalik. Usahakan menyalin dari awal hingga akhir. Saat melakukan mirroring setelah mengubah LBA awal, jika memori sistem yang tersedia terus berkurang, jeda atau hentikan penyalinan. Tunggu 5–10 menit, lalu lanjutkan. Pada saat ini, umumnya sistem akan secara otomatis mengambil kembali cache. mrtlab


🛡️ Tips Pencegahan Tambahan

KondisiRekomendasi
Windows 7 / 2008 R2Instal patch KB2731284
Windows XPHindari FILE IMAGE sebagai target
RAM terbatas (<4GB)Pantau Task Manager saat mirroring
Disk rusak parahGunakan ddrescue dengan opsi reverse copy
Semua OSJangan ubah LBA awal kecuali diperlukan

📚 Referensi

  1. MRT Lab – Solution for Available System Memory Loss in the Process of File Image — https://us.mrtlab.com/filesystem/130.html
  2. Microsoft Support – KB2731284: FlushViewOfFile may fail with error code 33 in Windows 7/Server 2008 R2 — http://support.microsoft.com/kb/2731284/en-us
  3. Microsoft Docs – FlushViewOfFile function (memoryapi.h) — https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-flushviewoffile
  4. GNU ddrescue Manual – Data recovery using ddrescue — https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html
  5. Wikipedia – Logical block addressing — https://en.wikipedia.org/wiki/Logical_block_addressing
  6. Wikipedia – Disk image — https://en.wikipedia.org/wiki/Disk_image

Leave a Reply

Your email address will not be published. Required fields are marked *