Cách sử dụng lệnh fsck trên Linux

0
32
A hard disk drive with binary code written over it.

Cách sử dụng lệnh fsck trên Linux

A hard disk drive with binary code written over it.
Pixza Studio /Shutterstock

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 hay loại khác và các vấn đề về hệ thống tệp chắc chắn sẽ 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 là một trong những thành phần quan trọng nhất của máy tính. Nếu 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à đĩa cơ học quay hay ổ đĩa trạng thái rắn. Trên thực tế, một hệ thống tệp phải được tạo ra 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 ra trong quá trình cài đặt.

Hệ thống tệp được tạo ra bởi phần mềm, được viết bằng 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 đều có lỗi. Dữ liệu của chúng tôi cực kỳ quan trọng đối với chúng tôi, vì vậy chúng tôi đặ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í toàn bộ phân vùng.

Các hệ thống tệp ghi nhật ký hiện đại tốt hơn trong việc xử lý các vấn đề có thể do mất điện đột ngột hoặc sự cố hệ thống. Họ mạnh mẽ, nhưng họ không phải là bất khả chiến bại. Nếu bảng nội bộ của họ bị xáo trộn, họ có thể mất theo dõi nơi mỗi tệp nằm trên ổ đĩa, kích thước của nó, tên của nó và quyền tệp nào được đặt trên chúng.

fsckLệnh cho phép bạn kiểm tra xem hệ thống tệp của bạn có khỏe mạnh hay không. Nếu nó tìm thấy bất kỳ vấn đề nào, nó thường có thể khắc phục chúng cho bạn.

Thực hiện kiểm tra trước chuyến bay

Sử dụng fsck đòi hỏi đặc quyền sudo. Bất kỳ lệnh nào có thể thực hiện thay đổi đối với hệ thống tệp cần phải được xử lý thận trọng và giới hạn đối với những người biết họ đang làm gì.

Các phi công không nhảy lên máy bay, khởi động nó và bay vào yonder màu xanh nhạt. Họ kiểm tra trước chuyến bay. Có quá nhiều thứ bị đe dọa để làm khác đi. Đó là một thói quen tốt để phát triển. Trước khi bạn sử fsck dụng, 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ì fsck với, chúng tôi sẽ làm một chút trinh sát.

Chúng ta sẽ bắt đầu fdisk và đưa nó less vào. 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 -l tùy chọn (danh sách) 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/partitions”, nếu nó tồn tại.

sudo fdisk -l | kém

1

Chúng ta có thể xem các mục cho /dev/sda/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.

Observe the output in the terminal window

Các phân vùng trên /dev/sda được liệt kê là , và /dev/sda1 /dev/sda2 /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ể xem thêm một chút thông tin bằng cách sử dụng parted lệnh. Chúng tôi sẽ sử dụng 'print' tùy chọn để hiển thị các bảng phân vùng trong cửa sổ thiết bị đầu cuối.

sudo chia tay /dev/sda 'in'

Get information on partition tables

Chúng tôi nhận được một số thông tin bổ sung lần này, bao gồm loại hệ thống tệp trên mỗi phân vùng.

5

Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sda: 34.4GB 
Kích thước khu vực (logic/vật lý): Bảng phân vùng 512B/512B: 
Cờ đĩa 
GPT: Số bắt đầu Kích thước kết thúc Hệ thống Tên

hệ thống tệp Flags 
1      1049kB 2097kB 1049kB                                     bios_grub 
2      2097kB 540MB  538MB   fat32         EFI System Partition boot, esp 
3      540MB 34.4GB  33.8GB  ext4

Có ba ổ đĩa trong máy tính thử nghiệm này. Đây là kết quả cho hai ổ đĩa còn lại /dev/sdb/dev/sdc . Lưu ý rằng các hệ thống tệp này không có trường “Tên”.

sudo chia tay /dev/sdb 'print'
Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdb: 21.5GB 
Kích thước khu vực (logic/vật lý): Bảng phân vùng 512B/512B: 
Msdos Disk Flags: Number Start

End Size Type Hệ thống tệp Flags 
1      1049kB 21.5GB 21.5GB  primary ext4
sudo chia tay /dev/sdc 'in'
Mô hình: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdc: 21.5GB 
Kích thước khu vực (logic/vật lý): Bảng phân vùng 512B/512B: 
msdos Disk Flags: Number Start

End Size Type Hệ thống tệp Flags      1 1049kB 21.5GB 21.5GB  primary 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 trên ổ đĩa thứ hai là ext4 , và hệ thống tệp trên ổ đĩa thứ ba là cũ hơn ext3 .

How to Mount and Unmount Storage Devices from the Linux Terminal

LIÊN QUAN Cách gắn và tháo các thiết bị lưu trữ từ thiết bị đầu cuối Linux

Chúng tôi chuyển mã định danh phân vùng đến 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 gắn kết. Chúng ta cần phải tháo gỡ động lực. Để làm điều đó, chúng ta cần biết điểm gắn kết mà 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 đó một cách dễ dàng bằng cách sử dụng df lệnh.

df /dev/sdb1
df /dev/sdc1

6

Sử dụng lệnh fsck

Chúng tôi có tất cả thông tin chúng tôi cần. Điều đầu tiên chúng tôi sẽ làm là tháo dỡ hệ thống tệp mà chúng tôi 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 tin, và nó được gắn ở “/ chạy / gắn kết / dave / sata2.”

Chúng ta sẽ sử dụng umount lệnh. Lưu ý rằng không có “n” trong “umount”.

sudo umount /run/mount/dave/sata2

Use the umount command to unmount the filesystem.

Không umount có tin tức là tin tốt. Nếu bạn lặng lẽ quay lại lời nhắc lệnh, chúng tôi rất tốt để đi.

