tl; dr: lewati ke bagian Pertanyaan
Latar Belakang
Saya memiliki drive tempat Windows 7 diinstal. Itu memiliki boot-partisi Windows 7 100MB, diikuti oleh partisi yang mengambil sisa drive. Beberapa waktu yang lalu, saya menyusutkan partisi utama sehingga saya dapat memiliki volume terpisah untuk file alih-alih menyimpannya pada volume yang sama di mana Windows, game, dan program diinstal.
Baru-baru ini saya membersihkan partisi sekunder dan menggunakan EASEUS Parition Master (Home) untuk menghapusnya, dan yang utama menggunakan seluruh disk seperti sebelumnya.
Masalah
Sayangnya, setelah EASEUS berhasil menyelesaikan tugasnya (dalam mode Windows Native-API), saya tidak lagi dapat mem-boot sistem dengan drive itu. Setiap kali saya mencoba untuk boot, BIOS akan mendeteksi drive, membaca dan mencetak data SMART ( STAUS OK
), dan kemudian hang.
Pada awalnya saya khawatir drive itu mati secara ajaib antara operasi ukuran ulang dan reboot, tetapi setelah meletakkannya di kandang eksternal, saya menemukan bahwa drive itu sebenarnya baik-baik saja dan bahkan lebih baik lagi, partisi masih utuh dan semua file dapat diakses. Partisi lain hilang dan yang utama telah diperpanjang ke panjang drive yang diinginkan. Ini berfungsi penuh dari Windows, hanya saja tidak dari BIOS.
Tes dan Pengamatan
Saya menjalankan snap-in MMC Manajemen Disk, chkdsk, TestDisk, (versi yang lebih baru) EASEUS Partition Master (gratis), EASEUS Partition Recovery, PC Inspector Drive Recovery, dan beberapa alat lain dalam mode read-only dan menemukan bahwa sebagian besar dari mereka tidak punya masalah dengan drive. Satu-satunya yang memberikan indikasi masalah adalah TestDisk yang mengindikasikan ketidakcocokan geometri drive.
Diagnosa
Kesimpulan yang saya buat adalah bahwa Windows dapat membaca drive dan mendeteksi partisi dengan baik (mungkin mengabaikan kompatibilitas mundur yang tidak relevan) nilai-nilai di tabel partisi, tetapi ketika BIOS mencoba membaca file boot dari drive, itu tersandung pada nilai-nilai yang salah dan hang.
Pertanyaan
Apa yang saya butuhkan sekarang adalah cara untuk memperbaiki tabel partisi (dan MBR?) Agar kompatibel dengan BIOS (dan seolah-olah DOS) tanpa kehilangan data.
Batasan
Saya tahu bahwa Anda dapat menulis ulang MBR tanpa kehilangan data, tetapi saya tidak yakin cara untuk membangun kembali tabel partisi tanpa mengacaukan partisi yang ada.
Sayangnya, saya tidak memiliki drive cadangan yang cukup besar yang dapat saya salin semuanya (saya juga tidak ingin memformat dan menyalin kembali semua barang itu), jadi saya perlu cara yang aman untuk melakukan perbaikan di tempat. Saya telah membuang salinan megabyte pertama atau lebih dari drive serta beberapa awal partisi Windows. Oleh karena itu, saya memiliki salinan MBR, tabel partisi, dan sektor boot dari partisi-boot 100MB dan partisi Windows.
Alat dan Keterampilan
Saya merasa nyaman dengan alat disk level rendah, termasuk hex dan editor disk (saya telah melakukan pemulihan data pada volume FAT pada beberapa kesempatan termasuk membangun kembali rantai FAT dan direktori), tetapi tidak banyak pengalaman dengan NTFS.
TestDisk memberikan kesalahan analisis berikut:
Disk /dev/sdf - 500 GB / 465 GiB - CHS 60801 255 63
Current partition structure:
Partition Start End Size in sectors
Warning: number of heads/cylinder mismatches 224 (NTFS) != 255 (HD)
Warning: number of sectors per track mismatches 19 (NTFS) != 63 (HD)
1 * HPFS - NTFS 0 32 33 12 223 19 204800
Bad relative sector.
2 P HPFS - NTFS 12 223 20 60801 76 27 976566032
Bad relative sector.
Dan log cadangan adalah sebagai berikut:
#1420342168 Disk /dev/sdf - 500 GB / 465 GiB - CHS 60801 255 63
1 : start= 2048, size= 204800, Id=07, *
2 : start= 206848, size=976566032, Id=07, P
#1420342211 Disk /dev/sdf - 500 GB / 465 GiB - CHS 60801 255 63
1 : start= 2048, size= 204800, Id=07, *
2 : start= 206848, size=976566032, Id=07, P
sumber
fdisk -l
dari live cd linux dan menambahkan informasi itu ke pertanyaan Anda akan membantu.number of heads/cylinder mismatches 224 (NTFS) != 255 (HD) … number of sectors per track mismatches 19 (NTFS) != 63 (HD)
dan ia mengatakan dibad relative sectors
bawah masing-masing dua partisi (partisi boot-drive dan partisi full-drive utama-yang lain memang hilang dan digabung menjadi yang utama).Jawaban:
BIOS umumnya tidak boleh membaca file boot apa pun , hanya kode bootstrap 440 byte dalam MBR, sisanya adalah bisnis bootloader Anda ... (Meskipun ada pengecualian yang tidak menguntungkan.)
Jadi mungkin saja Anda hanya perlu menginstal ulang bootloader Windows menggunakan
bootrec /fixmbr
.Untuk membuat ulang tabel partisi, CD Linux akan berfungsi. Jalankan
fdisk /dev/sd…
, tulis tata letak partisi (jenis, sektor mulai, ukuran), gunakano
untuk membuat tabel partisi kosong, tambahkan kembali semua partisi menggunakan tata letak yang sama persis, danw
keluarkan tabel baru.sumber
bootrec
dapat mempengaruhi MBR dari drive lain. Dan saya lebih suka menghindari CD live dan semacamnya jika memungkinkan; Saya yakin itu tidak harus sampai pada itu, harus ada cara untuk melakukannya di Windows.fixboot
konsol pemulihan sistem lain pada disk masalah dengan baik.fixboot
, tetapi tidak melakukan apa-apa (testdisk masih memberikan kesalahan yang sama).Di masa lalu, saya terkesan dengan PhotoRec Christophe Grenier. Jelas dia benar-benar tahu apa yang dia lakukan dan telah melakukan banyak penelitian dalam sistem file dan tipe file. Karena itu, saya memutuskan untuk mempercayai keahliannya dan membiarkan TestDisk melakukan hal tersebut (terutama karena itu adalah satu-satunya alat yang benar-benar mendeteksi masalah sama sekali).
Setelah pesan kesalahan, saya melanjutkan dan mencapai titik di mana itu memberi saya pilihan untuk menulis tabel partisi yang saya cari atau mencari lebih banyak. Karena partisi yang terdaftar sudah benar, saya mengizinkannya untuk menulis tabel partisi dan reboot. Drive itu masih dikenali dan semua file dapat diakses (masih di kandang eksternal), jadi saya melakukan
chkdsk
untuk ketenangan pikiran yang memeriksa.Langkah terakhir adalah menancapkannya ke sistem dan melihat apakah bisa melewati BIOS. Cukup yakin, itu benar. Saya melakukan satu lagi
chkdsk
hanya untuk lebih yakin, dan memeriksa lagi. Bahkan, saya sedang menulis posting ini sementara drive berputar dengan gembira di komputer.Jadi, jika ada yang mengubah ukuran partisi dan menemukan bahwa BIOS mereka hang setelah mendeteksi drive, letakkan di enklosur eksternal atau letakkan di sistem lain dengan BIOS yang berbeda, lalu minta TestDisk menulis ulang tabel partisi. Seharusnya menyesuaikan parameter untuk sekali lagi kompatibel dengan BIOS yang lebih lama (dan mungkin juga DOS). Ini akan menulis tabel partisi yang benar dengan parameter yang benar dan harus membiarkan semua data lainnya pada drive tetap utuh.
(Saya akan mencatat bahwa sekali TestDisk menulis ulang tabel partisi, itu tidak lagi menunjukkan kesalahan itu menulis ulang tabel partisi saat masih di dalam enclosure, tetapi setelah meletakkan drive kembali ke sistem, TestDisk adalah sekali lagi menunjukkan kesalahan, beberapa yang lama, beberapa yang baru, beberapa yang berbeda, tetapi drive bekerja dengan baik tetap saja. Saya sudah memasukkan kesalahan baru di bawah ini jika ada yang ingin mencoba men-debug penyebab pasti dari hang-BIOS karena tampaknya hanya sebagian terkait dengan parameter geometri.)
sumber