Bagaimana menghapus tanda gugusan NTFS sebagai buruk?

14

Bagaimana saya menghapus tanda cluster sebagai buruk di NTFS?

Latar Belakang

Saya keliru berlari

>chkdsk /R

pada SSD saya, di mana

/ R : Menemukan bad sector dan memulihkan informasi yang dapat dibaca (menyiratkan / F)
/ F : Memperbaiki kesalahan pada disk

Dan sekarang saya memiliki cluster yang ditandai sebagai buruk di drive saya. Saya harus menghapus tanda bahwa cluster itu buruk.

Catatan : chkdskmemiliki opsi untuk mengevaluasi ulang kluster dan mengembalikannya untuk menggunakan:

/ B : Hanya NTFS: Mengevaluasi kembali kluster buruk pada volume (menyiratkan / R)

Sayangnya opsi itu hanya akan menghapus tanda pada cluster jika tidak lagi buruk. Saya perlu cluster untuk tidak ditandai tanpa peduli.

Bagaimana saya menghapus tanda gugusan NTFS sebagai buruk?

Mengapa kau melakukan ini?

Tidak masalah mengapa saya, dan ratusan lainnya, mengajukan pertanyaan. Tapi masalahnya adalah ada bad sector di drive saya. Saatnya mengganti drive dengan yang baru. Cara untuk melakukannya adalah dengan mirror SSD ke SSD lain menggunakan mirroring perangkat lunak Windows .

Sayangnya, bug yang dikenal di mirroring Windows NTFS mencegah mirror dari menyelesaikan, seperti yang didokumentasikan dalam KB325615 :

Tidak Dapat Membuat Cermin Perangkat Lunak Jika Disk Berisi Blok Buruk

DMIO beroperasi di bawah sistem file, dan jika ia menemukan kesalahan I / O saat membaca dari sektor pada disk sumber atau ketika mencoba untuk menulis data ke disk tujuan, itu membatalkan operasi mirroring.

Solusi yang jelas adalah untuk mengecilkan volume OS, sehingga bad sector melewati akhir volume. Di Windows 7, ketika Anda mencoba untuk Mengecilkan volume, itu akan secara otomatis memindahkan file keluar dari jalan.

masukkan deskripsi gambar di sini

Ini hal yang baik. Di masa lalu jika Anda ingin mengecilkan volume, Anda harus menggunakan alat defragmentasi yang akan mendorong semua file ke bagian depan drive; meninggalkan ruang kosong di akhir.

Sayangnya sekarang ada unmovable file dalam cara: $BadClus. Operasi Shrink defrag mencatat file yang tidak dapat dipindahkan dalam Log Kejadian:

Analisis penyusutan volume dimulai pada volume OS (C :). Entri log peristiwa ini merinci informasi tentang file tidak bergerak terakhir yang dapat membatasi jumlah maksimum byte yang dapat direklamasi.

Detail diagnostik:

  • File terakhir yang tidak dapat dipindahkan tampaknya adalah: \ $ BadClus: $ Bad: $ DATA
  • Cluster terakhir dari file adalah: 0xdc1ded
  • Kecilkan target potensial (alamat LCN): 0xa91bd9
  • Bendera file NTFS adalah: -S - D
  • Fase menyusut: <analisis>

Begitu:

  • saya tidak dapat mencerminkan volume sampai bad sector dihapus
  • menyusutkan volume akan menghapus sektor buruk
  • saya tidak dapat mengecilkan volume sampai $BadClusfile jarang dipindahkan
  • saya tidak bisa bergerak $BadClusketika secara fisik menempati cluster yang buruk
  • $BadClus secara fisik akan menempati cluster yang buruk sementara NTFS berpikir cluster itu buruk

Bagaimana saya menghapus tanda sebuah cluster sebagai buruk?

Untuk orang-orang ghosting drive juga

Solusi untuk masalah saya juga akan berfungsi untuk kasus yang paling umum:

Seseorang hantu drive yang berisi bad sector ke drive baru, dan kemudian drive yang baik masih memiliki cluster yang ditandai sebagai buruk, meskipun mereka baik. Kebetulan mereka memiliki solusi yang tersedia untuk mereka:

>chkdsk /B