sudo fsck /dev/sdb1

Use the fsck command to check the status of the filesystem.

Hệ thống tệp này được báo cáo là sạch sẽ. Điều đó có nghĩa là hệ thống tệp đ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 tự động tiến hành. Chúng ta cũng có thể xem mã trả fsck lại trở lại vỏ.

Echo $?

9

Giá trị trả về bằng không cho biết không có lỗi. Các mã lợi nhuận có thể là:

  • 0: Không có lỗi
  • 1: Lỗi hệ thống tệp đã được sửa
  • 2:Hệ thống nên được khởi động lại
  • 4: Lỗi hệ thống tệp không được sửa chữa
  • 8: Lỗi hoạt động
  • 16: Lỗi cách dùng hoặc 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 tôi có thể buộc kiểm tra hệ thống tệp diễn ra, sử dụng -f tùy chọn (lực).

sudo fsck /dev/sdb1 -f

Force a filesystem check using the force option in an fsck command

Lần này, việc kiểm tra 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 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 khi các thử nghiệm đang được tiến hành, bạn sẽ được nhắc nhở để cho phép fsck khắc phục sự cố hoặc bỏ qua lỗi.

Khi bạn đã hoàn thành thử nghiệm, bạn cần phải vượt qua hệ thống tệp. Cách dễ nhất để làm điều này là sử dụng mount với -a tùy chọn (tất cả). Điều này kiểm tra “/ vv / fstab” cho danh sách các hệ thống tệp và đảm bảo tất cả chúng đều được gắn giống như chúng sẽ theo dõi một khởi động thông thường.

sudo mount -a

Remount the file system using the mount command

Which Linux File System Should You Use?

LIÊN QUAN Bạn nên sử dụng hệ thống tệp Linux nào?

Lưu ý rằng chúng ta không cần phải biết fsck loại hệ thống tệp nào trên phân vùng; tiện ích xác định điều đó bằng cách kiểm tra hệ thống tệp. Điều đó có nghĩa là chúng ta có thể buộc kiểm tra hệ thống tệp /dev/sdc1 , hệ thống tệp trên PC thử nghiệm của chúng ext3 ta, sử dụng chính xác cùng một lệnh mà chúng ta đã sử /dev/sdb1 dụng, đó là một phân ext4 vùng.

sudo fsck /dev/sdc1 -f

Use the fsck command to force a file system check

Bạn có thể không muốn đi sâu vào sửa chữa hệ thống tệp. Bạn có thể thích nhìn trước khi nhảy. Bạn có thể yêu cầu fsck không đề nghị khắc phục bất cứ điều gì và chỉ báo cáo sự cố cho cửa sổ thiết bị đầu cuối. -N Tùy chọn (chạy khô) chỉ làm điều đó:

sudo fsck -N /dev/sdb1

Before repairing a file system, do a dry run

Ngược lại với điều đó là nói fsck không bận tâm nhắc nhở nếu nó tìm thấy bất kỳ lỗi nào, và chỉ cần tiếp tục và sửa chữa chúng. Để làm điều này, hãy sử dụng -y tùy chọn (không có lời nhắc).

sudo fsck -y /dev/sdb1

Sử dụng fsck On the 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 ở chế độ khôi phục.

Trong khi máy tính của bạn đang khởi động, hãy giữ phím “Shift”. Nếu bạn đã hẹn giờ đúng giờ, 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 đen trắng. Máy kiểm tra được sử dụng cho bài viết này đang chạy Ubuntu nhưng các bản phân phối khác có cùng loại menu, mặc dù nó có thể khác nhau về ngoại hình. Khi nó nói “Ubuntu” trong ảnh chụp màn hình, nó sẽ có tên phân phối của bạn.

Recovery menu with the advanced options menu item selected

Di chuyển thanh nổi bật với các phím “Mũi tên Lên” và “Mũi tên xuống” để chọn mục menu menu “Tùy chọn nâng cao cho Ubuntu”. Nhấn “Enter” để chuyển sang màn hình tiếp theo.

Recovery menu with "recovery mode" menu item selected

Chọn tùy chọn kết thúc bằng “(chế độ khôi phục).” Trong ví dụ của chúng tôi, đó 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 check all file systems” và nhấn phím “Tab” để di chuyển điểm nổi bật sang nút “OK”. Nhấn “Enter”.

Recovery menu with fsck selected

Bạn sẽ thấy thông báo rằng phân vùng gốc sẽ được gắn cùng với bất kỳ phân vùng nào khác được xác định trong tệp “/etc/fstab” của bạn.

Select yes to initiate fsck in interactive mode

Nhấn phím “Tab” để di chuyển điểm nổi bật sang nút “Có” và nhấn “Enter”.

Bạn sẽ thấy fsck chạy ở chế độ tương tác. Nếu có vấn đề, bạn sẽ được nhắc nhở để cho phép fsck khắc phục chúng hoặc bỏ qua chúng. Khi hệ thống tệp đã được kiểm tra, bạn sẽ thấy menu khôi phục lại.

Chọn tùy chọn “sơ yếu lý lịch”, nhấn phím “Tab” để di chuyển điểm nổi bật đến 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ế độ khôi phục có thể ảnh hưởng đến một số trình điều khiển, vì vậy bạn nên khởi động lại một lần nữa, ngay 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 theo cách tiêu chuẩn của nó.

Khi mọi thứ đi sai

Mạng lưới an toàn có lý do. Tìm hiểu fsck lệnh. Nếu nhu cầu phát sinh để sử dụng nó trong cơn giận dữ một ngày nào đó, bạn sẽ rất vui vì bạn đã làm quen với bản thân trước.

Dịch từ: https://www.howtogeek.com/745921/how-to-use-the-fsck-command-on-linux/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây