Kiểm tra hd vật lý đầy đủ


17

Tôi muốn chạy một kiểm tra vật lý đầy đủ theo từng lĩnh vực trên một số ổ đĩa cứng bên ngoài. Theo tôi biết, chkdskkhông cung cấp tùy chọn này.

Có một cách giải quyết dưới chkdsk, hoặc một sự thay thế tốt? Tôi đang sử dụng Windows 7 trên máy này, nhưng các giải pháp Linux áp dụng từ CD trực tiếp cũng được hoan nghênh.

Cảm ơn,

Adam Matan


Bạn đang chạy hệ điều hành nào? Vì bạn đã đề cập đến chkdsk, tôi giả sử đó là Windows NT, XP, Vista, 7, Server 2003 hoặc Server 2008
cướp

Câu trả lời:


28

Trong Windows NT / XP / Vista / 7, bạn có thể mở dấu nhắc CMD và sử dụng

chkdsk /r x:

Trong đó x là ký tự ổ đĩa của ổ USB của bạn, giả sử ổ đĩa được phân vùng và có ký tự ổ đĩa được gán cho nó.

Tôi khuyên bạn nên lấy CD trực tiếp Ubuntu và khởi động vào Linux, sau đó sử dụng badblocks để quét các khiếm khuyết vật lý.

Sử dụng sudo fdisk -lđể liệt kê tất cả các ổ đĩa và phân vùng của chúng. Đối với mỗi ổ đĩa :

sudo badblocks -nvs /dev/sdx

trong đó ổ cứng của bạn là / dev / sdx. Điều này sẽ thực hiện kiểm tra đọc / ghi không phá hủy trên đĩa mà không cần thực hiện kiểm tra hệ thống tập tin.

Nếu bạn không quan tâm đến dữ liệu, bạn có thể thực hiện việc này thay vào đó, để quét kỹ hơn:

sudo badblocks -wvs /dev/sdx

Tùy chọn -w yêu cầu các badblocks viết một mẫu đã biết, sau đó đọc lại dữ liệu để đảm bảo nó phù hợp với mẫu đó. Nó thực hiện điều này 4 lần, sử dụng các mẫu 0xaa, 0x55, 0xff và 0x00 (xen kẽ 0 và 1, sau đó tất cả 1, sau đó tất cả 0). Lưu ý rằng điều này sẽ ghi đè lên tất cả dữ liệu trên ổ đĩa và xóa sạch tất cả các phân vùng.

Nếu bạn tình cờ có một hệ thống tập tin Linux trên ổ đĩa, bạn có thể kiểm tra các lỗi hệ thống tập tin và chạy badblocks cùng một lúc. Đầu tiên, lấy danh sách tất cả các ổ đĩa và phân vùng của chúng:

sudo fdisk -l

Sau đó, cho mỗi phân vùng :

sudo e2fsck -fcc /dev/sdx#

Một lần nữa, / dev / sdx là ổ cứng bạn muốn quét. # là số lượng phân vùng (ví dụ: / dev / sdb1). Chỉ định c hai lần sẽ buộc fsck chạy và sẽ sử dụng badblocks để thực hiện kiểm tra đọc-ghi không phá hủy. Nếu bạn chỉ sử dụng tùy chọn c một lần, badblocks sẽ thực hiện kiểm tra chỉ đọc.

Tôi chạy badblocks -wv trên mỗi ổ cứng mới tôi mua trước khi đưa nó vào sử dụng.


1
Tôi không nghĩ rằng chkdsk / r thực sự quét mọi khối ... nó chạy nhanh hơn nhiều so với tôi mong đợi cho một thứ gì đó đọc từng khối. Có thể muốn lưu ý tùy chọn kiểm tra không phá hủy của badblocks, trong trường hợp anh ta đã có dữ liệu trên các đĩa.
davr

@davr: Cảm ơn; Tôi đã đề cập đến các bài kiểm tra không phá hủy badblocks trong lệnh fsck, nhưng tôi đã thêm một badblocks rõ ràng -vs để được kỹ lưỡng. chkdsk / r kiểm tra các khối xấu và mất khá nhiều thời gian khi tôi chạy nó, nhưng có lẽ không triệt để như badblocks -w. Bạn có chắc chắn rằng bạn không nghĩ về chkdsk / f hoặc chkdsk / p, điều này sẽ chỉ sửa các lỗi hệ thống tập tin nhưng sẽ không quét các khối xấu?
cướp

@davr: Tôi đã nghĩ đến một điều ... chkdsk có thể không kiểm tra bản ghi khởi động hoặc bảng phân vùng. Vì nó chỉ lấy một tên âm lượng (nghĩa là ký tự ổ đĩa, điểm gắn kết hoặc tên âm lượng) làm đối số, điều đó cho thấy bạn chỉ có thể kiểm tra âm lượng logic cho các lỗi phương tiện và mọi thứ bên ngoài âm lượng được chỉ định (phân vùng) sẽ bị bỏ qua. Tuy nhiên, điều đó không tạo ra nhiều sự khác biệt về tốc độ quét. Có phải đó là những gì bạn đang nói về?
cướp

1
Việc bạn sử dụng fsck thực sự là một tài liệu tham khảo cho e2fsck. Các fsck chứng khoán không bao gồm một -cdòng lệnh arg. Khác hơn, câu trả lời tốt.
DaveParillo

