Điểm:2

Không thể sửa phân vùng ext4 sau khi mất điện, e2fsck liên tục gặp sự cố, không thể tìm ra lỗi gì?

lá cờ ar

Sau khi mất điện, Ubuntu không thể sửa lỗi ext4 và đưa ra lỗi tương tự như bên dưới với e2fsck:

Vì vậy, tôi sử dụng SystemRescue LiveCd mới nhất và cố gắng thực hiện fsck theo cách thủ công.

e2fsck /dev/sda2 :

/dev/sda2: khôi phục nhật ký
Tín hiệu (11) SIGSEGV si_code=SEGV_MAPERR error addr=0x561377ff7000
e2fsck: malloc.c:2539: sysmalloc: Assertion `(old_top == init_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' không thành công.
Tín hiệu (6) SIGABRT si_code=SI_TKILL 

tune2fs -l /dev/sda2 :

tune2fs 1.46.4 (18-Aug-2021)
Tên ổ đĩa hệ thống tập tin: <none>
Gắn lần cuối vào: /
Hệ thống tập tin UUID: 787f0a6f-7d49-409d-80b7-5e4416d5a2bb
Số ma thuật hệ thống tập tin: 0xEF53
Bản sửa đổi hệ thống tập tin #: 1 (động)
Các tính năng của hệ thống tệp: has_journal ext_attr resize_inode dir_index fast_commit loại tệp cần_recovery extent flex_bgsparse_super large_file Huge_file uninit_bg dir_nlink extra_isize
Cờ hệ thống tập tin: sign_directory_hash 
Tùy chọn gắn kết mặc định: user_xattr acl
Trạng thái hệ thống tập tin: sạch có lỗi
Hành vi lỗi: Tiếp tục
Loại hệ điều hành hệ thống tập tin: Linux
Số nút: 30236672
Số khối: 120925696
Số khối dành riêng: 6046284
Khối miễn phí: 16403757
Các nút miễn phí: 29241790
Khối đầu tiên: 0
Kích thước khối: 4096
Kích thước mảnh: 4096
Khối GDT dành riêng: 995
Khối mỗi nhóm: 32768
Mảnh vỡ mỗi nhóm: 32768
Số nút trên mỗi nhóm: 8192
Khối inode trên mỗi nhóm: 512
Kích thước nhóm khối linh hoạt: 16
Hệ thống tập tin được tạo: Mon 2 Apr 12:16:18 2018
Thời gian gắn kết lần cuối: Thứ hai ngày 8 tháng 11 10:55:03 năm 2021
Thời gian viết lần cuối: Thứ hai ngày 8 tháng 11 14:02:43 2021
Số lượng gắn kết: 2
Số lượng thú cưỡi tối đa: -1
Kiểm tra lần cuối: Thứ hai ngày 8 tháng 11 10:51:38 2021
Khoảng thời gian kiểm tra: 0 (<none>)
Trọn đời viết: 13 TB
Khối dành riêng uid: 0 (người dùng root)
Khối dành riêng gid: 0 (gốc nhóm)
Nút đầu tiên: 11
Kích thước nút: 256
Yêu cầu thêm kích thước: 28
Kích thước thêm mong muốn: 28
Tạp chí inode: 8
Inode mồ côi đầu tiên: 27918882
Băm thư mục mặc định: half_md4
Hạt băm thư mục: efb4ad95-8a43-42bc-a03b-0849ccae2ef7
Sao lưu tạp chí: khối inode

gắn kết /dev/sda2 /mnt :

mount: /mnt: không thể đọc superblock trên /dev/sda2.

mke2fs -n /dev/sda2 :

mke2fs 1.46.4 (18-Aug-2021)
/dev/sda2 chứa hệ thống tệp ext4
    được gắn lần cuối vào / vào Thứ hai ngày 8 tháng 11 10:55:03 2021
Vẫn tiếp tục? (y,N) y
Tạo hệ thống tệp với 120925696 khối 4k và 30236672 nút
Hệ thống tập tin UUID: 331dfa9a-1bae-44bf-b4a2-4c75d7a8aab2
Sao lưu siêu khối được lưu trữ trên các khối: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000

e2fsck -b 32768 /dev/sda2 :

e2fsck 1.46.4 (18-Aug-2021)
Cờ cần_recovery siêu khối không có, nhưng nhật ký có dữ liệu.
Cờ khôi phục không được đặt trong siêu khối dự phòng, vì vậy vẫn chạy nhật ký.
/dev/sda2: khôi phục nhật ký
Tín hiệu (11) SIGSEGV si_code=SEGV_MAPERR error addr=0x55657e320000
e2fsck(+0x35133)[0x55657d929133]
/usr/lib/libpthread.so.0(+0x13870)[0x7fb669365870]
e2fsck(+0x27c10)[0x55657d91bc10]
e2fsck(+0x28480)[0x55657d91c480]
e2fsck(+0x309c4)[0x55657d9249c4]
e2fsck(jbd2_journal_recover+0xd7)[0x55657d9251a7]
e2fsck(e2fsck_run_ext3_journal+0x2d1)[0x55657d91e871]
e2fsck(chính+0x1d75)[0x55657d903de5]
/usr/lib/libc.so.6(__libc_start_main+0xd5)[0x7fb6691adb25]
e2fsck(_start+0x2e)[0x55657d90591e]

e2fsck -b 98304/dev/sda2:

e2fsck 1.46.4 (18-Aug-2021)
Cờ cần_recovery siêu khối không có, nhưng nhật ký có dữ liệu.
Cờ khôi phục không được đặt trong siêu khối dự phòng, vì vậy vẫn chạy nhật ký.
/dev/sda2: khôi phục nhật ký
Tín hiệu (11) SIGSEGV si_code=SEGV_MAPERR error addr=0x563839a50000
e2fsck(+0x35133)[0x563838e06133]
/usr/lib/libpthread.so.0(+0x13870)[0x7f671f521870]
e2fsck(+0x27c10)[0x563838df8c10]
e2fsck(+0x28480)[0x563838df9480]
e2fsck(+0x309c4)[0x563838e019c4]
e2fsck(jbd2_journal_recover+0xd7)[0x563838e021a7]
e2fsck(e2fsck_run_ext3_journal+0x2d1)[0x563838dfb871]
e2fsck(chính+0x1d75)[0x563838de0de5]
/usr/lib/libc.so.6(__libc_start_main+0xd5)[0x7f671f369b25]
e2fsck(_start+0x2e)[0x563838de291e]

e2fsck -C0 -p -f -v /dev/sda2 :

/dev/sda2: khôi phục nhật ký
Tín hiệu (11) SIGSEGV si_code=SEGV_MAPERR error addr=0x555ae23f5000
e2fsck(+0x35133)[0x555ae03cd133]
/usr/lib/libpthread.so.0(+0x13870)[0x7efe927b8870]
e2fsck(+0x27c10)[0x555ae03bfc10]
e2fsck(+0x28480)[0x555ae03c0480]
e2fsck(+0x309c4)[0x555ae03c89c4]
e2fsck(jbd2_journal_recover+0xd7)[0x555ae03c91a7]
e2fsck(e2fsck_run_ext3_journal+0x2d1)[0x555ae03c2871]
e2fsck(chính+0x1d75)[0x555ae03a7de5]
/usr/lib/libc.so.6(__libc_start_main+0xd5)[0x7efe92600b25]
e2fsck(_start+0x2e)[0x555ae03a991e]

smartctl -H /dev/sda2:

smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.10.70-1-lts] (bản dựng cục bộ)
Bản quyền (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== BẮT ĐẦU ĐỌC PHẦN DỮ LIỆU THÔNG MINH ===
Kết quả kiểm tra tự đánh giá sức khỏe tổng thể SMART: ĐẠT
sudodus avatar
lá cờ jp
Có dữ liệu duy nhất quan trọng nào trên ổ đĩa mà bạn phải khôi phục không? Hay bạn sẽ hài lòng nếu bạn có thể xóa bảng phân vùng, tạo bảng mới, tạo phân vùng và hệ thống tệp cũng như khôi phục dữ liệu từ bản sao lưu?
lá cờ ar
Vâng, tôi có một số dữ liệu quan trọng. Nhưng tôi chỉ quan tâm, điều gì là sai và tại sao fsck/e2fsck liên tục gặp sự cố.
sudodus avatar
lá cờ jp
Tôi không thể biết điều gì sai, nhưng có những công cụ từ https://cgsecurity.org, có thể hoạt động khi fsck/e2fsck liên tục gặp sự cố. Nếu dữ liệu rất quan trọng, hãy sao chép toàn bộ ổ đĩa sang một ổ đĩa khác có ít nhất cùng kích thước và thực hiện công việc khôi phục trên bản sao đã sao chép. Trước tiên hãy thử `testdisk` và nếu nó không hoạt động, `photorec`, có thể khôi phục dữ liệu mà không cần bất kỳ hệ thống tệp nào, miễn là dữ liệu tệp vẫn còn đó. Nhưng đó là rất nhiều công việc và tên tệp và cấu trúc thư mục bị mất..
lá cờ ar
Các tệp có vẻ "nguyên vẹn" trên phân vùng, sử dụng testdisk, vì vậy có lẽ tôi sẽ thử sao chép từ đó.
sudodus avatar
lá cờ jp
Hãy cho chúng tôi biết kết quả. Chúc may mắn :-)
Điểm:1
lá cờ ar

Tôi đã tạo một vấn đề trên github và một anh chàng tốt bụng nào đó (khắc nghiệt) đã giúp tôi khắc phục sự cố này bằng cách viết bản vá cho ứng dụng. Có vẻ như, đó là một cái gì đó sai với e2fsprogsfast_commit tính năng trong ext4. Người ta có thể theo dõi nó ở đây.

Điểm mấu chốt là, đừng lộn xộn với các tính năng của hệ thống tập tin, khi nguồn điện của bạn không ổn định và bạn không biết cách tự khắc phục.

Đă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.