Tích cực fsck một đĩa trước khi cài đặt


12

Tôi có một máy HP Athlon cũ tôi sử dụng để kiểm tra phần mềm theo bộ xử lý cũ. Chúng tôi thường xuyên có bên ngoài màu nâu, và sau lần cuối cùng, đĩa là một mớ hỗn độn. Thật tệ khi tôi không thể chạy fsckvà gửi tất cả các vấn đề. Tôi đã thực hiện cài đặt hệ điều hành mới, nhưng tôi vẫn nhận được fsckkhiếu nại.

Tôi muốn thử một lần cuối để tải lại Linux trước khi lên án ổ cứng hoặc máy. Sau khi hệ thống tập tin được tạo nhưng trước khi cài đặt xảy ra, tôi muốn một cuộc tấn công được fsckthực hiện để đánh dấu các khối nghi ngờ là xấu.

Ổ đĩa lớn (khoảng 500 GB) và bản phân phối Debian 8 tương đối nhỏ (8-12 GB thường là quá đủ), vì vậy tôi không quan tâm nếu các khối tốt bị đánh dấu là xấu. Tôi cũng thích cài đặt GUI, nhưng tôi chưa kết hôn với nó.

Tôi có hai câu hỏi:

  1. Debian 8 có cung cấp lựa chọn để thực hiện fscktrước khi cài đặt hệ thống cơ sở không? Nếu vậy, nó ở đâu? Nếu không thì quá trình là gì?

  2. fsckmột cài đặt để kiểm soát các khối tích cực được đánh dấu là xấu không? Nếu vậy, nó là cái gì? Nếu không, thì những gì có thể được sử dụng?


EDIT : máy là HP5850. Vào BIOS, điều hướng đến Bộ lưu trữ và sau đó Tự kiểm tra hệ thống bảo vệ ổ đĩa (DPS) dẫn đến DPS khuyến nghị thay thế ổ đĩa. DPS không cung cấp bất kỳ số liệu thống kê nào, vì vậy tôi không chắc mức độ thiệt hại.

Xem xét tôi có thể mua một ổ đĩa SATA II [cũ] mới với giá $ 12 USD, tôi sẽ thay thế nó. Không có ý nghĩa trong việc lãng phí thời gian hoặc năng lượng cho nó.


Các tài liệu tham khảo liên quan như sau. Không có câu hỏi dường như được giải quyết.


Tại sao không phải là SpinRite ?
Peter Mortensen

Nếu bạn có bất kỳ khối xấu nào, toàn bộ ổ đĩa đều bị lỗi vật lý và không nên sử dụng.
chrylis -on đình công-

2
"Tích cực fsck một đĩa" trông rất bẩn ...
A. Mirabeau

Câu trả lời:


19
  1. "Debian 8 có cung cấp lựa chọn để thực hiện fsck trước khi cài đặt hệ thống cơ sở không? Nếu vậy, nó ở đâu? Nếu không, thì quá trình là gì?"

    Để thay thế, trước tiên hãy tải xuống và ghi CD GPartEd (hoặc ghi vào ổ đĩa ngón tay cái). Trước khi chạy trình cài đặt, khởi động GPartEdvà phân vùng đĩa theo ý thích của bạn và chạy fsckhoặc chỉ chạy badblockstheo chiều dài.

    Khi bạn chạy trình cài đặt Debian, chỉ cần cho nó biết cách sử dụng các phân vùng ở đó. Trình cài đặt không cần tạo phân vùng riêng. Nó là hoàn toàn hạnh phúc để sử dụng các phân vùng hiện có.

  2. "Fsck có cài đặt để kiểm soát mức độ mạnh mẽ của các khối được đánh dấu là xấu không? Nếu vậy, nó là gì? Nếu không, thì có thể sử dụng cái gì?"

    Các -ctùy chọn để e2fscknguyên nhân nó để chạy các badblockschương trình để quét cho các khối xấu. Bạn có thể chạy badblocks trực tiếp là tốt. Theo mặc định, badblockskiểm tra chỉ đọc. Để tích cực hơn, bạn có thể chỉ định -ncho một bài kiểm tra đọc-ghi không phá hủy. Bạn cũng có thể đặt -ptùy chọn để tăng số lượng đường chuyền mà nó thực hiện.

    Bạn có thể muốn chạy badblockstrước khi phân vùng. Bằng cách đó, bạn có thể chỉ định -wkiểm tra chỉ viết nhanh hơn .


