Các kỹ thuật phục hồi tệp phân vùng NTFS nâng cao cho các ổ đĩa bị hỏng (lỗi IO)?


8

Gần đây tôi đã phải chịu một thiệt hại nhỏ nhưng khá quan trọng đối với ổ cứng trên máy chủ ESXi ảnh hưởng đến một vài máy ảo. Có một tập tin mà tôi rất muốn khôi phục, và dĩ nhiên nó đã bị loại khỏi bản sao lưu thường xuyên của tôi. Các bản sao gần đây nhất là 6 tháng tuổi. Hóa ra tôi cần ... ôi.

Chi tiết:

1) Tôi đã sử dụng ddresTHER (công cụ TUYỆT VỜI) trong ISO có thể khởi động Parted Magic để khôi phục 99,98% ổ đĩa của VM. Thật không may, các lỗi dường như hoàn toàn do tập tin RECENT ghi lại ... vì vậy tất nhiên chúng chính xác là các lĩnh vực tôi cần khôi phục nhất.

2) Ổ đĩa cho lỗi IO khi đọc khu vực xấu, nhưng đôi khi nó THÀNH CÔNG khi đọc một khu vực xấu trước đó! Vì vậy, phục hồi vẫn có thể. Hơi thường xuyên hơn thế sẽ có một số loại trục trặc lớn và quay ổ đĩa xuống và sao lưu. Ồ, và khoảng 1/4 trong số những lần quay vòng đó sẽ không quay trở lại. (Yêu cầu chu kỳ năng lượng cứng, tắt máy sẽ không hoạt động) Cuối cùng, cứ mỗi lần đọc khu vực xấu đi kèm với âm thanh nhấp chuột nghe được.

3) Đĩa VM quan trọng được định dạng NTFS.

4) Tôi có thể (thường) gắn kết chỉ đọc ổ đĩa NTFS bị hỏng và tôi có thể (hơi ít thường xuyên hơn) điều hướng đến thư mục chứa tệp tôi cần. Tuy nhiên, tệp được đề cập dường như luôn có lỗi IO khi tôi thực hiện 'ls' của thư mục. Các tệp khác trong thư mục không đưa ra lỗi IO.

5) Tôi đã thử sử dụng ntfsinfo / etc ... nghe có vẻ chính xác những gì tôi cần ... nhưng nó sẽ không mở phân vùng. (Bực bội, vì 'mount' thường sẽ)

6) Tệp là tệp XLS thời Excel 2003, vì vậy tôi không chắc mình có thể tìm ra bất kỳ chuỗi nào để tìm kiếm hình ảnh đĩa thô. (Có thể là một phần của phiên bản 6 tháng tuổi?)

Tôi thực sự muốn sử dụng một cái gì đó như các cơ sở của debugfs. Tuy nhiên, từ các trang man, có vẻ như các công cụ ntfs có thể thực hiện công việc nếu chỉ chúng có thể được thực hiện để mở phân vùng. Cụ thể, tôi tự hỏi liệu các lỗi IO có thể hoàn toàn nằm trong siêu dữ liệu của tệp hay không và liệu bản ghi thư mục có thể được khôi phục đủ tốt để sao chép nội dung tệp không. Như một phương sách cuối cùng, bất kỳ nội dung tập tin một phần nào tôi có thể lấy sẽ là tuyệt vời.

Tôi đã viết các mô-đun hạt nhân (tương đối đơn giản) trước đây, vì vậy tôi có thể biên dịch một mô-đun NTFS đặc biệt với nhiều thông tin gỡ lỗi được bật (hoặc thêm). (Tệp có giá trị ít nhất vài ngày mày mò để cố gắng khôi phục ... cộng với tôi đang học những thứ hay ho trong quá trình này)

Bất kỳ con trỏ?

BIÊN TẬP:

Thêm thông tin lỗi ổ đĩa:

Tất nhiên / var / log / message đang hiển thị rất nhiều lỗi NTFS-fs ... nhưng cuối cùng tôi đã bận tâm dịch thông điệp mã cảm giác chưa xử lý mà tôi thường nhận được: khóa cảm giác 0x3, ASC = 0x11, ASCQ = 0x4. (xuất hiện để dịch sang ERROR UNRECOVERED READ ERROR - AUTO REALLOCATE FAILED).

Khi ổ đĩa quay xuống, tôi thấy thông báo "scsi0: * BusLogic BT-958 Khởi tạo". Tôi không chắc đó là trình điều khiển SCSI của Linux, trình điều khiển ESXi hay chính ổ đĩa quyết định quay ổ đĩa xuống. Nếu đó là trình điều khiển Linux, thì có lẽ tôi có thể sửa đổi trình điều khiển để tránh quay vòng. Toàn bộ điều này được thực hiện một cách ồ ạt hơn bởi những mũi nhọn đòi hỏi năng lượng theo chu kỳ này.

EDIT2:

