Những rủi ro có thể gặp khi khôi phục dữ liệu bằng phần mềm (Phần 2)
Khôi phục dữ liệu bằng phần mềm có thể tiềm ẩn nhiều rủi ro hỏng ổ cứng và mất dữ liệu vĩnh viễn nếu người thực hiện không được trang bị kiến thức chuyên sâu cũng như kinh nghiệm thực tế. Bài viết này nằm trong series bài viết chuyên môn giải thích một số nguyên nhân chính của những kết quả không mong muốn trên.
Phần 1: Những rủi ro có thể gặp khi khôi phục dữ liệu bằng phần mềm (Phần 1) – HTI Services
Các công cụ phần mềm khôi phục dữ liệu phải hoạt động thông qua phần cứng, chúng đơn giản là không được thiết kế để giải quyết các sự cố không ổn định của ổ cứng. Để làm cho vấn đề nan giải hơn, phần cứng máy tính tiêu chuẩn thường được thiết kế đặc biệt để không xử lý các thiết bị lưu trữ bị hỏng vì mục tiêu chính của nó là đảm bảo hệ thống tiếp tục hoạt động. Làm việc với các thiết bị lưu trữ không ổn định thường xuyên gặp lỗi không phải là cách tốt để hoàn thành mục tiêu đó, vì vậy, sau một khoảng thời gian bất ổn nhất định, phần mềm/phần mềm hệ thống (BIOS/OS) sẽ từ chối hoạt động với nó. Nếu phần cứng đã quyết định không hoạt động với ổ đĩa, thì việc phần mềm khôi phục dữ liệu có khả năng làm được những gì không thực sự quan trọng.
Phần cứng từ chối làm việc với các ổ đĩa không ổn định thậm chí còn là vấn đề nghiêm trọng hơn so với lúc đầu vì nó còn ảnh hưởng nhiều thứ khác ngoài việc không thể khôi phục dữ liệu. Không phải lúc nào phần mềm cũng nhận thức được thực tế là phần cứng đã ngừng hoạt động với ổ đĩa, vì vậy ổ đĩa bị “bỏ rơi” hoặc kẹt đầu từ theo cách này vẫn có thể được bật nguồn và không hoạt động (idling), trong khi phần mềm vẫn tiếp tục cố gắng truy cập vào nó một cách vô ích. Hầu hết tất cả các ổ đĩa hiện đại đều có cơ chế tự động kích hoạt bất cứ khi nào ổ đĩa ở trạng thái không hoạt động (idling) trong một khoảng thời gian nhất định. Cơ chế này làm cho ổ đĩa tự quét bề mặt của nó để tìm và phân bổ lại các sector hỏng hoặc yếu. Về cơ bản, nó làm cho các đầu đọc/ghi quét mọi khu vực có thể truy cập và bất kỳ khu vực có vấn đề nào được tìm thấy sau đó sẽ được phân bổ lại.
Đây là điều cuối cùng mà chúng ta muốn một ổ đĩa không ổn định phải làm! Ổ đĩa sẽ nhanh chóng xuống cấp như thể nó đang được đọc, nhưng sẽ không có bất kỳ dữ liệu nào để hiển thị cho nó. Để làm cho vấn đề tệ hơn, danh sách lỗi có thể trở nên đầy và gây ra lỗi firmware thêm vào những vấn đề đang cần được giải quyết. Phần cứng được thiết kế cho mục đích khôi phục dữ liệu sẽ không bao giờ ngừng hoạt động với ổ đĩa theo cách này và nó cũng có thể nhận ra và dừng ổ đĩa bất cứ khi nào nó bắt đầu quá trình tự quét không mong muốn.
Thông thường, các kỹ thuật viên trong các công ty CNTT sẽ kết nối trực tiếp ổ đĩa của khách hàng với một máy tính đang chạy hệ điều hành (OS) như Windows hoặc OS X, để chạy phần mềm khôi phục dữ liệu trên ổ đĩa. Nếu hệ thống tệp trên ổ đĩa được hỗ trợ bởi hệ điều hành mà nó được kết nối, hệ điều hành sẽ cố gắng gắn kết ngay lập tức để cung cấp cho người dùng quyền truy cập vào các tệp. Riêng quá trình gắn kết được sử dụng bởi Windows/OS X có thể rất nặng khi chạy trên một ổ đĩa không ổn định. Chi tiết chính xác của quá trình gắn kết sẽ khác nhau tùy thuộc vào phiên bản hệ điều hành, nhưng chúng ta có thể phác thảo cách hoạt động của Windows 7 và OS X Yosemite trên khía cạnh này.
Windows 7 bắt đầu quá trình gắn bằng cách đọc Bản ghi Master Boot của ổ đĩa 9 lần liên tiếp. Nếu thành công, nó sẽ tiếp tục đọc phần Master File Table (MFT) của hệ thống tệp trong các block của 128 sector trong khi đồng thời gửi các lệnh ghi không thường xuyên để cập nhật các bản ghi nhỏ khác nhau. Nếu một ổ đĩa không thể đọc một block trong MFT thì Windows sẽ tự động cố gắng đọc lại block đó, lặp đi lặp lại … tối đa 9 lần liên tiếp. Nếu tất cả những nỗ lực đó đều không có kết quả, Windows sẽ chia block 128 sector có vấn đề thành các block nhỏ hơn tương đương với kích thước cluster đang được hệ thống tệp sử dụng (thường là 8 sector hoặc 4KB). 128 sector tương tự mà đã không thể đọc sau 9 lần thì sau đó sẽ được thử 8 sector cùng một lúc. Nếu bất kỳ block 8 sector nhỏ hơn đó không đọc được, Windows cũng sẽ thử chúng 9 lần mỗi block. Nếu tất cả những lần thử đó đều thất bại lần nữa thì Windows sẽ từ bỏ, reset ổ đĩa và tự động khởi động lại toàn bộ quá trình gắn kết từ đầu. Nếu được phép, Windows sẽ khởi động lại quá trình gắn cho đến khi ổ đĩa bị treo và ngừng phản hồi hoàn toàn. Bởi thiệt hại trong trường hợp này xảy ra do sự lặp lại nhiều lần của các lệnh đọc ATA tiêu chuẩn bị lỗi, việc sử dụng trình chặn ghi cũng không giúp ích được gì.
Nếu Windows gắn thành công ổ đĩa, nó sẽ tiếp tục ghi vào ổ đĩa đó một số lần nữa để hoàn tất việc cập nhật ký hệ thống của nó. Mỗi khi tệp được mở, Windows cũng sẽ cập nhật các thuộc tính của nó để theo dõi lần cuối mỗi tệp được truy cập. Đương nhiên, tất cả các lệnh ghi này đang ghi đè lên dữ liệu cũ, gây mất dữ liệu vĩnh viễn và làm hao mòn thêm ổ đĩa không cần thiết.
OS X Yosemite có một cách tiếp cận khác để gắn ổ đĩa. Nó không thử nhiều như Windows 7 để đạt được kết nối thành công. Nó thực hiện nhiều thao tác đọc và ghi rất giống nhau trong quá trình này, tuy nhiên nếu nó tìm thấy một block mà nó không thể đọc trong phần quan trọng của hệ thống tệp (ví dụ như trong cấu trúc thư mục gốc) thì nó sẽ cố gắng đọc nó chỉ 5 lần tại thời điểm đó nó sẽ từ bỏ và ngừng cố gắng việc gắn hoàn toàn ổ đĩa. Ổ đĩa như vậy tất nhiên vẫn ẩn đối với hệ điều hành, nhưng nó sẽ vẫn được bật nguồn và không hoạt động (idling), đây có thể là một nguyên nhân đáng lo ngại như đã đề cập trước đây. Nếu tất cả các cấu trúc quan trọng đều được đọc thành công và các cấu trúc ít quan trọng hơn (chẳng hạn như mục nhập danh mục cho các tệp người dùng cụ thể) thì OS X sẽ thử các block ít quan trọng hơn tối đa 10 lần trước khi bỏ qua chúng và gắn ổ đĩa mà không có dữ liệu trong các block đó. Trong trường hợp này, OS X sẽ nhận ra và có thể hoạt động với ổ đĩa, nhưng một số tệp sẽ bị thiếu. Người dùng sẽ không được thông báo về vấn đề này.
Một tính năng ít được biết đến của Windows là nó tự động “dọn dẹp” bất kỳ mục nhập hệ thống tệp nào mà nó không hiểu trên các thiết bị được gắn kết. Nói cách khác, tất cả các mục nhập MFT bị hỏng một phần mà Windows tình cờ gặp trên ổ đĩa khách hàng được gắn kết sẽ bị xóa mà không có một lời nhắc hoặc thông báo nào tới người dùng, một lần nữa gây mất dữ liệu vĩnh viễn và giảm chất lượng ổ đĩa không cần thiết. Ngay cả các mục nhập MFT bị hỏng một phần vẫn có thể rất hữu ích khi được phân tích cú pháp bằng các phương pháp được thiết kế cho tác vụ này. Các công cụ phần cứng được thiết kế phù hợp sẽ không bao giờ cho phép hệ điều hành như Windows hoặc OS X truy cập trực tiếp vào ổ đĩa, đảm bảo rằng những sự cố như thế này sẽ không bao giờ xảy ra.
Một trong những công cụ khôi phục dữ liệu điện tử tốt nhất hiện nay phải kể đến PC-3000 Portable III Systems đến từ nhà sản xuất danh tiếng ACE Lab. Đây là hệ thống bao gồm cả phần cứng và phần mềm dành cho chẩn đoán, sửa chữa và khôi phục dữ liệu điện tử từ các thiết bị lưu trữ điện tử gặp trục trặc phần cứng và hỏng hóc hệ thống file xảy ra ở mức logic. Sản phẩm này có khả năng khôi phục dữ liệu trên SATA/USB HDD, RAID và SSD. Hệ thống PC-3000 Portable III Systems cho phép chỉ đọc dữ liệu cần thiết do chức năng tích hợp mạnh mẽ để phân tích logic các hệ thống tệp tin hệ thống. Công nghệ tiên tiến này giúp giảm đáng kể khối lượng dữ liệu đọc, khối lượng công việc trên các ổ cứng bị hỏng và thời gian cần thiết để phục hồi dữ liệu. Do đó, bạn có thể đọc dữ liệu ngay cả khi một ổ đĩa có thiệt hại vật lý nặng như Bad sector, lỗi đầu từ (đọc trên các đầu từ còn lại).
Công ty CP Đầu tư và Công nghệ HTI (HTI Group) hiện là Nhà phân phối chính thức các sản phẩm của ACE Lab, trong đó có hệ thống PC-3000 Portable III Systems tại Việt Nam. Tìm hiểu chi tiết về sản phẩm tại đây.