Làm thế nào để sửa lỗi Bad sector ổ cứng


17

Tôi đã cố gắng sửa lỗi ổ cứng của mình bằng Ubuntu nhưng tôi gặp phải thông báo lỗi và không biết cách tiến hành. Tôi cần sửa chữa các thành phần xấu của tôi

fsck /dev/sdb  
fsck from util-linux 2.20.1  
e2fsck 1.42.5 (29-Jul-2012)  
fsck.ext2: Permission denied while trying to open /dev/sdb  
You must have r/w access to the filesystem or be root  

1
Văn bản bạn đã dán dường như không liên quan đến câu hỏi của bạn - bạn có thể làm rõ không?
thomasrutter

Câu trả lời:


22

Một khu vực xấu trên một ổ đĩa là một dấu hiệu thiệt hại vĩnh viễn cho ổ đĩa. Trừ khi bạn có lý do để tin rằng ổ đĩa của bạn đánh dấu các khu vực này là không chính xác, bạn không thể "sửa" chúng.

Điều đó có nghĩa là một phần ổ đĩa của bạn bị hỏng đến mức không còn có thể đọc được và / hoặc ghi vào đó.

Hệ thống của bạn có thể tiếp tục sử dụng ổ đĩa bằng cách đánh dấu khu vực đó là không thể sử dụng được, nhưng dù sao bạn cũng có thể xem xét việc thay thế ổ đĩa, vì một khu vực xấu có thể là dấu hiệu cho thấy nhiều ngành hoặc toàn bộ ổ đĩa có thể bị hỏng sớm.

Mặc dù có thể có những cách để buộc ổ đĩa không đánh dấu một khu vực là xấu, cho phép bạn sử dụng lại nó, đây có thể không phải là một ý tưởng tốt. Lĩnh vực này có thể vẫn tốt, nhưng nó sẽ có khả năng trở lại tồi tệ. Một số dữ liệu có thể bị mất hoặc bị hỏng tùy thuộc vào cách nó bị lỗi.

Bây giờ, đối với thông báo lỗi bạn đã dán trong câu hỏi của bạn (như khi tôi viết bài này), lỗi đó không liên quan gì đến các thành phần xấu. Điều đó có nghĩa là bạn không có quyền truy cập vào ổ đĩa. Được sudocó thể cung cấp cho bạn quyền truy cập, vì vậy:

sudo fsck /dev/sdb

Tuy nhiên, đây có lẽ vẫn không phải là điều bạn muốn, bởi vì / dev / sdb đề cập đến toàn bộ ổ đĩa, trong khi fsckđược thiết kế để hoạt động trên các hệ thống tệp , thường là (nhưng không phải luôn luôn và bạn có thể có ngoại lệ ở đây) được đặt trong các phân vùng . Nếu cách trên không hoạt động, thay vào đó bạn có thể muốn thực hiện việc này với phân vùng thứ 1 trên ổ đĩa đó:

sudo fsck /dev/sdb1

Bạn có thể nhận danh sách các phân vùng trên mỗi ổ đĩa với:

sudo fdisk -l

7
Nó có lẽ chỉ là một khối xấu. Nó không thể đọc dữ liệu, là tất cả. Sau khi ánh xạ lại khối, ổ đĩa có khả năng tốt trong ba năm nữa. Kinh nghiệm của tôi cũng vậy.
Zan Lynx

Một ổ cứng với một khu vực xấu là rất nhiều, rất có thể sẽ thất bại bất cứ lúc nào so với một khu vực chưa bao giờ có một khu vực xấu. Kinh nghiệm của bạn dựa trên bao nhiêu ổ đĩa? Tôi vẫn sẽ gọi nó là một canh bạc lớn hơn.
thomasrutter

Nhiều khả năng? Chắc chắn rồi. Nhưng nó không ngay lập tức cam chịu. Rất nhiều phụ thuộc vào lý do tại sao khối đó trở nên tồi tệ. Như tôi đã nói, tôi đã có các ổ đĩa từ từ ánh xạ lại một vài khối xấu trong suốt cuộc đời của họ và tiếp tục hoạt động.
Zan Lynx

