Điểm:5

Cách buộc fsck khởi động lại cho Ubuntu 20.04

lá cờ de

Tôi đang chạy Ubuntu 20.04 trên thiết bị nhúng. Tôi muốn hỏi làm thế nào để buộc fsck tự động khi khởi động? Trong các phiên bản Ubuntu cũ hơn, điều này có thể đạt được bằng cách chỉnh sửa /etc/default/rcS và đặt FSCKFIX=yes. Tuy nhiên, tôi đọc được rằng trong Ubuntu mới hơn, tệp này không còn được sử dụng nữa.Vậy đâu sẽ là cách kích hoạt fsck tự động khi khởi động cho Ubuntu mới hơn?

vanadium avatar
lá cờ cn
Câu hỏi @guiverc là về cách khởi tạo fsck trong khi khởi động, giống như chúng ta có thể làm trong những ngày trước bằng cách sử dụng `sudo touch /forcefsck`. Trước sự kinh ngạc của tôi, hôm nay tôi thấy: `Sudo tune2fs -l /dev/nvme0n1p2 | grep đã kiểm tra` - `Kiểm tra lần cuối: Thứ bảy ngày 31 tháng 10 13:03:57 năm 2020`.Điều đó có nghĩa là ngày nay hệ thống tệp hệ thống không còn được kiểm tra tự động nữa không?
Điểm:4
lá cờ cn

Thủ thuật tiện lợi cũ để tạo một tệp /forcefsck để buộc kiểm tra tệp khi khởi động lại không hoạt động nữa kể từ đó hệ thống tiếp quản quá trình khởi tạo.

Thay đổi "Số lượng gắn kết tối đa" (chỉ các hệ thống tệp ext)

Cách nhanh nhất có lẽ là tạm thời thay đổi Số lượng gắn kết tối đa đến 1. Điều đó sẽ gây ra hạt nhân và e2fsck để kiểm tra hệ thống tập tin trong lần khởi động lại tiếp theo. Tuy nhiên, điều này chỉ hoạt động với các hệ thống tệp ext.

Trước tiên, hãy kiểm tra cài đặt hiện tại của bạn trong trường hợp bạn muốn khôi phục về mặc định sau:

sudo tune2fs -l /dev/nvme0n1p2 | grep 'Gắn kết tối đa'

Thay thế /dev/nvme0n1p2 theo tên thiết bị của phân vùng hệ thống của bạn. Rất có thể điều này được đặt thành -1 ngày nay, vô hiệu hóa kiểm tra dựa trên số lần âm lượng đã được gắn.

Điều chỉnh cài đặt thành 1 với lệnh:

sudo tune2fs -c 1 /dev/nvme0n1p2

Bây giờ hãy khởi động lại - âm lượng sẽ được kiểm tra. Sau khi khởi động lại, bạn nên đặt lại giá trị về giá trị trước đó để tránh phân vùng bị kiểm tra mọi lúc.

Thay đổi tham số hạt nhân

Một cách khác là truyền tham số kernel trong khi khởi động điều khiển dịch vụ systemd để kiểm tra hệ thống tập tin. fsck.mode=lực lượng sẽ buộc kiểm tra tập tin.

Để thêm tham số kernel trong một lần, hãy khởi động menu Grub, tô sáng mục nhập và nhấn e. Di chuyển đến dòng bắt đầu bằng linux, đánh Chấm dứt để di chuyển đến dòng cuối cùng, hãy thêm một khoảng trắng và tham số kernel. Đánh Điều khiển+x để đóng và tiếp tục khởi động.

Điểm:2
lá cờ us

Nếu bạn muốn buộc fsck với mỗi lần khởi động lại, bạn cần làm theo một số bước.

  1. sử dụng blkid để xác định uuid cho phân vùng.
amarcus@amarcus-desktop:~$ blkid
/dev/mapper/vgubuntu-swap_1: UUID="d24b0766-c9be-49ef-9022-8ccae4f79801" TYPE="hoán đổi"
/dev/mapper/vgubuntu-root: UUID="d414c4f9-da0d-42bf-8290-4bcb55b8d984" BLOCK_SIZE="4096" TYPE="ext4"
amarcus@amarcus-desktop:~$ 

  1. Sử dụng uuid hoặc điểm gắn kết để định vị phân vùng trong /etc/fstab
amarcus@amarcus-desktop:~$ mèo /etc/fstab 
# /etc/fstab: thông tin hệ thống tập tin tĩnh.
#
# Sử dụng 'blkid' để in mã định danh duy nhất trên toàn cầu cho một
# thiết bị; điều này có thể được sử dụng với UUID= như một cách mạnh mẽ hơn để đặt tên cho thiết bị
# hoạt động ngay cả khi thêm và xóa đĩa. Xem fstab(5).
#
# <hệ thống tập tin> <điểm gắn kết> <loại> <tùy chọn> <kết xuất> <vượt qua>
/dev/mapper/vgubuntu-root / ext4 error=remount-ro 0 1
# /boot/efi bật /dev/nvme0n1p1 trong khi cài đặt
UUID=0AE0-795B /boot/efi vfat umask=0077 0 1
/dev/mapper/vgubuntu-swap_1 không trao đổi sw 0 0

