Enlarge disk partition image
Source:
- http://sirlagz.net/2012/06/20/how-to-resize-partitions-on-an-image-file/
- http://sirlagz.net/2013/03/04/how-to-resize-partitions-in-an-image-file-part-2/
Create a device for the original image, note the /dev/loop20:
sudo losetup -f --show org_partition.img /dev/loop20
Create file of a size you want (here 4500M)
dd bs=1M count=4500 if=/dev/zero of=new_partition.img
Create a device for the image, again, note the new /dev/loop21
sudo losetup -f --show new_partition.img /dev/loop21
Copy data from the original image to the empty image, if=source, of=destination (PROCEED WITH CAUTION):
sudo dd if=/dev/loop20 of=/dev/loop21 7761920+0 records in 7761920+0 records out 3974103040 bytes (4,0 GB, 3,7 GiB) copied, 46,4243 s, 85,6 MB/s
Disconnect the devices:
sudo losetup -d /dev/loop20 sudo losetup -d /dev/loop21
Resize the filesystem to available space:
resize2fs -f new_partition.img
Re-mount:
sudo losetup -f --show new_partition.img /dev/loop21
Check and allow the tool to fix errors:
sudo e2fsck -f /dev/loop21 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information Block bitmap differences: -(531654--531655) -(532478--532479) -(857474--858485) Fix<y>? yes Free blocks count wrong for group #16 (815, counted=819). Fix<y>? yes
Disconnect the device:
sudo losetup -d /dev/loop21
Fat32 max file size
Files on a Fat32 partition have a maximum size of 4GB. If you try to copy a larger file to a Fat32 system you may not always receive a warning beforehand (like when copying over a network). Then it will fail with a disk I/O error at the size limit without explanation.
Too be exact, the limit is:
4 GiB - 2 bytes = 4 * 1024 * 1024 * 1024 - 2 = 4,294,967,294 bytes
If we want 512-byte blocks the maximum is:
4,294,967,294 / 512 rounds down to 8,388,607 blocks of 512 bytes.
To make an empty file of exactly that size:
dd bs=512 count=8388607 if=/dev/zero of=new_partition.img
Microsoft Windows NTFS on Raspberry Pi read/write access
With the default selection of packages for Raspbian OS you can mount NTFS only as read-only. In order to have read/write access you need to install the ntfs-3g package.
sudo apt install ntfs-3g