1
John, +1, chỉ tò mò không badblockscó phương pháp nào để đánh dấu ở cấp độ phần cứng, hay chỉ ở cấp độ FS?
heemayl

3
@heemayl Hiểu biết của tôi là, trên các đĩa cứng hiện đại , phần sụn của đĩa cứng cố gắng thực hiện tất cả việc quản lý khối xấu của chính nó. Mục đích của việc chạy badblockschỉ đơn thuần là buộc đĩa cứng đọc / ghi tất cả các cung. Đĩa cứng tự phát hiện và ánh xạ lại các thành phần xấu và, nếu tất cả đều hoạt động như bình thường, badblockschương trình không bao giờ được thông báo rằng đĩa cứng đang làm điều này.
John1024

hmmm..có thể hiểu được Vì vậy, về bản chất, fsck có thể đánh dấu các khối trên FS nhưng các lỗi xấu chỉ giúp phần sụn đĩa thực hiện việc đánh dấu, không làm gì cho riêng mình?
heemayl

3
@heemayl Vào thời xa xưa, badblockssẽ đưa ra một danh sách các thành phần xấu và hệ thống tập tin sẽ ghi chú về chúng. Trong thời hiện đại, badblocks và FS vẫn cố gắng làm điều đó, nhưng với một HD hiện đại, danh sách thường trống.
John1024

1
@heemayl và nếu danh sách không trống, đĩa thường bị hỏng nặng đến mức lựa chọn tốt nhất của bạn là thay thế nó.
Đánh dấu

7

Nếu bạn thường xuyên bị lỗi fsck, ổ đĩa cũng có thể bị ho ra máu. Ngay cả khi bạn đánh dấu mỗi khối xấu là xấu, sẽ không lâu nữa sẽ có nhiều khối xấu đi. Tôi sẽ tưởng tượng bạn có thể đổi thành một tty khác để thực hiện một fsck nếu bạn thực sự cần (Ctrl + alt + F2 để chuyển sang tty2), nhưng tôi không thể nhấn mạnh đủ bạn cần bao nhiêu ổ cứng mới nếu bạn đang nói là chính xác.


"Nếu bạn thường xuyên gặp phải lỗi fsck ..." - điều tôi không chắc chắn là, có rất nhiều fsckvấn đề sau khi cài đặt lại mức độ của sự cố, hoặc đó là phần nổi của tảng băng. Hệ thống khởi động, gặp một vài lỗi hệ thống tập tin (4 hoặc 6), phục hồi bằng cách hiển thị lại dưới dạng chỉ đọc và sau đó khởi động.

@jww bạn có thể vui lòng gửi một số ví dụ chính xác về các lỗi hệ thống tập tin đã nói không?
John Leuenhagen

Tại sao chuyển sang tty khác? Những lợi thế nào làm như vậy cung cấp?
fpmurphy

@ fpmurphy1 Nghe có vẻ như anh ta không thể mở một cửa sổ đầu cuối, vì vậy chuyển sang một tty khác sẽ là cách tốt nhất tiếp theo để vào vỏ.
John Leuenhagen

@jww: Các khối giống nhau được báo cáo mỗi lần hay là một bộ mới được báo cáo trên mỗi lần khởi động?
TMN

5
  1. Không, và tôi không nghĩ nó đáng giá. Fsck (được thực hiện bởi hầu hết các hệ thống tập tin) không kiểm tra ổ đĩa của bạn. Nó xác nhận siêu dữ liệu hệ thống tập tin và đảm bảo chế độ xem phù hợp khi bạn gắn kết chúng. Nó không có ý nghĩa gì để làm điều đó trước khi cài đặt, bởi vì theo định nghĩa, bạn sẽ chỉ có không gian trống.

  2. Sử dụng badblocks thay thế. Nếu bạn muốn đảm bảo dữ liệu của mình không bị thối, hãy sử dụng hệ thống tệp hỗ trợ quá trình lọc. Lvm chính nó cũng có thể làm điều đó .


3

Để kiểm tra độ tin cậy của đĩa hiện đại, hãy xem xét sử dụng các bài kiểm tra tích hợp; bạn có thể kích hoạt chúng bằng tiện ích smartctl, vd:

smartctl -t long /dev/sdx
#wait an hour or two
smartctl -a /dev/sdx
#should have recorded a result in the self-test log

Nếu bạn muốn đảm bảo trước rằng mọi thứ gần đây đã được viết, để khám phá các lĩnh vực sẽ không viết đúng, bạn có thể ghi đè lên toàn bộ phương tiện bằng một cái gì đó như một dd từ / dev / urandom hoặc cắt nhỏ với một trong những ngẫu nhiên tùy chọn.