bằng cách sử dụng thông báo nhật ký "end numquest: I / O, dev sda, sector 7238859" ngay sau khi tôi gửi thư mục chứa tệp đang nghi vấn, tôi đã nhắm mục tiêu hoạt động ddresTHER của mình vào khu vực đó. Tôi hiện đang có kế hoạch để đưa cơ hội của mình và VIẾT lĩnh vực đó trở lại đĩa trực tiếp nếu điều này thành công. Có lẽ tôi có thể từ từ xây dựng lại cách của tôi vào tập tin theo cách này. Tuy nhiên, hầu hết các khu vực xấu có thể phục hồi được phục hồi trong dưới 20 lần thử lại ... lần này là hơn 150 cho đến nay ... * thở dài *

EDIT3:

Lỗi sector từ 'ls' trên tệp tôi cần hoàn toàn không hợp tác (hơn 1000 lần thử qua đêm và không gặp may). Tôi hy vọng đó chỉ là siêu dữ liệu khi bạn thực hiện 'ls'? :)

Tôi có hầu hết các bản sao ddresTHER, nhưng nó không gắn kết (hoặc gắn kết mà không có tệp). Ổ đĩa bị hỏng gắn chính xác hầu hết thời gian ... có thể lỗi IO trên ổ đĩa bị hỏng 'gắn kết' để trở lại gương hoạt động?

** EDIT4: **

Tôi đã từ bỏ bây giờ, chờ đề xuất thêm. Tôi đã tháo ổ đĩa và xây dựng lại hộp. Tôi sẽ giữ ổ đĩa xung quanh trong trường hợp có cái gì đó xuất hiện.


3
Điều đầu tiên cần làm là tạo một bản sao của đĩa, sử dụng ddrescuehoặc công cụ tương tự khác để sao chép càng nhiều cung càng tốt. Đừng thực hiện bất kỳ phục hồi cấp hệ thống tệp nào từ đĩa bị hỏng, hãy thực hiện từ bản sao.
Gilles 'SO- ngừng trở nên xấu xa'

1
@Gilles Tôi đã đề cập đến tôi đã sử dụng ddresTHER. Rõ ràng có lỗi ở những vị trí sai cho một bản sao để gắn kết. Tôi không rõ ràng những gì tôi cần tập trung vào ddresTHER để khắc phục vấn đề đó ... do đó, câu hỏi về một cái gì đó như debugfs (hoặc ntfsinfo có thể hoạt động với phân vùng ít nhất cũng như 'mount' thông thường). Đặt cược tốt nhất của tôi tại thời điểm này là xem / var / log / message cho các lỗi sector khi tôi truy cập vào ổ đĩa xấu trong một mount chỉ đọc và cố gắng xử lý chúng cho bản sao cho đến khi nó hoạt động.
darron

1
Bạn đã tích cực làm mát ổ đĩa trong quá trình này? Giữ cho ổ đĩa lạnh nhất có thể giúp đáng kể.
Nathan V

Câu trả lời:


4

Một vài lưu ý từ kinh nghiệm của tôi:

  1. (nguyên nhân) Nếu bạn nghe thấy âm thanh bất thường trong các lần thử truy cập hd và các sự cố không xảy ra tại (ít nhiều) chỉ là các vị trí đĩa ngẫu nhiên, thì nguyên nhân gốc có lẽ là trên bề mặt đĩa (không phải là thiết bị điện tử) - thật không may , đó là kịch bản buồn. Nếu đó là "chỉ" các thiết bị điện tử, bạn có thể có cơ hội phục hồi hầu hết hoặc thậm chí tất cả dữ liệu của mình.
  2. (các thành phần xấu) Nếu bạn chưa có, hãy tìm kiếm trên web công cụ chẩn đoán / khôi phục khả năng khởi động của nhà sản xuất đĩa, tải xuống, khởi động, chạy thử nghiệm sâu và để nó thử ánh xạ lại các thành phần xấu - đó là phương pháp tốt nhất trong số các phương pháp miễn phí. Lưu ý rằng các thành phần xấu có xu hướng phát triển - vì vậy ngay cả khi bạn quản lý để bắt được một đoạn tệp của mình sau một số lần đọc 2314, rất có thể những nỗ lực đó đã khiến các thành phần xấu gần đó tăng lên, làm giảm hiệu quả các cơ hội phục hồi các phần khác của tập tin.
  3. (khôi phục NTFS) Không có gì có thể khắc phục hệ thống tệp NTFS cũng như các công cụ gốc của MS Windows. Nếu hình ảnh NTFS không thể gắn kết (cũng đảm bảo rằng bạn đang cố gắn kết phân vùng chứ không phải toàn bộ đĩa!), Bạn có thể thử những thứ như testdisktrong Linux, nhưng nếu thất bại, Windows ' chkdiskcó thể giúp đỡ. Nếu bạn đã cài đặt Windows dưới một máy ảo, bạn có thể chuyển đổi hình ảnh thô thu được từ ddrescueđịnh dạng được hỗ trợ bởi máy ảo đó (chẳng hạn như VDIhoặc VMDK), thêm nó vào VM và khởi động Windows ở chế độ dòng lệnh để sửa hệ thống tệp. Nếu bạn sử dụng VirtualBox, lệnh để chuyển đổi hình ảnh đó là VBoxManage convertfromraw <filename> <outputfile>tùy chọn --format VDI|VMDK|VHDđể có được định dạng đầu ra được chỉ định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.