2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

QEMU에서 파일 시스템을 마운트하는 방법은?

_____
QEMU에서 파일 시스템을 마운트하는 방법에 대해 자주 묻는 질문(FAQ) 형식으로 정리했습니다.

---
Q1. QEMU에서 게스트 OS 내의 파일 시스템을 호스트에서 어떻게 마운트하나요?

답변:
QEMU 이미지 파일(예: `.img`, `.qcow2`)을 호스트에서 직접 마운트하려면, 다음 절차를 따릅니다.

1. 이미지의 파티션 위치 확인
`fdisk` 또는 `parted`를 사용하여 이미지 파일 내 파티션 오프셋을 확인합니다.
```bash
fdisk -l disk.img
```
출력 결과에서 파티션 시작 위치(sector)를 확인합니다.

2. 오프셋 바이트로 변환
예를 들어, 시작 섹터가 2048이고 섹터 크기가 512바이트면 오프셋은 `2048 * 512 = 1048576` 바이트입니다.

3. 마운트 명령 실행
루프 디바이스를 이용하여 오프셋과 함께 이미지 파티션을 마운트합니다.
```bash
sudo mount -o loop,offset=1048576 disk.img /mnt
```
4. 마운트 해제
```bash
sudo umount /mnt
```

---

Q2. QEMU 내부 게스트에서 파일 시스템을 마운트하려면 어떻게 하나요?

답변:
게스트 운영체제에서 일반적인 리눅스 마운트 명령 사용과 같습니다.

1. 디스크 확인
```bash
lsblk
```
또는
```bash
fdisk -l
```
필요한 파티션 이름 확인 (`/dev/vda1`, `/dev/sda1` 등)

2. 마운트 디렉터리 생성
```bash
sudo mkdir /mnt/mydisk
```

3. 마운트 실행
```bash
sudo mount /dev/vda1 /mnt/mydisk
```

4. 파일 접근
마운트 된 경로에서 파일 시스템 내용 이용 가능.

---

Q3. QEMU에 ISO 파일을 연결하고 마운트하려면?

답변:
QEMU 실행 시 CD-ROM 드라이브에 ISO 파일을 연결할 수 있습니다.

```bash
qemu-system-x86_64 -cdrom ubuntu.iso -boot d -m 2048
```

게스트 내에서는 아래와 같이 마운트 합니다.

```bash
sudo mkdir /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
```

---

Q4. QEMU에서 9p 공유 파일 시스템으로 호스트 파일을 게스트에 마운트하는 방법은?

답변:
9p 프로토콜을 이용해 호스트 디렉터리를 게스트에 공유할 수 있습니다.

1. QEMU 실행 시 옵션 추가
```bash
qemu-system-x86_64 \
-virtfs local,id=shared,path=/host/path,security_model=passthrough,mount_tag=hostshare
```

2. 게스트에서 마운트
```bash
sudo mkdir /mnt/shared
sudo mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt/shared
```

---

Q5. QEMU에서 네트워크 파일 시스템(NFS)를 마운트하나요?

답변:
NFS는 네트워크 프로토콜이므로, 게스트 OS가 네트워크를 통해 NFS 서버에 접근할 수 있어야 합니다.

1. 게스트 내에서 NFS 클라이언트 설치 및 설정
2. NFS 서버 IP와 공유 경로를 사용하여 마운트 수행
```bash
sudo mount -t nfs 192.168.x.x:/export/path /mnt/nfs
```

---

Q6. QEMU 이미지 내 특정 파일 또는 디렉터리만 추출하려면?

답변:
`guestfs` 도구 또는 `libguestfs` 기반의 `guestmount`를 사용합니다.

```bash
guestmount -a disk.img -i /mnt
```

마운트 후 원하는 파일을 호스트에서 접근 및 복사 가능.

---

요약