UUID=D41C-2F17 /mnt/WDElements auto umask=0022,gid=1000,uid=1000,x-gvfs-show 0 0

Cột cuối cùng là cột 6, còn gọi là cột fsck PASS được fsck sử dụng để xác định xem fsck có nên kiểm tra hệ thống tệp trước khi nó được gắn kết hay không và theo thứ tự các phân vùng đã cho trong /etc/fstab nên được kiểm tra

Đối với phân vùng gốc, đảm bảo rằng mục nhập được đặt thành 1

  1. Cuối cùng, đặt bộ đếm gắn kết cho phân vùng đó thành 1.
root@amarcus-desktop:~# tune2fs -c 1 /dev/mapper/vgubuntu-root

Giải trình:

Về cơ bản, ở bước 1, bạn đang xác định phân vùng nào bạn muốn kiểm tra khi khởi động.

Ở bước 2, bạn đang đảm bảo rằng nó cần ưu tiên cao hơn. Sẽ hữu ích nếu bạn đang kiểm tra nhiều phân vùng. Nó quyết định cái nào sẽ được đưa lên trước, sau đó là thứ hai, v.v.

Ở bước 3, bạn đang nói sau bao nhiêu lần gắn kết thì phân vùng sẽ được kiểm tra. Đối số 1 chỉ định rằng sau một lần gắn kết, phân vùng sẽ được kiểm tra. Vì vậy, về cơ bản, nó sẽ kiểm tra sau mỗi lần gắn kết, tức là sau mỗi lần khởi động lại.

vanadium avatar
lá cờ cn
Tôi không chắc liệu hệ thống cũ `Sudo touch /forcefsck` có còn hoạt động hay không vì `systemd` khởi tạo.
vanadium avatar
lá cờ cn
Tôi thậm chí còn không chắc nữa liệu kiểm tra hệ thống tệp có còn tự động trong Ubuntu hay không! `sudo tune2fs -l /dev/nvme0n1p2 | grep đã kiểm tra` đối với tôi đưa ra `Kiểm tra lần cuối: Thứ bảy ngày 31 tháng 10 13:03:57 năm 2020`! `fstab` vẫn chứa `1` là trường cuối cùng.
Kunal Shah avatar
lá cờ us
@vanadium bạn nói đúng. Tôi vừa kiểm tra hệ thống 21.04 mới của mình và Sudo touch /forcefsck không hoạt động. Tin vui là tune2fs -c 1 /dev/mapper/vgubuntu-root hoạt động. Nó kiểm tra hệ thống tệp sau mỗi lần khởi động lại trong Ubuntu 21.04 của tôi
Kunal Shah avatar
lá cờ us
@vanadium - về tin nhắn của bạn trên ```sudo tune2fs -l /dev/nvme0n1p2 | grep đã kiểm tra``` Trong fstab của bạn khi phân vùng gốc là 1 ở cột cuối cùng không có nghĩa là nó sẽ kiểm tra phân vùng sau 1 lần gắn kết. Số đó trong fstab là mức độ ưu tiên mà phân vùng sẽ được kiểm tra. Đảm bảo rằng nó là 1 cho phân vùng gốc có nghĩa là bất cứ khi nào hệ thống tệp được kiểm tra, phân vùng gốc sẽ được kiểm tra "đầu tiên". Trong câu trả lời của tôi - ở bước 3, khi bạn chạy ```tune2fs -c 1 /dev/mapper/vgubuntu-root``` đó là nơi bạn chỉ định kiểm tra hệ thống tệp sau mỗi 1 lần gắn kết. Hi vọng điêu nay co ich
vanadium avatar
lá cờ cn
Tôi biết ý nghĩa của 1 trong fstab. Lẽ ra tôi nên diễn đạt chính xác hơn. Phân vùng đang được kiểm tra, tuy nhiên nó không bao giờ được kiểm tra *sâu* (tức làquét cấu trúc tệp một cách rõ ràng thay vì chỉ kiểm tra xem nhật ký có báo cáo "OK") hay không! Ngày xưa, cứ sau 30 lần gắn kết thì phải kiểm tra sâu. Hiện tại, việc kiểm tra sâu chưa bao giờ được áp dụng và sẽ chỉ xảy ra khi tạp chí không sạch sẽ - nhưng khi đó có thể đã quá muộn. tunefs sẽ chỉ đăng ký kiểm tra sâu.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.