Kecuali itu tidak berhasil dalam kasus saya. (Dan bahkan jika itu berhasil dalam kasus saya, itu bukan pertanyaan yang saya tanyakan.)

Obrolan bonus

Tentu saja Kingson SSD tidak mempertahankan sektor cadangan. Jika ya, itu bisa secara transparan memetakan kembali sektor cadangan untuk saya, dan saya tidak akan membuat NTFS mencoba untuk berpikir berlebihan.

SpinRite

saya mencoba SpinRite'ing the SS drive. Muncul melintasi sektor yang rusak, tetapi tidak dapat memperoleh nilai apa pun dari drive:

══════════════════╤═══════════════════════════╤═════════════════════════════════
cylinder : 7,183  │     data samples : 1,999  │  first uncertain bit : · · · · ·
  sector :    17  │   unique samples :     0  │   last uncertain bit : · · · · ·
    head :   187  │  discarded sples :     0  │   uncertain bit span : · · · · ·

Jumlah sampel data dihitung hingga 2.000, kemudian siklus kembali ke nol, dan terus berjalan.

masukkan deskripsi gambar di sini

Setelah sekitar 20 loop (yaitu 40.000 sampel data) saya menyerah.

Kloning

Lagi; jangan bingung pertanyaan dengan contoh. Pertanyaannya adalah bagaimana menghapus tanda cluster sebagai hal yang buruk di NTFS. Lama setelah saya menyerah, dan membuang SSD, pertanyaannya akan tetap ada. Jangan bingung masalah saya untuk pertanyaan itu. Itu tidak berarti bahwa saya mungkin mencoba untuk benar-benar menyelesaikan masalah saya:

DriveImageXML menjangkau sektor buruk, dan batal.

GParted gagal dimuat. Layar boot grafis muncul, kemudian jendela konsol menggulirkan teks, diikuti oleh layar hitam apa pun

Clonezilla menolak untuk mengkloning SSD saya:

Disk ini berisi partisi GPT dan MGR yang tidak cocok: / dev / sdb
Ini akan membingungkan Clonezill dan mungkin membuat gambar yang disimpan tidak berguna atau gagal mengkloning disk.

Harap perbaiki masalah ini lalu mulai kembali Clonezilla.
Program dihentikan.

masukkan deskripsi gambar di sini

Bagaimana saya menghapus tanda sebuah cluster sebagai buruk di NTFS?

Ian Boyd
sumber
Apakah Anda menginginkan solusi Windows atau akan menggunakan Linux baik-baik saja?
Thomas Weller
2
@ Thomas. saya tidak keberatan alat self-booting; menggunakan OS apa pun yang disukainya. Tentu saja saya lebih suka alat GUI. Saya mulai bosan menggunakan baris perintah pada tahun 1990. Saya mulai mencari cara menggunakan CreateFileuntuk membuka volume secara langsung; tetapi menyadari bahwa saya harus mulai dari awal, mem-parsing semua struktur data tidak berdokumen. saya membuka volume langsung untuk mengedit di hex editor favorit saya tetapi memiliki sisi bawah yang sama, harus secara manual mengurai struktur hex.
Ian Boyd
@ Thomas. mengapa bahkan bertanya apakah Anda tidak dapat menjawab bagaimana memperbaikinya di linux? jika semua yang ingin Anda katakan adalah bahwa jika memperbaikinya dari live linux linux baik-baik saja maka Anda tidak tahu caranya tetapi ia harus menambahkan tag linux.
barlop
Jika Anda menggunakan MBR untuk partisi disk sgdisk -z / dev / sdb akan menghapus GPT, dan clonezilla akan menyalinnya. backup-utility.com/articles/…
cybernard

Jawaban:

7

Saya tidak akan menjawab pertanyaan judul lagi. 1

Pertama, perlu diketahui bahwa, jika sektor ini benar-benar buruk, menghapus tanda itu tidak akan membuatnya mudah dibaca. Jadi perangkat lunak kloning Anda cenderung tersedak saat membaca saja.

Di NTFS, sebuah cluster ditandai sebagai buruk dengan menugaskannya ke aliran khusus,,$BadClus:$Bad file jarang.

