Sau khi tắt máy ô uế trên thiết bị dựa trên thẻ SD, tôi lấy thẻ SD ra fsck
hệ thống tập tin gốc. Điều này dẫn đến các biến thể sau:
e2fsck 1.43.1 (08-Jun-2016)
/dev/sdc2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
e2fsck: unable to set superblock flags on /dev/sdc2
Ở đây tôi đã trả lời "không" cả hai lần nhưng không có chuỗi có / không ngay lập tức không dẫn đến kết quả tương tự.
Hệ thống tập tin có thể được gắn kết và kiểm tra ngẫu nhiên có vẻ ổn; nó cũng hoạt động tốt trong thiết bị và đó là hệ thống tập tin gốc (thực ra nó không hoàn toàn tốt, xem bình luận; tldr một số thư mục bị hỏng không thể sửa chữa được).
Tôi dd
là phân vùng (8 GB) cho một tệp và đã thử fsck trên đó. Một cách thú vị:
e2fsck 1.43.1 (08-Jun-2016)
plush.rootfs: recovering journal
Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096)
Clearing orphaned inode 18270 (uid=0, gid=0, mode=0100644, size=38916)
Clearing orphaned inode 18250 (uid=0, gid=0, mode=0100644, size=1128076)
Clearing orphaned inode 11411 (uid=0, gid=0, mode=0100644, size=293108)
Setting free inodes count to 406127 (was 408580)
Setting free blocks count to 1305622 (was 1347486)
plush.rootfs: clean, 60209/466336 files, 604906/1910528 blocks (check after next mount)
Sau đó fsck
, sạch sẽ, hình ảnh có thể được gắn kết, và fsck -f
sau đó cũng đi qua.
Nhưng hệ thống tập tin trên thẻ mà từ đó hình ảnh sao chép khối thô được tạo ra vẫn có cùng một vấn đề - ngoại trừ việc systemd-fsck
xảy ra trong quá trình khởi động sẽ ghi hệ thống tập tin là "sạch". Sau đó, việc tắt máy đúng cách, rút thẻ ra và thử fsck
lại từ một hộp khác cũng có lỗi tương tự.
Bất cứ khi nào bản gốc được gắn trên một máy khác, syslog ghi chú:
kernel: EXT4-fs (sdc2): 4 orphan inodes deleted
kernel: EXT4-fs (sdc2): recovery complete
Vì tôi đã sao lưu tất cả, tôi sẵn sàng thử mọi thứ ở đây. Tôi chỉ đơn giản là có thể quên điều này và đảo ngược phân vùng khỏi hình ảnh cố định rõ ràng, nhưng đó có vẻ không phải là một giải pháp rất thỏa đáng, vì điều đó có nghĩa là giả sử fsck đã thất bại trong việc giải quyết một vấn đề nhỏ.
Tôi nghi ngờ điều này sẽ biến thành một câu hỏi "yêu cầu tài liệu chính thức" liên quan đến những thứ như nhu cầu recovery_flag (hoặc chỉ đơn giản là câu hỏi "Điều này có nghĩa là gì?"), Vì vậy mọi đề xuất dọc theo những dòng đó đều được đánh giá cao.
apt upgrade
). Sau đó, nó ghi lại một khởi động bình thường - và systemd-fsck nói "sạch" (tôi sẽ chỉnh sửa nó trong), nhưng thử fsck bên ngoài bối cảnh đó vẫn thất bại.