Đúng rồi, Dave. Cảm ơn; Tôi đã chuyển các hướng dẫn badblocks lên phía trước kể từ khi anh ấy chạy Windows, nhưng đã sửa các hướng dẫn e2fsck và chuyển chúng đến cuối cho bất kỳ ai chạy ngang qua điều này và đang chạy Linux.
cướp

5

Tôi muốn chạy một kiểm tra vật lý đầy đủ theo từng lĩnh vực trên một số ổ đĩa cứng bên ngoài.

Tải xuống và chạy HD Tune , chọn ổ đĩa bạn muốn quét từ menu thả xuống, nhấp vào tab Error Scan (đảm bảo hộp Quick Scan rõ ràng) và nhấn Bắt đầu .

nhập mô tả hình ảnh ở đây

HD Tune miễn phí cho sử dụng cá nhân và di động (không cần cài đặt).


1
Phần mềm miễn phí ?? Dùng thử 15 ngày! Đó chỉ là HD Tune đó là phần mềm miễn phí.
Loren Pechtel

xin lỗi, chỉnh sửa bài đăng ... mặc dù không có nhiều sự khác biệt bởi vì tính năng tôi đang đề cập có sẵn trong phiên bản miễn phí, như bạn có thể nói từ ảnh chụp màn hình.

1

Nhiều nhà sản xuất ổ đĩa như Western Digital và Seagate cung cấp các công cụ sẽ thực hiện loại kiểm tra này. Thường là một công cụ Windows.


Theo tôi biết, điều này chỉ chạy tự kiểm tra SMART, không phải là quét toàn bộ ổ đĩa.
endolith

endolith- Các bài kiểm tra từ WD semm vượt xa SMART. Tải xuống miễn phí vì vậy hãy thử nếu bạn có ổ WD
Dave M

1

Trên Windows, tôi sẽ sử dụng phiên bản HDTune miễn phí để quét các thành phần xấu. Tuy nhiên, chương trình Linux BadBlocks tốt hơn nhiều, cung cấp cho bạn một danh sách chính xác của mọi khối xấu và hỗ trợ cả kiểm tra đọc và viết (mặc dù ghi là phá hoại).


2
badblocks cũng có một bài kiểm tra viết không phá hủy. nó đọc khối, viết một giá trị mới, kiểm tra giá trị mới, sau đó ghi lại khối ban đầu. vì vậy nó sẽ không phá hủy bất kỳ dữ liệu hợp lệ trên đĩa. Nhược điểm là các hoạt động bổ sung làm cho nó chạy chậm hơn nhiều.
davr

1

Bất kỳ ổ đĩa hiện đại nào cũng sẽ tự động ánh xạ lại các khối không thể đọc / iffy. Một hệ điều hành thông thường sẽ không nhận được lỗi đọc cho một khối trừ khi khối đó thực sự không thể đọc được và việc ghi lên khối đó sẽ khiến ổ đĩa sắp xếp lại. Điều đó sẽ chỉ thất bại nếu ổ đĩa hết khối dự phòng, trong trường hợp đó là thời gian để thay thế ổ đĩa!

Kết quả cuối cùng là một hệ điều hành đánh dấu "các khối xấu" theo kiểu scandisk thường là vô nghĩa.

Như đã nói, tôi sẽ sử dụng bài kiểm tra tự mở rộng SMART. smartmontools nên làm việc. Bạn cũng có thể nhận được số lượng các khối ánh xạ lại.

Lưu ý rằng trong linux, một đồng bằng dd if=/dev/sdx of=/dev/null, trong đó sdx là thiết bị chặn của đĩa, sẽ thực hiện đọc toàn bộ logic của đĩa. Nếu bất kỳ khối nào không thể đọc được, bạn sẽ gặp lỗi. Nếu bạn không nhớ ghi dữ liệu, bạn có thể dd if=/dev/zero of=/dev/sdxghi đè lên toàn bộ đĩa, khiến cho ổ đĩa được ánh xạ lại khi cần thiết.


1
Thay vì sử dụng 'dd', tốt hơn là sử dụng lệnh linux 'badblocks', được thiết kế riêng cho tác vụ này.
davr

1
Quan điểm của tôi là "nhiệm vụ này" cũng lỗi thời như khái niệm "khối xấu".
Thuyền trưởng Segfault

Ổ cứng không sửa các khối xấu cho đến khi bạn viết thư cho chúng. Một cách tốt để viết cho họ là sử dụng badblocks trong chế độ không phá hủy. : D
endolith

Tôi ước điều này là sự thật. Bạn đang nhầm lẫn giữa các đĩa bên trong với các đĩa ngoài USB. Vỏ ổ USB cần phần sụn tốt hơn với báo cáo SMART, phần lớn chúng thiếu.
Nicolay77

@endolith Một số ổ đĩa cứng di chuyển các khối nghi ngờ khi đọc quá. Ít nhất là một số ổ cứng doanh nghiệp.
Roland Pihlakas

-1

Tôi chưa bao giờ quan tâm đến ổ đĩa ngoài USB, vì chúng không thực sự tồn tại khi một số công cụ tốt nhất như ScanDisk được viết. Tôi đặc biệt thích phiên bản ScanDisk đi kèm với Windows 98 SE.

Vì vậy, nếu đó là ổ đĩa ngoài, có lẽ bạn nên đặt nó vào máy tính và sau đó chạy fsck -ftrên ổ đĩa từ Linux LiveCD như CD Cứu hộ PLD .


1
ScanDisk đã lỗi thời. fsck -f sẽ buộc fsck chạy, nhưng nó sẽ không thực hiện kiểm tra phương tiện vật lý.
cướp
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.