Mengapa sistem Linux terkadang memulihkan data yang Windows tidak bisa? Adakah alasan konkret?

3

Latar Belakang: Awal tahun ini saya memiliki masalah dengan drive SSD yang Windows tidak akan kenal lagi. Tapi akhirnya bisa di-boot "Parted Magic 2012-10-10" melakukan trik. Lihat ini benang terpecahkan . Namun satu pertanyaan terjebak dengan saya sebagai hasilnya ...

Pertanyaan: Saya sadar bahwa Linux pada umumnya sedikit lebih teknis dan mentah, tetapi dapatkah seseorang secara kasar menguraikan mengapa sistem Linux (atau bahkan hanya itu yang khusus, karena Ubuntu tidak melakukan trik) mampu tetap mengakses / berkomunikasi dengan setengah perangkat yang rusak ketika Windows tidak?

  • Apakah mereka mengabaikan indikator potensial bahwa ada sesuatu yang salah?
  • Apakah ada alasan konkret sama sekali?
  • Apakah hanya beruntung bahwa lingkungan khusus ini dapat membuat SSD merespons jika hanya untuk waktu yang terbatas?
Philip Allgaier
sumber
@Ramhound Wound not. Diperbaiki dalam pertanyaan.
Philip Allgaier

Jawaban:

5

Biasanya ini tergantung pada apa, tepatnya, yang sedang diakses dan bagaimana, tepatnya, perangkat gagal. Misalnya, jika SSD yang dimaksud tidak dapat mengambil, katakanlah, sektor 5 dan akan mulai berhenti segera setelah apa pun membaca sektor 5, perbedaannya mungkin semata-mata karena apa yang secara otomatis diakses oleh sistem yang berbeda setelah mereka mengenali disk baru.

