Để làm điều này một cách chính xác, bạn cần phải:
- Đầu tiên mở rộng
.imgtập tin.
- Tiếp theo mở rộng hệ thống tập tin trong.
Cách tốt nhất để làm điều đầu tiên là với dd. Vì lý do nào đó, một số người gán một loại bí ẩn cho cách ddlàm việc, nhưng thực sự không có. Ví dụ: để thêm một lỗ vào cuối .imgtệp của bạn :
dd bs=1kx1k seek=100 of=.img </dev/null
Trên bất kỳ hệ thống POSIX nào sẽ cắt tệp thành 100MiBs. Trên hệ thống GNU, 1kx1kbit có thể được rút ngắn thành chỉ M. ddtìm kiếm 100MiBs vào tệp, gặp EOF trong lần đọc đầu tiên và đóng tệp. Đó là một hành động duy nhất và không yêu cầu đọc (ngoài lần trống đầu tiên) hoặc viết - nó gần như nguyên tử.
Nếu tệp là 50MiB trước đó, thì bây giờ nó sẽ được phân bổ thêm 50MiB. Nếu tập tin là 150MiB trước đó, điều đó sẽ cắt 50MiB cuối cùng ra khỏi đuôi. Trên một hệ thống tệp hiểu các tệp thưa thớt , lỗ tệp được nối sẽ thực sự không sử dụng không gian đĩa, và sẽ chỉ sử dụng những gì cần thiết khi bạn điền vào.
Các cách khác để làm tương tự trên một số hệ thống:
fallocate -l100M .img
truncate -s100M .img
... cả hai lệnh này sẽ thực hiện chính xác điều tương tự dd. Tôi khuyên bạn ddvì không có công cụ nào trong số đó là di động trong đó ddhành vi của POSIX-spec'd và khi bạn tìm hiểu cách sử dụng trình hủy đĩa đúng cách, sẽ không có đĩa nào dám cản đường bạn.
Nếu bạn chỉ đơn thuần thêm vào, .imgbạn có thể thực hiện những điều trên cho dù nó có được gắn hay không (mặc dù nếu bạn lấy một số gắn kết .imgthì nó có thể không hoạt động như mong đợi) , nhưng trước tiên bạn sẽ cần phải umount.imgthay đổi kích thước của nó hệ thống tập tin cấu thành nào, và vì vậy cũng có thể. Bạn không cần phải -destroy thiết bị vòng lặp, mặc dù.
Cách bạn xử lý điều thứ hai phụ thuộc vào việc có .imgđược phân vùng hay không. Nếu không, như tôi đoán là trường hợp dựa trên nhận xét của bạn ở nơi khác, thì bạn sẽ chỉ cần giải quyết fs theo loại của nó. Đối với một ext[234] .imgtập tin bạn nên sử dụng resize2fsvà được thực hiện với nó. Đối với những người khác, bạn sẽ muốn xem các công cụ không gian người dùng có liên quan và các mantrang của họ .
Nếu .imgđược phân vùng nó có thể phức tạp hơn. Trong các trường hợp như vậy, cách bạn xử lý tình huống sẽ phụ thuộc vào loại bảng phân vùng được sử dụng (chẳng hạn như GPT vs MBR so với hybrid-MBR) , cho dù đó là phân vùng cuối cùng trong bảng phân vùng của tệp và nhiều thứ khác. Tôi ngần ngại mạo hiểm bất kỳ chi tiết cụ thể nào ở đây mà không có thêm thông tin: nếu bạn cần tư vấn về cách xử lý phân vùng, .imgvui lòng cho tôi biết thêm một số chi tiết và tôi sẽ cung cấp những gì tôi có thể.