Để 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
.img
tậ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 dd
làm việc, nhưng thực sự không có. Ví dụ: để thêm một lỗ vào cuối .img
tệ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, 1kx1k
bit có thể được rút ngắn thành chỉ M
. dd
tì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 dd
vì không có công cụ nào trong số đó là di động trong đó dd
hà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, .img
bạ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 .img
thì 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
.img
thay đổ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 -d
estroy 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]
.img
tập tin bạn nên sử dụng resize2fs
và đượ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 man
trang 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, .img
vui 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ể.