Yang Anda butuhkan adalah untuk

  • edit runlist - nya untuk menghapus blok yang dialokasikan yang sesuai
  • tandai cluster yang sesuai sebagai bebas di $Bitmap.

  • Untuk menghapus tanda semua blok buruk, ada ntfsfix -b -d( -b= jelas buruk daftar blokir, -d= jelas / tidak menetapkan "kotor" bendera) ( metode lain denganntfstruncate tidak persis sama 2 ).

    • Ini mungkin memperkenalkan inkonsistensi kecil ke dalam metadata (dalam kasus saya, beberapa indeks tampaknya menjadi unsorted), saya tidak yakin mengapa, sehingga baik dijalankan chkdsk -fdengan tangan atau omit -duntuk memicu itu pada Windows startup jika / jika Anda mendapatkan FS kesalahan.
  • Untuk menghapus blok tertentu jauh lebih sulit karena saya tidak menemukan perangkat lunak yang ada yang dapat melakukan ini di luar kotak 3 . Resolusi Sektor Buruk NTFS: Metafile $ BadClus - kode Katy menjelaskan caranya - pada dasarnya, ini mengedit runlist dan bitmap dengan tangan.


1 Hanya karena menangani bad sector + kloning NTFS + adalah topik yang terlalu luas. Saya dengan senang hati akan menjawab yang terkait langsung dengan masalah yang ada.
2 memeriksa kode sumber dari ntfsfix v2015.3.14.
3 untuk yang ngotot, ini tidak bisa melakukannya: ntfscat(tidak dapat membaca sektor terbaca), ntfscp(tidak bisa menulis untuk mengimbangi), ntfstruncate, ntfsfallocate, dd(tidak dapat membuka $BadClus:$Baduntuk menulis)

ivan_pozdeev
sumber
Ini harus dipilih sebagai Jawaban Terbaik.
Hashim
1

Saya memiliki hard drive yang mengembangkan beberapa kelompok buruk. Saya menggantinya dengan drive yang dikenal baik. Proses pemulihan memulihkan data klaster yang buruk serta data lainnya. Ini ada di komputer Windows 7 Enterprise.

Solusi saya adalah menjalankan "chkdsk d: / b" (seperti yang telah disarankan sebelumnya). / B mengatakannya (hanya untuk NTFS) untuk memindai ulang kluster buruk yang sebelumnya ditandai. Setidaknya dalam kasus saya (dan saya akan curiga semua versi yang mendukung / b), menghapus daftar gugus buruk segera sebelum memulai pemindaian baca. Setelah Anda melihat pesan "Menghapus cluster X dari File Bad Clusters" Anda harus dapat mematikan proses chkdsk (karena hanya membaca data).

Catatan: Potensi memang ada bagi chkdsk untuk memperbarui file cluster yang buruk saat Anda mematikan proses jika kebetulan menemukan sektor yang buruk di awal drive. Saya mengambil risiko dan berhasil me-reset file cluster yang buruk tanpa perlu mengunduh banyak program lain yang memerlukan chkdsk penuh sesudahnya. YMMV.

CasaDeRobison
sumber
Ini sebenarnya berhasil. Setelah Langkah 2 Anda cukup tutup cmdjendela itu. Kemudian jalankan chkdsk d: /fyang akan mengatakan CHKDSK discovered free space marked as allocated in the volume bitmap.dan mengikuti Windows has made corrections to the file system..
Davor Josipovic
0

Pertama cara terbaik untuk pergi adalah mengkloning drive. Kemudian gunakan chkdsk /Bpada drive yang berfungsi baru.

Sekarang sejauh menghapus tanda sektor buruk nyata yang rumit. Anda bisa menggunakan:

Salah satu produk harus memetakan ulang sektor buruk maka CHKDSK / B harus menghapus tanda itu.

Unduh ISO gparted atau partedmagic . Boot darinya, dan menyusutkan partisi.

Ini akan bekerja karena windows TIDAK berjalan sehingga perangkat lunak ini mengecilkan partisi tidak peduli apa pun. Maka chkdsk /Bakan menangani sisanya.

Jika semua ini gagal, Anda sekarang berada di jalan sakit yang buruk. Anda perlu mendapatkan editor sektor dan mengedit sistem file secara manual. Sayangnya, itu di luar ruang lingkup pengetahuan saya untuk NTFS. Untuk FAT atau FAT32 itu sangat sederhana.

