Tất cả dữ liệu quan trọng của chúng tôi nằm trong một hệ thống tệp thuộc loại này hoặc loại khác và các sự cố hệ thống tệp bị ràng buộc xảy ra. Trên Linux, chúng ta có thể sử dụng
fsck.
lệnh để tìm và sửa lỗi hệ thống tệp.
Hệ thống tệp là phần mềm
Hệ thống tập tin là một trong những thành phần quan trọng nhất của máy tính. Không có hệ thống tệp, máy tính không thể lưu trữ bất kỳ dữ liệu nào trên ổ cứng, cho dù ổ đĩa đó là một đĩa cơ học quay hoặc a ổ đĩa trạng thái rắn . Trong thực tế, một hệ thống tệp phải được tạo trước khi hệ điều hành có thể được cài đặt trên ổ cứng. Phải có một cái gì đó cho các tệp hệ điều hành được lưu trữ trong. Vì vậy, một hệ thống tệp được tạo trong quá trình cài đặt.
Hệ thống tập tin là. được tạo bởi phần mềm , được viết bởi phần mềm và đọc từ phần mềm. Như bạn đã biết, tất cả các phần mềm phức tạp có lỗi. Dữ liệu của chúng tôi rất quan trọng đối với chúng tôi, vì vậy chúng tôi sẽ đặt rất nhiều niềm tin vào các hệ thống tệp và phần mềm tạo và sử dụng chúng. Nếu có sự cố xảy ra, chúng ta có thể mất quyền truy cập vào các phần của hệ thống tệp hoặc thậm chí cả một phân vùng.
Hiện đại Hệ thống tập tin nhật ký tốt hơn trong việc xử lý các vấn đề có thể gây ra bởi một sự mất điện đột ngột hoặc sự cố hệ thống. Chúng mạnh mẽ, nhưng chúng không bất khả chiến bại. Nếu họ Bảng nội bộ bị xáo trộn Họ có thể mất dấu vết của nơi mỗi tệp nằm trên ổ đĩa, nó có kích thước bao nhiêu, tên nào nó có và đặt quyền tệp nào trên chúng.
Các
fsck.
Lệnh cho phép bạn kiểm tra xem các hệ thống tệp của bạn có khỏe mạnh không. Nếu nó tìm thấy bất kỳ vấn đề nào, nó thường có thể sửa chữa chúng cho bạn quá.
Kiểm tra preflight
Sử dụng
fsck.
đòi hỏi
đặc quyền sudo
. Bất kỳ lệnh nào có thể thay đổi hệ thống tệp cần được xử lý một cách thận trọng và bị hạn chế cho những người biết họ đang làm gì.
Phi công không nhảy vào một chiếc máy bay, khởi động nó, và bay vào màu xanh nhạt. Họ làm kiểm tra preflight. Có quá nhiều tiền để làm khác. Đó là một thói quen tốt để phát triển. Trước khi bạn sử dụng.
fsck.
Bạn cần đảm bảo bạn sẽ sử dụng nó trên ổ đĩa chính xác. Vì vậy, trước khi làm bất cứ điều gì với
fsck.
, chúng ta sẽ làm một chút trinh sát.
Chúng ta sẽ bắt đầu với
fdisk.
và ống vào
ít hơn
. Chúng tôi không yêu cầu thông tin về một phân vùng cụ thể. Bằng cách sử dụng.
-tất cả
(danh sách) tùy chọn
fdisk.
Liệt kê các bảng phân vùng trên tất cả các thiết bị mà nó tìm thấy trong tệp "/ Proc / phân vùng", nếu nó tồn tại.
sudo fdisk -l | Ít hơn
Chúng ta có thể thấy các mục cho
/ dev / sda
và
/ dev / sdb
. Bạn có thể cuộn qua tệp để xem bất kỳ mục nào khác có thể tồn tại trên máy tính của bạn.
Các phân vùng trên
/ dev / sda
được liệt kê là
/ dev / sda1
Cái gì
/ dev / sda2
, và
/ dev / sda3
. Vì vậy, chúng tôi có ba phân vùng trên ổ đĩa đầu tiên. Chúng ta có thể thấy thêm một chút thông tin bằng cách sử dụng
chia tay
chỉ huy. Chúng tôi sẽ sử dụng.
'in'
Tùy chọn để hiển thị các bảng phân vùng trong cửa sổ Terminal.
sudo chia / dev / sda 'in'
Chúng tôi nhận được một số thông tin bổ sung lần này, bao gồm cả loại hệ thống tệp trên mỗi phân vùng.
Model: ATA Vbox Harddisk (SCSI) Đĩa / Dev / SDA: 34,4GB Kích thước ngành (logic / vật lý): 512B / 512B Bảng phân vùng: GPT Cờ đĩa: Số bắt đầu kết thúc kích thước tập tin Tên hệ thống cờ 1 1049KB 2097KB 1049KB BIOS_GRUB 2 2097KB 540MB 538MB FAT32 Boot phân vùng hệ thống EFI, ESP 3 540MB 34,4GB 33.8GB ext4
Có ba ổ đĩa trong máy tính thử nghiệm này. Đây là những kết quả cho hai ổ đĩa khác
/ dev / sdb
và
/ dev / sdc
. Lưu ý rằng các hệ thống tệp này không có trường "tên".
sudo chia / dev / sdb 'in'
Model: ATA Vbox Harddisk (SCSI) Đĩa / Dev / SDB: 21,5GB Kích thước ngành (logic / vật lý): 512B / 512B Bảng phân vùng: MSDOS Cờ đĩa: Cờ hệ thống tập tin loại bắt đầu 1 1049KB 21,5GB 21,5GB Ext4
sudo chia / dev / sdc 'in'
Model: ATA Vbox Harddisk (SCSI) Đĩa / Dev / SDC: 21,5GB Kích thước ngành (logic / vật lý): 512B / 512B Bảng phân vùng: MSDOS Cờ đĩa: Cờ hệ thống tập tin loại bắt đầu 1 1049KB 21,5GB 21,5GB Tiểu học EXT3
Các ổ đĩa thứ hai và thứ ba xảy ra có cùng kích thước và mỗi ổ đĩa có một phân vùng duy nhất. Nhưng hệ thống tập tin trên ổ đĩa thứ hai là
ext4.
và hệ thống tập tin trên ổ đĩa thứ ba là cũ hơn
ext3.
.
Chúng tôi chuyển một định danh phân vùng thành
fsck.
, và nó kiểm tra hệ thống tệp trên phân vùng đó. Nhưng chúng ta không thể chạy
fsck.
trên một hệ thống tập tin được gắn kết. Chúng ta cần ngắt kết nối ổ đĩa. Để làm điều đó, chúng ta cần biết điểm gắn kết rằng phân vùng và do đó hệ thống tệp được gắn trên.
Chúng ta có thể tìm thấy điều đó dễ dàng bằng cách sử dụng
df.
chỉ huy.
DF / DEV / SDB1
DF / DEV / SDC1
Sử dụng lệnh fsck
Chúng tôi đã có tất cả các thông tin chúng tôi cần. Điều đầu tiên chúng ta sẽ làm là ngắt kết nối hệ thống tệp mà chúng ta sẽ kiểm tra. Chúng tôi sẽ làm việc trên hệ thống tệp trên phân vùng đầu tiên và duy nhất của
/ dev / sdb
, đó là
/ dev / sdb1
. Chúng tôi đã thấy trước đó rằng đây là một
ext4.
Hệ thống tệp và nó được gắn tại "/ run / mount / Dave / SATA2."
Chúng tôi sẽ sử dụng.
không
chỉ huy. Lưu ý Không có "n" trong "umount."
sudo umount / run / mount / Dave / SATA2
Với
không
, không có tin nào tốt. Nếu bạn đang bị trả lại âm thầm vào dấu nhắc lệnh, chúng tôi tốt để đi.
sudo fsck / dev / sdb1
Hệ thống tập tin này được báo cáo là sạch sẽ. Điều đó có nghĩa là hệ thống tập tin đang báo cáo rằng nó không có lỗi hoặc vấn đề. Kiểm tra hệ thống tệp sâu hơn không được tiến hành tự động. Chúng ta cũng có thể xem mã trả về mà
fsck.
quay trở lại vỏ.
Echo $?
Giá trị trả về của 0 cho biết không có lỗi. Các mã trả lại có thể có là:
- 0. : Không có lỗi
- 1. : Sửa lỗi hệ thống tập tin
- 2. : Hệ thống nên được khởi động lại
- 4 : Lỗi hệ thống tập tin còn lại không bị ảnh hưởng
- số 8 : Lỗi hoạt động
- 16. : Sử dụng hoặc lỗi cú pháp
- 32. : Kiểm tra hủy theo yêu cầu của người dùng
- 128. : Lỗi thư viện chia sẻ
Mặc dù hệ thống tệp được báo cáo là sạch sẽ, chúng ta có thể buộc kiểm tra hệ thống tệp sẽ diễn ra, sử dụng
-NS
(lực lượng) tùy chọn.
sudo fsck / dev / sdb1 -f
Lần này, séc mất nhiều thời gian hơn để hoàn thành nhưng nó thực hiện kiểm tra kỹ lưỡng hơn về hệ thống tệp. Hệ thống tập tin của chúng tôi thực sự sạch sẽ, và không có lỗi nào được báo cáo. Nếu các vấn đề được tìm thấy vì các bài kiểm tra đang được tiến hành, bạn sẽ được nhắc để cho
fsck.
sửa chữa vấn đề hoặc bỏ qua lỗi.
Khi bạn đã thử nghiệm xong, bạn cần phải truy cập hệ thống tệp. Cách dễ nhất để làm điều này là sử dụng
Núi
với.
-Một
(tất cả) tùy chọn. Điều này kiểm tra "/ etc / fstab" cho danh sách các hệ thống tệp và đảm bảo tất cả chúng được gắn kết giống như sau khi chúng có thể theo dõi thông thường.
sudo mount -a
Lưu ý rằng chúng ta không cần phải nói
fsck.
loại hệ thống tập tin trên một phân hoạch; tiện ích xác định rằng bằng cách kiểm tra các hệ thống tập tin. Điều đó có nghĩa chúng ta có thể buộc một tấm séc hệ thống tập tin trên
/ Dev / sdc1
, NS
ext3.
hệ thống tập tin trên máy tính thử nghiệm của chúng tôi, sử dụng chính xác các lệnh tương tự, chúng tôi sử dụng trên
/ dev / sdb1
, Mà là một
ext4.
vách ngăn.
sudo fsck / dev / sdc1 -f
Bạn có thể không muốn bổ nhào thẳng vào sửa chữa các hệ thống tập tin. Bạn có thể thích xem xét trước khi bạn bước nhảy vọt. Bạn có thể hỏi
fsck.
không đề nghị bất cứ điều gì sửa chữa và các vấn đề báo cáo chỉ vào cửa sổ terminal. Các
-N
(Chạy khô) tùy chọn không chỉ rằng:
sudo fsck -N / dev / sdb1
Trái ngược với đó là để nói
fsck.
để không làm phiền khiến nếu nó tìm thấy bất kỳ lỗi nào, và chỉ cần đi trước và khắc phục chúng. Để làm điều này, sử dụng
-chỉ
(Không có nhắc nhở) tùy chọn.
sudo fsck -y / dev / sdb1
Sử dụng fsck Mở Root Partition
Bạn không thể sử dụng
fsck.
trên một phân vùng gắn kết, nhưng để khởi động máy tính của bạn phân vùng gốc phải được gắn kết. Vậy làm thế nào chúng ta có thể chạy
fsck.
trên phân vùng gốc? Câu trả lời là làm gián đoạn quá trình khởi động và chạy
fsck.
trong chế độ phục hồi.
Trong khi máy tính của bạn đang khởi động, giữ lại một “Shift”. Nếu bạn đã hẹn giờ nó phải bạn sẽ không khởi động vào Linux. Quá trình khởi động sẽ dừng lại ở một menu màu đen và trắng. Máy kiểm tra sử dụng cho bài viết này đã được chạy Ubuntu nhưng các bản phân phối khác có cùng một loại đơn, mặc dù nó có thể thay đổi về ngoại hình. Nếu xuất hiện “Ubuntu” trong ảnh chụp màn hình nó sẽ có tên của phân phối của bạn.
Di chuyển thanh nổi bật với “Mũi tên lên” và “mũi tên xuống” chìa khóa để các “tùy chọn nâng cao cho Ubuntu” mục trình đơn được chọn. Nhấn “Enter” để chuyển sang màn hình kế tiếp.
Chọn tùy chọn đầu với “(chế độ phục hồi).” Trong ví dụ của chúng tôi, nó là “Ubuntu, với Linux 5.11.0-20-generic (chế độ phục hồi).” Nhấn phím “Enter”.
Bạn sẽ thấy menu phục hồi. Chọn “fsck rà soát tất cả các hệ thống tập tin” và nhấn “Tab” chìa khóa để di chuyển các điểm nhấn vào nút “OK”. Nhấn nút Enter."
Bạn sẽ thấy một thông báo rằng các phân vùng gốc sẽ được gắn kết cùng với bất kỳ phân vùng khác quy định tại của bạn “/ Etc / fstab” tập tin .
Nhấn “Tab” chìa khóa để di chuyển các điểm nhấn vào nút “Yes” và nhấn “Enter”.
Bạn sẽ thấy
fsck.
chạy trong chế độ tương tác. Nếu có vấn đề, bạn sẽ được nhắc nhở để cho
fsck.
sửa chữa chúng hoặc bỏ qua chúng. Khi các hệ thống tập tin đã được kiểm tra bạn sẽ thấy menu phục hồi trở lại.
Chọn “resume” tùy chọn, nhấn phím “Tab” chìa khóa để di chuyển các điểm nhấn vào nút “Ok”, và nhấn “Enter”. Quá trình khởi động sẽ tiếp tục, và bạn sẽ khởi động vào Linux.
Khởi động chế độ phục hồi có thể ảnh hưởng đến một số tài xế, vì vậy nó là thực hành tốt để khởi động lại một lần nữa, ngay sau khi bạn khởi động vào Linux. Điều này đảm bảo máy tính của bạn đang hoạt động trong thời trang tiêu chuẩn của nó.
Khi mọi việc không như mong muốn
mạng lưới an sinh là có một lý do. Nhận biết
fsck.
chỉ huy. Nếu có nhu cầu sử dụng nó trong giận dữ một ngày nào đó, bạn sẽ được vui mừng bạn quen mình trước.