Ketika Windows mendeteksi disk baru, ia akan membaca tabel partisi dan secara otomatis mencoba untuk membuka sistem file yang ia tahu cara membaca. Jika ada salah satu struktur / blok yang sedang dibaca selama proses "pemasangan" ini memicu SSD Anda yang salah untuk pergi bye-bye, perbedaan dengan distribusi linux spesifik hanya karena ia mungkin tidak secara otomatis me-mount semua partisi yang bersangkutan, atau mungkin, saat pemasangan, cukup baca subset sektor yang berbeda (implementasi NTFS di Linux sangat berbeda dari yang ada di Windows - sementara format di-disk sama, terserah OS yang strukturnya dianggap perlu untuk dibaca Windows dapat membaca salinan sekunder dari MFT, atau mungkin mulai mendahului beberapa data dan itu mungkin perbedaannya. Ubuntu berada di kapal yang sama - ia tidak diarahkan untuk pemulihan di luar kotak, ia akan mencoba untuk me-mount sistem file yang ditemukan di media yang baru ditemukan, secara otomatis. Karena alasan inilah distribusi khusus yang diarahkan untuk pemulihan adalah taruhan yang lebih baik, karena mereka hanya melakukan apa yang Anda minta secara eksplisit daripada melakukan hal-hal secara otomatis.

Tentu saja, Anda mungkin juga beruntung. Saya tidak cukup tahu tentang mode kegagalan SSD untuk dikatakan.

Linux umumnya tidak mengabaikan indikator bahwa ada sesuatu yang salah. Ini akan menerima kesalahan SCSI yang sama dari chipset SATA seperti Windows - jika Anda melihat log kernel, pada disk yang rusak Anda akan melihat banyak pesan kesalahan. Tergantung pada program apa yang secara aktual mengakses disk apa yang akan terjadi selanjutnya. Jika perangkat lunak diarahkan untuk pemulihan, ia mungkin mencoba membaca ulang sektor yang sama beberapa kali, mungkin melewatinya, dll. Biasanya taruhan terbaik adalah untuk mendapatkan gambar dari drive dengan banyak sektor membaca sebersih mungkin, dan kemudian mencoba untuk memulihkan data Anda dari gambar itu (melakukan analisis langsung pada drive adalah ide yang buruk biasanya karena kondisinya dapat memburuk dan hanya karena Anda dapat membaca sesuatu sekali, itu tidak berarti Anda akan dapat membacanya lagi.)

eike
sumber
3

Windows menghilangkan perangkat keras di bawah API sehingga semua panggilan ke perangkat keras berfungsi dengan cara yang sama (dan mungkin aman). Itu artinya, untuk menjalankan fungsi pada perangkat keras, MS harus mengantisipasi keinginan Anda untuk melakukan tugas, dan menulis fungsi API untuk mendapatkan hasil yang diinginkan.

dengan linux, ada lebih sedikit abstraksi, dan abstraksi bersifat sukarela, sehingga Anda dapat menulis perangkat lunak yang membahas perangkat keras secara langsung, jika Anda memilihnya, membuka banyak kemungkinan yang tidak direncanakan dan diimplementasikan sebelumnya.

Frank Thomas
sumber
3

Banyak dari itu adalah cara lingkungan menangani sistem file, dan ACL atau hard drive.

Windows akan melakukan apa saja untuk mematuhi ACL, dan sektor yang ditandai sebagai buruk atau kosong. Jadi partisi NTFS atau Fat dibuat dan dipelihara di Windows serta Windows MBR akan ditangani oleh Windows sebagaimana Windows menandainya.

Juga, jika drive gagal semakin Anda menggunakannya semakin besar kemungkinan akan mengalami masalah besar dan lingkungan akan crash. Lalu bagaimana OS menangani yang berperan, Windows akan BSOD atau reboot, proses boot windows akan melempar pesan MBR, pesan file yang hilang (NTDLR.dll hilang atau rusak) dan berhenti, karena file buruk ini diperlukan.

Saat Anda menggunakan live disk, Anda tidak mengandalkan semua ini. MBR yang buruk dilewati karena Anda mem-boot dari disk. Sektor buruk yang merusak NTDLR.dll tidak diperlukan. Semuanya ada di disk. Anda kemudian dapat mencoba membaca. Jika menemukan sektor 'kosong' atau sedikit buruk, lingkungan yang menanganinya akan tetapi diprogram untuk melakukannya. Ubuntu sepertinya lebih suka mempertahankan perilaku OS normal dan melanjutkan dengan apa yang paling mungkin terjadi. Sektor ini kosong, lakukan sesuatu yang lain. Sektor itu jelek, menjauh, jangan baca lagi jangan tulis atau akan menimbulkan masalah.

Namun platform pemulihan, ingin membaca semua data. Penanda file mengatakan file harus di 0,5, 13 .... jika filesystem melaporkan 13 hilang, abaikan header kosong dan tetap baca file, atau baca bad sector sebaik mungkin dan coba pulihkan .

Juga, Windows BISA melakukan banyak hal ini dengan aplikasi pihak ketiga, Recuva dapat menemukan banyak file "hilang" ini, untuk satu. Tetapi Anda tidak ingin berada di lingkungan yang dapat menulis kembali ke disk dan menyebabkan kerugian permanen yang sebenarnya.

Saya memang menyederhanakan ini, dan menambahkan beberapa interpretasi, tetapi harus mengisi beberapa kekosongan untuk apa yang Anda minta.

Austin T French
sumber
2

Sistem Windows cenderung memiliki semua jenis hal-hal latar belakang yang terjadi dengan perangkat keras. Pada sistem Windows, ketika drive baru terpasang, semua jenis proses mulai mengacaukannya. Jika drive tidak dapat diandalkan, ini biasanya akan menyebabkannya mulai gagal. Pada sistem Linux, kemungkinan besar drive itu hanya akan disentuh oleh hal-hal yang secara khusus Anda katakan mengacaukannya, memungkinkan Anda untuk mengakses drive tanpa memicu mode kegagalannya.

David Schwartz
sumber