이 게시물에서 프로세스를 시도했습니다.이미지 파일의 파티션 크기 조정. 내 예에서 왜 문제가 발생하는지 이해하지 못했습니다.
을 사용하여 8GB 이미지를 생성했습니다 dd
. 이미지에는 두 개의 파티션이 포함되어 있습니다.
나는 매핑된 이미지를 사용합니다 losetup -P /dev/loop0 $image-file
.
그 다음에:
resize2fs /dev/loop0p2 4000M
resize2fs 1.44.1 (24-Mar-2018)
Resizing the filesystem on /dev/loop0p2 to 1536000 (4k) blocks.
The filesystem on /dev/loop0p2 is now 1536000 (4k) blocks long.
e2fsck -f /dev/loop0p2 ->>> clean
parted /dev/loop0
(parted) resizepart 2 4000MB` ; print gives 4GB partition
(parted) quit
partprobe -s /dev/loop0
lsblk /dev/loop0
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 7,5G 0 loop
├─loop0p1 259:2 0 256M 0 loop
└─loop0p2 259:3 0 3,5G 0 loop
root@O3:/home/m/tmp# e2fsck -f /dev/loop0p2
e2fsck 1.44.1 (24-Mar-2018)
The filesystem size (according to the superblock) is 1903360 blocks
The physical size of the device is 1154143 blocks
**Either the superblock or the partition table is likely to be corrupt**!
Abort? yes
resize2fs
parted를 사용하여 파티션 크기를 조정하면 정리 후에 불일치가 발생할 수 있습니다 e2fsck
.
이미지 파일을 축소하는 방법을 탐색할 수 있는 아이디어가 있습니까?
답변1
@sudodus와 @fra-san에게 감사드립니다.
resize2fs
parted
파일 시스템/파티션을 결합하고 축소할 때 호환성 문제가 있는 것 같습니다 . resize2fs는 4k 블록을 사용하고, parted는 바이트 또는 MB, GB 등을 사용합니다.
결국 두 번째 파티션을 축소하는 다른 방법을 찾았습니다 gnome-disks
. Linux Mint와 함께 제공되며 잘 작동합니다. parted 및 gparted는 두 번째 파티션을 축소하는 데 실패했지만 gnome-disks는 한 번의 작업으로 fs와 파티션의 크기를 모두 성공적으로 조정했습니다.
fs/파티션 축소 후 loop0p2에 뒤에 빈 공간이 있습니다. 이미지 파일을 축소하고 싶습니다. 그래서 나는 이렇게 했습니다:
root@O3:/home/m# fdisk -l /dev/loop0
Disk /dev/loop0: 7,5 GiB, 8068792320 bytes, 15759360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8889db7f
Device Boot Start End Sectors Size Id Type
/dev/loop0p1 8192 532479 524288 256M c W95 FAT32 (LBA)
/dev/loop0p2 532480 8355839 7823360 3,7G 83 Linux
크기를 자르나요? (8192 + 524288 + 7823360) * 512 = 4278190080B
truncate --size=4278190080 image-file.img
생성된 이미지 파일을 Loop0에 다시 매핑한 후에는 fs/파티션 오류가 더 이상 발생하지 않습니다.