3
Lưu ý rằng một ddtừ /dev/randomsẽ mất nhiều ngày để hoàn thành trên ổ đĩa 500 GB.
Dmitry Grigoryev

1
Đã sửa lỗi chính tả, thx :) Không muốn đánh vần cú pháp dd chính xác vì tôi muốn tránh việc có các dòng lệnh xung quanh, nếu vô tình dán vào trình bao, sẽ gây mất dữ liệu thực sự không thể phục hồi.
rackandboneman

Thật không may, Debian dường như không cung cấp smartctl: E: Unable to locate package smartctl. Đây có phải là tiện ích Red Hat / Fedora không?

gói debian / ubfox là smartmontools. BTW, sử dụng tìm kiếm apt-cache để tìm kiếm gói nào có thứ gì đó.
rackandboneman

2

Tôi khuyên bạn nên tải phần mềm định dạng cấp thấp của nhà sản xuất (nếu có) chỉ có thể chạy trên Windows (hoặc nếu bạn may mắn, từ CD / DVD / USB có thể khởi động mà bạn tải xuống hình ảnh từ trang web của họ) . Nếu bạn có đủ quyền kiểm soát hoạt động để giảm dung lượng ổ đĩa được báo cáo để đổi lấy nhóm ngành phụ tùng lớn hơn nhiều, bạn nên làm như vậy, dự đoán nhiều phụ tùng sẽ được thay thế khi bạn kiểm tra ổ đĩa như @rackandboneman đã đề xuất . Tốt hơn hết là có một ổ đĩa 400 hoặc 450 GB với tất cả các thành phần xấu được hoán đổi cho các phụ tùng và còn lại nhiều khuyết điểm trong tương lai, hơn là làm cạn kiệt nguồn dự phòng và có các thành phần xấu trong tương lai không thể được khắc phục trong suốt.


Tôi đã có thể chạy SeaTools cho DOS . SeaTools báo cáo SMART không kích hoạt, điều này có vẻ bất thường. Bài kiểm tra dài bài kiểm tra ngắn đã thất bại ngay lập tức. Tôi thay đổi kích thước đĩa xuống còn 32 GB; và sau đó chạy thử nghiệm dài một lần nữa. SeaTools đã tìm thấy 4 LBA xấu xung quanh mốc 1190000 và sửa chữa chúng. Một cài đặt hệ điều hành mới đã hoạt động hoàn hảo; và khởi động lại sau đó không có rắc rối. Vì tôi đã mua ổ đĩa SATA II thay thế, tôi sẽ giữ nó dưới dạng dự phòng nóng nếu ổ đĩa hiện tại hoạt động sai.

@jww thật đáng tiếc rằng bạn đã chấp nhận một câu trả lời khác nhau.
Monty Harder

Vâng, đó là cái bẫy Hỏi & Đáp ... Tôi phải đặt câu hỏi cụ thể để có câu trả lời chính xác. Nếu tôi đã hỏi, "làm thế nào để tôi cài đặt Linux trên một ổ cứng bị lỗi", thì câu hỏi có lẽ đã bị đóng lại.

0

Một số điều cơ bản nếu bạn không có sẵn các công cụ fancier (ví dụ: đó là đĩa USB và SMART không hoạt động):

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

sẽ đọc tất cả các đĩa. Bạn sẽ thấy trong dmesgnhật ký nếu có những lĩnh vực không thể đọc được. Mặc dù nó sẽ không cho bạn biết nếu nó có thể đọc chúng sau khi thử lại. Nó không tốt như badblocksnhưng tôi đề cập đến nó vì sự phổ biến của nó.

Nếu bạn có thành phần xấu và bạn không muốn bất cứ điều gì trên đĩa:

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

sẽ khiến tất cả các khối được viết lại. Nếu có các khu vực không thể đọc được, điều này sẽ khiến chúng bị hoán đổi với các khu vực trong nhóm phân bổ lại và có thể sử dụng lại được.

Nếu bạn có một đĩa trong đó việc tái phân bổ đang diễn ra thì đĩa đang trên đường ra. Tôi sẽ không sử dụng nó cho bất cứ điều gì quan trọng, nhưng đôi khi bạn có dữ liệu mà bạn không quan tâm lắm và điều đó có thể ổn với điều đó.

Nếu đó là SSD thì mọi thứ sẽ khác và chúng không được áp dụng.

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.