| 방법 | 명령어 예시 | 설명 |
|----------------------|------------------------------------|-------------------------------------|
| 호스트에서 직접 마운트 | `mount -o loop,offset=... disk.img /mnt` | 이미지 파일 내 파티션 마운트 |
| 게스트 내에서 마운트 | `mount /dev/vda1 /mnt/mydisk` | 게스트 OS 내에서 일반 마운트 |
| ISO 연결 및 마운트 | `-cdrom iso파일, mount /dev/cdrom` | QEMU 실행 시 ISO 연결 및 게스트에서 마운트 |
| 9p 공유 마운트 | `-virtfs ..., mount -t 9p ...` | 호스트 디렉터리 9p 프로토콜로 공유 |
| NFS 마운트 | `mount -t nfs server:/path /mnt` | 네트워크 파일 시스템 마운트 |
| guestmount 활용 | `guestmount -a disk.img -i /mnt` | 이미지 파일 직접 마운트 및 파일 추출 |

---

추가 질문이 있으시면 언제든 문의해 주세요!
QEMU에서 파일 시스템을 마운트하는 방법은 여러 가지가 있지만, 주로 가상 머신에서 사용할 디스크 이미지를 생성하고 이를 인식시키는 방식으로 진행됩니다.

다음은 QEMU에서 파일 시스템을 마운트하는 기본적인 단계들입니다.

1. QEMU 설치 QEMU가 설치되어 있는지 확인합니다.

설치되지 않았다면, 패키지 관리자를 통해 설치할 수 있습니다.

예를 들어, Ubuntu에서는 다음과 같은 명령어로 설치할 수 있습니다: ```bash sudo apt-get install qemu ```

2. 디스크 이미지 생성 QEMU에서는 가상 디스크를 사용하여 파일 시스템을 마운트합니다.

`qemu-img`를 사용하여 디스크 이미지를 생성할 수 있습니다.

```bash qemu-img create -f qcow2 mydisk.qcow2 10G ``` 위 명령은 10GB 크기의 QCOW2 포맷 가상 디스크 이미지(`mydisk.qcow2`)를 생성합니다.



3. ISO 이미지 준비 (선택 사항) 설치할 운영 체제의 ISO 이미지를 다운로드합니다.

예를 들면, Ubuntu ISO를 사용할 수 있습니다.



4. QEMU 시작 및 파일 시스템 마운트 QEMU를 실행할 때, 생성한 디스크 이미지와 ISO 이미지를 함께 사용하여 가상 머신을 부팅합니다.

```bash qemu-system-x86_64 -hda mydisk.qcow2 -cdrom /path/to/your.iso -boot d -m 1024 ``` 위 명령에서, - `-hda mydisk.qcow2`: 가상 머신의 첫 번째 하드 드라이브로 디스크 이미지를 설정합니다.

- `-cdrom`: 부팅할 ISO 이미지를 지정합니다.

- `-boot d`: CD-ROM에서 부팅하도록 설정합니다.

- `-m 1024`: 메모리 크기를 1024MB로 지정합니다.

가상 머신이 부팅되면, 운영 체제를 설치할 수 있고, 이후에는 해당 파일 시스템을 마운트할 수 있습니다.



5. 파일 시스템 마운트 (가상 머신 내) 운영 체제가 설치된 후, 가상 머신이 실행 중일 때 추가적인 디스크를 연결하려면 아래와 같은 QEMU 명령어를 사용할 수 있습니다.

```bash qemu-system-x86_64 -hda mydisk.qcow2 -hdb additional_disk.img -m 1024 ``` 그런 다음, 가상 머신 내에서 `fdisk` 또는 `lsblk`를 사용하여 디스크를 확인하고, 파일 시스템을 마운트합니다.

```bash sudo mkfs.ext4 /dev/sdb 추가 디스크 포맷 sudo mkdir /mnt/mydisk 마운트 폴더 생성 sudo mount /dev/sdb /mnt/mydisk 마운트 ```

6. 종료 및 추가 설정 가상 머신에서 작업을 마친 후, `umount` 명령어로 마운트를 해제할 수 있으며, QEMU를 종료합니다.

추가 팁 - QEMU는 다양한 옵션을 제공하므로, 사용하려는 기능에 맞게 적절하게 조정해야 합니다.

- 네트워크 파일 시스템(NFS)이나 디렉토리를 공유하여 호스트 OS와 가상 머신 간에 파일을 쉽게 전송하려면 추가적인 설정이 필요합니다.

이러한 단계들을 통해 QEMU에서 파일 시스템을 효과적으로 마운트하고 사용할 수 있습니다.

작성자: 정재원 [비회원] | 작성일자: 1년 전 2025-03-21 00:21:29
조회수: 245 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.