Hiểu hệ thống tập tin ext2 [đã đóng]


8

Tôi đang cố gắng tìm các nút bị xóa trong hệ thống tập tin ext2. Và đây là cách tiếp cận mà tôi đang thực hiện. Tuy nhiên tôi cảm thấy rằng tôi đang làm điều gì đó sai.

  1. Trước tiên tôi tìm kiếm 1024 byte cho đến khi bắt đầu siêu khối

  2. Tôi nhận biết rằng kích thước khối là 1024 byte, do đó bảng mô tả nhóm bắt đầu ở offset 2048.

  3. Bảng mô tả nhóm có một mô tả nhóm cho mỗi nhóm khối phải không? Vì vậy, tôi tính toán số lượng mô tả nhóm hoặc nhóm khối: tổng số nút / nút trên mỗi nhóm. Điều này mang lại cho tôi giá trị 8, có nghĩa là tôi có 8 mô tả nhóm trong bảng mô tả nhóm khối của mình.

  4. Tôi đọc trường first_inode_table cho tất cả 8 mô tả nhóm. Các mô tả nhóm có độ dài 32 byte

    Vì vậy, đây là nơi tôi bị lẫn lộn. Bảng inode cho bộ mô tả nhóm đầu tiên cung cấp cho tôi 260. Vậy điều này có nghĩa là để truy cập vào bảng inode cho nhóm khối đầu tiên tôi thực hiện kích thước khối 260 *?

  5. Khi tôi đến đó, tôi đang đọc trường thời gian - cho chúng tôi biết lần xóa cuối cùng. Nếu đó là> 0 có nghĩa là nó đã bị xóa.

    Vì vậy, một sự nhầm lẫn khác mà tôi có là người ta nói rằng 11 mục đầu tiên của bảng inode được bảo lưu. Vì vậy, đây không phải là một vấn đề miễn là tôi đi qua tất cả các mục inode của bảng inode phải không?

Cách tiếp cận của tôi có đúng không? Hãy chỉ cho tôi đi đúng hướng nếu bạn thấy có gì đó không đúng.


Lý luận là chính xác. Lỗi là do một vấn đề khác.

4
@Catie Nếu bạn đã giải quyết vấn đề này, bạn nên tự thêm câu trả lời hoặc chỉ cần xóa câu hỏi. :-)
John Parker

1
xin vui lòng thêm câu trả lời cho mình!
kalaracey

1
Câu hỏi đã được trả lời, vì nó là một vấn đề khác nó đã được giải quyết. Không còn là vấn đề nữa và rất khó có khả năng Catie sẽ trở lại, vì vậy hãy giúp nhận câu hỏi này trong danh sách chưa được trả lời ...
Tamara Wijsman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.