cybernard
sumber
Sebagai SSD, tidak ada sektor cadangan untuk diolah kembali. Itulah sebabnya SMART drive terus mencatat a Pending Sector Countdari nol, dan Reallocated Sector Countdari nol.
Ian Boyd
Katy Coe memiliki blog yang luar biasa yang mulai menggali nyali NTFS. Tapi mata saya berkaca-kaca ketika saya harus mulai menghitung offset, angka cluster logis, angka cluster virtual, dan fakta bahwa $ BadClus adalah file cadangan yang sebenarnya ukuran seluruh volume. Saya hampir pasti akan menghancurkan drive (berfungsi) saya.
Ian Boyd
2
Sebenarnya SSD memiliki banyak sektor cadangan. Faktanya, 120GB SSD mungkin memiliki hingga 8 GB sektor cadangan. Mengapa drive Anda tidak memetakannya kembali secara otomatis tidak saya ketahui. Gunakan gparted dan susutkan partisi.
cybernard
Sangat mungkin bahwa ini adalah drive Kingston GB 64 GB yang lama, sekarang dihentikan, tidak didukung. Atau mungkin itu hanya bug di firmware drive di mana mereka lupa menerapkan remapping sektor.
Ian Boyd
Juga, kloning drive gagal ketika mereka menemukan sektor yang buruk (setidaknya DriveImageXML melakukannya).
Ian Boyd
0

Karena Anda mencoba untuk mirror disk Anda (dan tampaknya Anda menggunakan Windows 7), ada pendekatan lain:

Gunakan alat bawaan untuk membuat cadangan untuk dipulihkan pada disk yang bagus. Pergi ke Control Panel, System and Security, Backup. Di sana, buat gambar sistem dan juga disk perbaikan sistem.

Setelah itu, Anda dapat mengganti disk rusak yang lama dengan disk yang bagus, lalu mengembalikan sistem ke keadaan menggunakan disk perbaikan sistem dan cadangan yang dibuat.

João Paulo
sumber
0

paket gddrescue (gddrescue - alat pemulihan data GNU) harus melakukan pekerjaan untuk Anda.

Ambil distro mandiri berbasis Debian (CD atau USB stick) instal gddrescue dengan "sudo apt-get install gddrescue" lalu klon SSd dengan membuka jendela terminal dan mengeluarkan:

ddrescue -f / dev / sda / dev / sdb ./ddrescue.log

(di mana / dev / sda adalah sumber dan / dev / sdb adalah SSD target)

ddrescue akan mencoba memulihkan blok buruk dan jika tidak dapat melewati itu.

Ketika selesai chkdsk / f / b harus menyelesaikan pekerjaan.

visnotjl
sumber
0

Sepertinya tujuan Anda adalah untuk mengecilkan ukuran partisi, dan Windows tidak akan mengecilkannya karena file $ BadClus, yang ada karena cluster yang buruk.

Saya punya solusi alternatif untuk Anda yang harus mengecilkan drive tanpa harus berurusan langsung dengan file $ BadClus. Gunakan Partition Wizard untuk mengecilkan partisi. Partition Wizard mudah digunakan, gratis untuk penggunaan non-komersial, dapat dijalankan dari dalam Windows dengan GUI, atau dari CD atau boot USB yang menjalankan Linux kecil kemudian memberi Anda GUI yang sama. Program ini juga dapat memulihkan partisi yang terhapus, dan mengkonversi antara tabel partisi MBR dan GPT.

Saya telah mengalami masalah dengan Windows tidak menyusut partisi melewati titik tertentu, maka saya akan mencoba Partition Wizard pada partisi yang sama yang melakukannya tanpa masalah. Saya kira Partition Wizard bersedia mengabaikan file $ BadClus. Saya telah menggunakan program ini selama lebih dari 8 tahun dan akhirnya membeli versi Pro, karena mereka mendapatkannya. Saya menemukan program ini sebagai pengganti PQMagic yang saya beli pada tahun 1996, yang merupakan program partisi DOS yang luar biasa untuk drive yang lebih kecil.

Erik
sumber