Giải nén tập tin và thư mục từ một hình ảnh được tạo bởi dd?


7

Tôi đã tạo một hình ảnh của một phân vùng NTFS bằng cách sử dụng dd.

Tôi tự hỏi nếu tôi có thể giải nén / giải nén các tệp và thư mục trong ảnh vào bất kỳ phân vùng nào có kích thước lớn hơn kích thước hình ảnh, để tôi có thể truy cập các tệp và thư mục giống như truy cập vào phân vùng ban đầu?

Nếu có, tôi sẽ làm thế nào?


Thêm:

Chỉ cần tìm thấy một cái gì đó hữu ích từ một liên kết :

Để khôi phục phân vùng hoặc đĩa cứng từ tệp hình ảnh, chỉ cần trao đổi các đối số "nếu" và "của". Ví dụ: khôi phục phân vùng đầu tiên của / dev / sda từ tệp hình ảnh "đĩa2.img":

dd if=disk2.img of=/dev/sda1
  1. Tôi tự hỏi điều gì sẽ xảy ra, nếu phân vùng cho ofkhông phải là phân vùng ban đầu từ nơi hình ảnh được tạo ra?

    • Xem xét các trường hợp khi phân vùng cho ofnhỏ hơn hoặc lớn hơn phân vùng ban đầu.
    • Cũng xem xét các trường hợp khi phân vùng ofđã có một số dữ liệu trong đó. Có thể khôi phục từ một vị trí cụ thể trong phân vùng, vì vậy để tránh ghi đè bất kỳ dữ liệu hiện có trên phân vùng cho of?
  2. Có thể khôi phục từ một hình ảnh được tạo ddbởi các ứng dụng tương tự khác, thậm chí bằng phần mềm Windows không? Nói cách khác, hình ảnh được tạo bởi ddcó một số định dạng cụ thể dd?

Cảm ơn!

Câu trả lời:


12

Đó không phải là chính xác làm thế nào để đi về nó.

Những gì bạn sẽ muốn làm là gắn hình ảnh đĩa như một thiết bị loopback:

mount -o ro,loop -t ntfs disk.image /mnt/test

Nội dung của hình ảnh sẽ có sẵn /mnt/test(nhưng bạn có thể chọn gắn nó bất cứ nơi nào bạn muốn). Bạn có thể sao chép các tệp riêng lẻ (hoặc toàn bộ cây thư mục) từ nó. Sử dụng umount /mnt/test1để ngắt kết nối nó.

Theo như khôi phục hình ảnh vào một đĩa mới, bạn cần khôi phục nó giống như cách bạn đã tạo nó. Tức là, nếu bạn đã tạo một hình ảnh của toàn bộ thiết bị khối (ví dụ sda:) sau đó khôi phục lại toàn bộ thiết bị khối. Nếu bạn đã tạo nó từ một phân vùng (ví dụ, sda1) thì chỉ khôi phục nó vào một phân vùng.

Điều đó đang được nói, nếu bạn đang thực hiện phân vùng, bạn sẽ cần tạo chúng trên thiết bị đích trước khi khôi phục. Thiết bị đích cũng cần có kích thước bằng hoặc lớn hơn hình ảnh bạn đã tạo.

Nếu bạn đang xử lý các phân vùng thì bạn có thể tạo phân vùng có cùng kích thước và bạn sẽ ổn. Bạn có thể tạo các phân vùng khác trong số các khối chưa được phân bổ cho một phân vùng. Nếu bạn đang xử lý khôi phục toàn bộ thiết bị khối trước, sau đó sử dụng gparted* để sửa đổi các phân vùng.


* Tôi khá chắc chắn gpartedcó thể thay đổi kích thước phân vùng trong ảnh đĩa trực tiếp, nhưng tôi thích giữ hình ảnh đĩa nguyên sơ.


Cảm ơn! Thiết bị loopback có nghĩa là gì?

Cảm ơn, @don_crissti và bahamat! Tôi chỉ thấy rằng tôi có thể khôi phục từ một hình ảnh vào một phân vùng. Nhưng tôi tự hỏi nếu phân vùng đích và phân vùng gốc mà hình ảnh được tạo ra khác nhau thì sao? Xem phần thêm vào bài viết của tôi. Cảm ơn!

Tôi đã cập nhật câu trả lời của mình để bao gồm khôi phục lại hình ảnh.
bahamat

Nếu bạn muốn giữ hình ảnh nguyên sơ, tôi sẽ sử dụng -r để chỉ đọc.
Didi Kohen

@DavidKohen: Điểm tốt. Sửa đổi.
bahamat

4

Bahamat đã đưa ra một câu trả lời tốt về cách trích xuất các tệp từ tệp hình ảnh đĩa (tức là loopback gắn nó và sau đó sao chép chúng), vì vậy tôi sẽ đưa ra câu trả lời chung chung về nhân bản hệ thống tệp.

Nếu mục đích của bạn là sao lưu và khôi phục, hoặc sao chép một hệ thống tệp từ máy tính này sang máy tính khác thì:

  1. Đối với linux và unix, bạn hầu như luôn luôn thực hiện sao lưu dựa trên tệp thay vì sao lưu ảnh đĩa hoặc phân vùng. Có rất nhiều công cụ mà bạn có thể sử dụng để làm điều này, bao gồm cpio, tarvà (yêu thích của tôi) rsync.

    Nếu bạn đang sao lưu hệ thống tập tin gốc thì bạn sẽ cần cài đặt lại bộ tải khởi động grub vào MBR khi bạn khôi phục. Xem tài liệu grub để biết chi tiết, đặc biệt là grub-installlệnh.

  2. cho NTFS, sử dụng một công cụ như ntfsclonetừ ntfs-3ggói. Nó có thể sao chép và thay đổi kích thước phân vùng NTFS.

  3. Clonezilla là một CD có khả năng khởi động tuyệt vời để sao lưu / khôi phục và nhân bản hình ảnh đĩa và phân vùng. Nó kết thúc tốt đẹp các công cụ như parted, dd, resize2fs, ntfsclonevà nhiều người khác với một hộp thoại văn bản chế độ dễ sử dụng và hệ thống menu. Ví dụ, nó có thể sao chép một phân vùng hoặc đĩa vào một phân vùng hoặc đĩa khác hoặc vào một tệp hình ảnh nén trên một chia sẻ tệp mạng (ví dụ NFS hoặc samba) và khôi phục từ cùng.


Cảm ơn, Craig! Tôi muốn nâng cao câu trả lời của bạn, nhưng danh tiếng của tôi quá thấp để làm điều đó. Tôi đã có động lực để đặt câu hỏi về sao lưu cấp độ byte và cấp độ tệp: unix.stackexchange.com/questions/47770/ Kẻ

Yêu thích của tôi là rsync, nhưng nó có nhiều vấn đề về quản lý bộ nhớ khiến nó chiếm bộ nhớ máy chủ khi sao chép nhiều tệp, hãy ghi nhớ điều đó.
Didi Kohen
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.