it isn't immediately doomed- bạn không có cách nào để biết hoặc đảm bảo điều đó. Trong một số trường hợp nó có thể được. So much depends on why that block went bad- không thể tin tưởng tìm hiểu lý do tại sao, mà không mở nó ra và phá hủy nó một cách hiệu quả. Như tôi đã nói, nó luôn luôn tăng nguy cơ. Nếu bạn hoàn toàn ổn với rủi ro như vậy tôi không có vấn đề gì với điều đó. Hầu hết thời gian, thậm chí có thể> 90% thời gian, ổ đĩa sẽ không nhanh chóng bị hỏng sau khi tìm thấy một khu vực xấu và trong một số trường hợp, nó thậm chí có thể tồn tại trong nhiều năm sau đó. Giữ các bản sao lưu tốt và bất kỳ thất bại trong tương lai sẽ không bị tổn thương nhiều.
thomasrutter

1
Nói "đĩa được gắn" và không làm gì cả.
Ngày

21

Tóm lại : Khởi động hệ thống cứu hộ và sử dụng badblocks :

badblocks -svn /dev/sda

để có bộ điều khiển đĩa cứng thay thế các khối xấu bằng các khối dự phòng.

Tôi đã trả lời cùng một câu hỏi chi tiết ở đây .


4
Bạn có thể muốn sử dụng điều này một cách gián tiếp với -ctùy chọn của fsck . AFAIK sử dụng badblocksđộc lập sẽ không bao giờ thay đổi hành vi của bất cứ điều gì, nó sẽ chỉ báo cáo về nơi các khối xấu. Tất nhiên, phần sụn ổ đĩa có thể thay đổi hành vi của nó một cách trong suốt khi đặt dưới đặc điểm mô hình sử dụng badblocks, nhưng chắc chắn điều này sẽ phụ thuộc vào ổ đĩa?
amoe

