1. 이미지 파일 속성 확인하기
본 매뉴얼에서의 테스트 파일은 test.img 이며, raw 포맷 파일입니다.
파일 속성 확인 하는 방법 은 아래와 같습니다.
# qemu-img info test.img
image: test.img
file format: raw
virtual size: 200M (209715200 bytes)
disk size: 200M // 용량이 제대로 표시되지 않음
* 용량이 제대로 표시되지 않는 경우
이미지를 생성하면 용량이 정상적으로 출력되지만, 이미지 파일을 복사 (예: ftp 전송) 하였을 경우
용량 정보가 삭제 되는것으로 예상됩니다.
이럴 경우 아래와 같이 용량이 올바른 값으로 출력되게 할 수 있습니다. (그러나 별 의미 없음)
# qemu-img convert test.img -O raw tmp.img
# qemu-img info tmp.img
image: tmp.img
file format: raw
virtual size: 200M (209715200 bytes)
disk size: 2.6M // 용량이 제대로 표시 되었음
2. XFS 파티션 이미지 마운트하기
# mkdir /sysdocu_test
# mount -o loop test.img /sysdocu_test
# df -h
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 36M 3.9G 1% /dev/shm
tmpfs tmpfs 3.9G 1.5M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda2 ext4 110G 62G 43G 60% /
tmpfs tmpfs 3.9G 64K 3.9G 1% /tmp
/dev/sdb1 ext4 74G 3.4G 67G 5% /2ND-DISK
tmpfs tmpfs 799M 12K 799M 1% /run/user/42
tmpfs tmpfs 799M 32K 799M 1% /run/user/1000
/dev/loop0 xfs 190M 88M 102M 47% /sysdocu_test
# ll /sysdocu_test
합계 70000
-rw-r--r-- 1 root root 10240000 8월 31 16:08 testfile
-rw-r--r-- 1 root root 10240000 8월 31 16:09 testfile2
-rw-r--r-- 1 root root 10240000 8월 31 16:17 testfile3
-rw-r--r-- 1 root root 10240000 8월 31 16:30 testfile4
-rw-r--r-- 1 root root 10240000 8월 31 16:41 testfile5
-rw-r--r-- 1 root root 10240000 8월 31 17:05 testfile6
-rw-r--r-- 1 root root 10240000 8월 31 17:06 testfile7
3. EXT4 파티션 이미지 마운트하기
(ext4 테스트 파일명 : 215_43_snap.img / raw 포맷)
# mkdir /sysdocu_test2
# mount -o loop 215_43_snap.img /sysdocu_test2 // -t ext4 옵션을 추가해 주어도 마찬가지
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
# fdisk -u -l 215_43_snap.img
Disk 215_43_snap.img: 200 MiB, 209715200 bytes, 409600 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: 0xcc803d7c
Device Boot Start End Sectors Size Id Type
215_43_snap.img1 63 401624 401562 196.1M 83 Linux
위에서 출력되는 sector 값과 Start 값을 곱합니다.
512 * 63 = 32256 // 결과값 32256 확인 (offset 옵션으로 사용)
* 참고
이미지안에 파티션이 1개일경우 대부분 offset 값이 32256 이나,
파티션이 여러개일 경우, 반드시 확인하고 계산해야 마운트가 가능합니다.
# mount -o loop,offset=32256 215_43_snap.img /sysdocu_test2
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 93M 3.9G 3% /dev/shm
tmpfs tmpfs 3.9G 1.5M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda2 ext4 110G 60G 45G 58% /
tmpfs tmpfs 3.9G 76K 3.9G 1% /tmp
/dev/sdb1 ext4 74G 3.4G 67G 5% /2ND-DISK
tmpfs tmpfs 799M 12K 799M 1% /run/user/42
tmpfs tmpfs 799M 24K 799M 1% /run/user/1000
/dev/loop0 xfs 190M 98M 92M 52% /sysdocu_test
/dev/loop1 ext4 186M 146M 27M 85% /sysdocu_test2
※ loop device 를 내 마음대로 지정하고 싶은 경우
# mount -o loop=/dev/loop7,offset=32256 215_43_snap.img /sysdocu_test2
혹시 시스템에 /dev/loop7 이름의 loop device 가 없을 경우 아래와 같이 생성해주면 됩니다.
# mknod -m 660 /dev/loop7 b 7 7
(설명)
-m 660 : 권한 (permission) 설정
/dev/loop8 : 생성할 특수 파일명
b : block device // 고정
7 : device type(7 is loop device) // 고정
7 : id // 장치명(파일명)과 id 만 신경써서 바꿔주면 됩니다.
(장치명 loop 숫자와 동일하게 하면 깔끔)
# mknod -m 660 /dev/loop8 b 7 8
# mknod -m 660 /dev/loop9 b 7 9
# ll /dev/loop*
crw-rw---- 1 root disk 10, 237 9월 1 09:28 /dev/loop-control
brw-rw---- 1 root disk 7, 0 9월 1 09:39 /dev/loop0
brw-rw---- 1 root disk 7, 1 9월 1 11:21 /dev/loop1
brw-rw---- 1 root root 7, 7 9월 1 11:31 /dev/loop7
# mount -o loop=/dev/loop7,offset=32256 215_43_snap.img /sysdocu_test2
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 38M 3.9G 1% /dev/shm
tmpfs 3.9G 1.5M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda2 110G 60G 45G 58% /
tmpfs 3.9G 76K 3.9G 1% /tmp
/dev/sdb1 74G 3.4G 67G 5% /2ND-DISK
tmpfs 799M 12K 799M 1% /run/user/42
tmpfs 799M 24K 799M 1% /run/user/1000
/dev/loop0 190M 98M 92M 52% /sysdocu_test
/dev/loop7 186M 146M 27M 85% /sysdocu_test2