1
Là người dùng mới, trước tiên bạn cần có được "danh tiếng" trước khi được phép thực hiện một số hoạt động nhất định trên trang web này. Vì vậy, nó không thể lặp lại điều này. Vẫn là câu hỏi xứng đáng được trả lời. Vì các khối xấu là một vấn đề của đĩa vật lý (hãy kiểm tra các giá trị SMART, hệ thống tệp không bị ảnh hưởng trực tiếp. Nó có thể bị hỏng do mất dữ liệu. Vì vậy, thực hiện một fsck cũng là một ý tưởng hay. "sửa chữa" các khối xấu đây là câu trả lời.
user228505

@amoe tài liệu cho rằng hành vi sẽ thay đổi, tại đây: "Chạy sudo badblocks -n trên tên thiết bị để tự chạy và báo cáo lỗi ngay trong thiết bị đầu cuối của bạn. Bạn có thể sử dụng tùy chọn -w để sử dụng kiểm tra chế độ ghi, nhưng không được sử dụng các tùy chọn -n và -w cùng nhau vì chúng loại trừ lẫn nhau. Trong mọi trường hợp, bạn không nên sử dụng tùy chọn -w trên ổ đĩa có dữ liệu, vì nó sẽ xóa mọi thứ sạch sẽ. tùy chọn vì nó sẽ bảo vệ dữ liệu của bạn trong trường hợp này. Tùy chọn -w phù hợp với khối lượng mà bạn không ngại xóa. "
Nữ web

13

Vào thời xa xưa, bạn thường phải ghi chú lại các lỗi được ghi trên ổ đĩa và nhập những thứ đó vào danh sách lỗi trước khi định dạng ổ đĩa, bởi vì bề mặt đĩa cứng không bao giờ "hoàn hảo", nhà sản xuất đã khôn ngoan với điều này bởi vì mọi người mua đĩa sẽ nhìn vào bảng lỗi được in trên đĩa và mua những đĩa có ít lỗi nhất ...

Bây giờ di chuyển về phía trước khoảng 20 năm và các nhà sản xuất đĩa cứng che giấu thực tế là một đĩa hoàn toàn mới có các khối xấu với phần sụn, khi bạn mua một đĩa hoàn toàn mới, nó sẽ có tất cả các khối xấu, phần sụn sẽ phát hiện các lỗi xấu mới phát triển và ánh xạ chúng ra từ một tập hợp các hình trụ dự phòng mà nó có, nhưng điều này chỉ xảy ra khi một thao tác ghi xảy ra trên khu vực đó và thuật toán ECC phát hiện ra lỗi bit, chỉ sau đó nó sẽ ánh xạ khối ra. Vì vậy, quay trở lại điểm bạn có thể buộc một ổ đĩa để vạch ra các lỗi xấu bằng cách sử dụng DD, tức là / [chỉnh sửa: ví dụ sau đây đã được chỉnh sửa để ngăn chặn sự phá hủy ổ đĩa vô tình: xóa ký tự đại diện, thay thế bằng X]

dd if=/dev/zero of=/dev/sdX bs=1M 

rõ ràng thay đổi of = target để phản ánh ổ đĩa bạn muốn về 0, đây là cách nhanh nhất để ánh xạ lại lỗi của ổ đĩa, đây cũng là cách nhanh nhất để loại bỏ hoàn toàn thiết lập Linux của bạn bằng cách lấy nhầm ổ đĩa đích, vì vậy hãy kiểm tra, kiểm tra kỹ sau đó kiểm tra lại, trước khi bạn nhấn phím enter. Bạn có thể tăng kích thước của kích thước khối trong lệnh dd để tối ưu hóa việc đọc / ghi và có thể làm cho mọi việc diễn ra nhanh hơn, nhưng có lợi nhuận giảm dần sau một điểm. Tôi tìm thấy bất cứ điều gì giữa 1M và 8M phù hợp nhất với tôi

Bạn có thể bị DD chỉ viết một khu vực, một khu vực xấu ... để được sửa lại, vì vậy bạn không cần phải sao lưu ổ đĩa của mình, nhưng đó là một ấm cá và roulette Nga hoàn toàn khác nếu bạn không biết chính xác Bạn đang làm gì vậy .....

Lệnh này SILL phá hủy mọi thứ trên ổ cứng của bạn bao gồm mọi phân vùng. Nhưng nó sẽ buộc các ổ đĩa phải vạch ra bất kỳ thành phần xấu nào mà nó có thể có.

Hoàn toàn ổn khi một đĩa có các thành phần xấu miễn là chúng không có trong khu vực khởi động, nếu chúng là ổ đĩa thì vô dụng, nếu bạn nhận thấy một vài tháng sau đó, ổ đĩa của bạn đã phát triển thêm các thành phần xấu thì đã đến lúc để bắt đầu mua sắm cho một sự thay thế.

Tôi đã hồi sinh hàng trăm ổ đĩa như thế này và chúng đã tồn tại trong nhiều năm sau đó, một khu vực xấu không nhất thiết là hồi chuông báo tử cho ổ đĩa.


Tôi đã sử dụng phương pháp này trước đây nhưng không bao giờ biết tại sao nó hoạt động. Trong số ít các ổ đĩa kéo dài trong nhiều năm sau khi lau sạch ổ đĩa theo quy định.
MER

Hành động !! Đối với những người không quen biết, VUI LÒNG KHÔNG SAO CHÉP VÀ TRẢ TIỀN R LINENG. Vỏ của bạn sẽ mở rộng ký tự đại diện '?' với tên thiết bị thực tế trong / dev. Nếu bạn vô tình nhấn enter trước khi thay thế?, Bạn có thể xóa nhầm ổ đĩa. Nếu bạn có nhiều hơn 1 thiết bị, dd có thể gặp lỗi, nhưng tôi không muốn kiểm tra điều đó trên máy của mình.
TiberiusKirk
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.