티스토리 뷰
TPM(TPM - Trusted Platform Module)과 QEMU는 각각 컴퓨터 보안과 가상화에 관련된 기술입니다.
1. TPM (Trusted Platform Module)
- TPM은 컴퓨터 보안을 강화하는 데 사용되는 보안 칩입니다.
- TPM은 컴퓨터의 플랫폼 보안과 관련된 작업을 지원하며, 주로 다음과 같은 기능을 수행합니다:
- 플랫폼 식별 및 인증
- 플랫폼과 통신하는 키 관리 및 저장
- 보안 부팅 및 디스크 암호화 지원
- 시스템 상태 검증 및 보안 검사
- TPM은 보안 부팅, 디스크 암호화, 디지털 서명, 인증 등과 같은 다양한 보안 기능을 제공하여 컴퓨터 시스템의 보안성을 강화합니다.
2. QEMU
- QEMU는 가상화를 위한 무료 오픈 소스 하이퍼바이저입니다.
- QEMU는 CPU 가상화, 메모리 가상화, 디스크 가상화, 네트워크 가상화 등 다양한 가상화 기능을 지원합니다.
- 주로 다음과 같은 용도로 사용됩니다:
- 테스트 및 개발 환경 구축
- 다양한 운영 체제 및 응용 프로그램 테스트
- 서버 가상화
- 임베디드 시스템 시뮬레이션
- 보안 연구 및 분석
이 두 기술은 서로 다른 영역에서 사용되지만, TPM을 가상 시스템에서 시뮬레이트하거나 QEMU와 같은 가상화 플랫폼에서 TPM을 사용할 수도 있습니다. 이를 통해 TPM 기능을 테스트하거나 가상 환경에서 보안성을 강화할 수 있습니다.
QEMU
QEMU는 Quick EMUlator의 약자로, 가상화 및 에뮬레이션을 위한 오픈 소스 소프트웨어입니다. 다양한 CPU 아키텍처와 하드웨어를 지원하며, 호스트와 게스트 간의 가상화를 제공합니다. 주요 기능은 다음과 같습니다:
1. 다양한 플랫폼 지원 : QEMU는 x86, ARM, MIPS 등 다양한 CPU 아키텍처를 지원합니다. 이를 통해 다양한 운영 체제와 응용 프로그램을 실행할 수 있습니다.
2. 하드웨어 에뮬레이션 : QEMU는 가상 하드웨어를 제공하여 다양한 하드웨어를 에뮬레이션할 수 있습니다. 이를 통해 게스트 운영 체제에서 실제 하드웨어와 동일한 환경을 시뮬레이션할 수 있습니다.
3. 가상화 지원 : QEMU는 하드웨어 가상화를 제공하여 호스트 시스템의 성능을 최적화할 수 있습니다. 이를 통해 가상 머신에서 실행되는 소프트웨어의 성능을 향상시킬 수 있습니다.
4. 네트워킹 지원 : QEMU는 가상 네트워크 장치를 제공하여 가상 머신 간의 네트워크 통신을 지원합니다. 이를 통해 가상 머신을 네트워크에 연결하여 인터넷 액세스 등을 가능하게 합니다.
5. 디스크 이미지 관리 : QEMU는 다양한 디스크 이미지 포맷을 지원하며, 가상 머신의 디스크 이미지를 관리하고 조작할 수 있는 기능을 제공합니다.
QEMU는 리눅스, 윈도우, macOS 등 다양한 운영 체제에서 실행될 수 있으며, 커맨드 라인 인터페이스를 통해 사용될 수 있습니다. 또한, libvirt 및 virt-manager와 같은 GUI 도구를 사용하여 QEMU를 더 쉽게 관리하고 제어할 수도 있습니다.
WIN11에 QEMU 설치방법
Windows 11에 QEMU를 설치하는 방법은 다음과 같습니다:
1. QEMU 다운로드 : 우선 QEMU를 다운로드합니다. 공식 웹사이트인 https://www.qemu.org/ 에서 QEMU의 Windows용 바이너리를 다운로드할 수 있습니다. 다운로드 페이지에서는 최신 버전의 QEMU를 찾아 다운로드할 수 있습니다.
2. 압축 해제 : 다운로드한 QEMU 바이너리를 압축 해제합니다. 일반적으로 ZIP 파일로 제공되며, 압축을 해제하면 실행 파일이 포함된 디렉토리가 생성됩니다.
3. 환경 변수 설정(Optional) : QEMU를 사용하기 위해 환경 변수를 설정하는 것이 좋습니다. 환경 변수를 설정하면 QEMU를 어디에서든 실행할 수 있습니다. 시스템 환경 변수에 QEMU 실행 파일이 있는 디렉토리를 추가합니다.
4. QEMU 실행 : QEMU 실행 파일을 더블 클릭하여 실행합니다. 이때 QEMU의 커맨드 라인 인터페이스가 표시됩니다. 이제 원하는 가상 머신을 만들고 실행할 수 있습니다.
5. 가상 머신 설정 : QEMU를 사용하여 가상 머신을 만들고 실행합니다. 이를 위해 QEMU의 커맨드 라인 인터페이스를 사용하거나, QEMU Manager와 같은 GUI 도구를 사용할 수 있습니다.
6. 가상 머신 사용 : 가상 머신을 사용하여 다양한 운영 체제를 설치하고 실행할 수 있습니다. 예를 들어, Linux, Windows 등 다양한 운영 체제를 가상 머신에서 실행할 수 있습니다.
위 단계를 따라 Windows 11에서 QEMU를 설치하고 사용할 수 있습니다. QEMU를 사용하여 가상 머신을 만들고 실행하는 방법은 QEMU의 공식 문서나 다양한 온라인 리소스를 참조하여 학습할 수 있습니다.
QEMU에서 Full-system emulation, User-mode emulation, Virtualization 차이점, 용도
QEMU는 다음과 같은 세 가지 주요 가상화 모드를 제공합니다: 전체 시스템 에뮬레이션(Full-system emulation), 사용자 모드 에뮬레이션(User-mode emulation), 그리고 가상화(Virtualization)입니다. 각각의 모드는 다른 용도와 특징을 가지고 있습니다.
1. 전체 시스템 에뮬레이션(Full-system emulation):
- 용도 : 전체 시스템 에뮬레이션 모드에서는 호스트 시스템의 CPU와 같은 하드웨어 리소스를 완전히 에뮬레이트하여 완전한 가상 시스템을 생성합니다. 이 모드는 다양한 CPU 아키텍처에서 작동하는 운영 체제를 에뮬레이트하는 데 사용됩니다.
- 특징 : 전체 시스템 에뮬레이션은 가상화 기술을 사용하지 않으며, 호스트 시스템의 하드웨어를 완전히 에뮬레이트합니다. 이 모드는 CPU, 메모리, 디스크, 네트워크 인터페이스 등을 포함한 완전한 시스템을 제공하므로 다양한 운영 체제를 실행할 수 있습니다.
2. 사용자 모드 에뮬레이션(User-mode emulation):
- 용도 : 사용자 모드 에뮬레이션 모드에서는 호스트 시스템과 같은 아키텍처에서 작동하는 프로그램을 실행합니다. 이 모드는 호스트와 게스트의 아키텍처가 동일한 경우에 사용됩니다.
- 특징 : 사용자 모드 에뮬레이션은 전체 시스템 에뮬레이션보다 가벼우며, 호스트 시스템의 커널 및 기타 하드웨어 리소스를 사용하여 프로그램을 실행합니다. 이 모드는 호스트 시스템에서 직접 실행할 수 있는 프로그램을 실행할 수 있습니다.
3. 가상화(Virtualization):
- 용도 : 가상화 모드에서는 호스트 시스템에서 게스트 운영 체제를 실행하고, 하이퍼바이저를 사용하여 게스트 운영 체제와 호스트 시스템의 하드웨어를 공유합니다. 이 모드는 하이퍼바이저를 사용하여 여러 개의 가상 머신을 동시에 실행할 수 있습니다.
- 특징 : 가상화 모드는 전체 시스템 에뮬레이션보다 효율적이며, 하드웨어 가상화 기술을 사용하여 게스트 운영 체제와 호스트 시스템의 리소스를 효율적으로 공유합니다. 이 모드는 여러 개의 가상 머신을 실행할 수 있고, 각 가상 머신은 독립적으로 작동합니다.
요약하면, 전체 시스템 에뮬레이션은 완전한 가상 시스템을 생성하는 데 사용되고, 사용자 모드 에뮬레이션은 호스트 시스템과 동일한 아키텍처에서 실행되는 프로그램을 실행하는 데 사용되며, 가상화는 하이퍼바이저를 사용하여 게스트 운영 체제를 실행하고 리소스를 효율적으로 공유하는 데 사용됩니다.
QEMU Binaries for Windows (64 bit)
https://qemu.weilnetz.de/w64/
qemu-w64-setup-20231224.exe 2023-12-24 14:31 165M QEMU Installer for Windows (64 bit)
https://qemu.weilnetz.de/w64/qemu-w64-setup-20231224.exe
각 파일은 QEMU (Quick EMUlator) 가상화 소프트웨어 패키지에 속하는 실행 파일입니다.
genu-edid.exe
이 파일은 EDID (Extended Display Identification Data)를 생성하는 데 사용됩니다. EDID는 컴퓨터와 디스플레이 장치 사이에서 통신하는 데 사용되는 표준이며, 디스플레이의 기능 및 성능 정보를 제공합니다.
qemu-ga.exe
이 파일은 QEMU 게스트 에이전트를 실행하는 데 사용됩니다. 게스트 에이전트는 가상 머신 내부에서 호스트 컴퓨터와 통신하여 다양한 작업을 수행할 수 있습니다. 예를 들어, 게스트 에이전트를 사용하여 가상 머신의 상태를 모니터링하거나 관리할 수 있습니다.
qemu-img.exe
이 파일은 QEMU 이미지 유틸리티입니다. 가상 디스크 이미지를 생성하고 변환하며, 이미지의 메타데이터를 관리하고 검사하는 데 사용됩니다.
qemu-io.exe
이 파일은 QEMU I/O 스레스 테스트 도구입니다. 디스크 I/O 성능을 테스트하거나 디스크 이미지 파일의 내용을 검사하고 수정하는 데 사용될 수 있습니다.
qemu-nbd.exe
이 파일은 QEMU 네트워크 블록 장치를 관리하는 데 사용됩니다. 네트워크를 통해 다른 시스템에 연결된 디스크 이미지를 사용하거나 공유할 수 있습니다.
qemu-storage-daemon.exe
이 파일은 QEMU 스토리지 데몬을 실행하는 데 사용됩니다. 스토리지 데몬은 QEMU가 사용하는 가상 디스크 이미지를 관리하고, 다른 시스템과의 스토리지 연결을 관리합니다.
qemu-system-aarch64.exe
이 파일은 QEMU에서 ARM 아키텍처를 에뮬레이트하기 위한 시스템 에뮬레이터입니다. ARM 아키텍처 기반의 가상 머신을 만들고 실행하는 데 사용됩니다.
qemu-system-aarch64w.exe
이 파일은 Windows 호스트 운영 체제에서 QEMU에서 ARM 아키텍처를 에뮬레이트하기 위한 시스템 에뮬레이터입니다. 일반적으로 `qemu-system-aarch64.exe`와 유사하지만, Windows 호스트에서 실행될 때 일부 차이가 있을 수 있습니다.
qemu 명령 예제
qemu-system-x86_64 \ -enable-kvm \ -m 4G \ -smp 2 \ -hda myVirtualDisk.qcow2 \ -boot d \ -cdrom linuxmint-21.1-cinnamon-64bit.iso \ -netdev user,id=net0,net=192.168.0.0/24,dhcpstart=192.168.0.9 \ -device virtio-net-pci,netdev=net0 \ -vga qxl \ -device AC97 |
64G USB메모리도 필요없네;;;
QEMU로 ubuntu-23.10-desktop-legacy-amd64.iso을 불러다가
set isofile=D:\Ubuntu\ubuntu-23.10-desktop-legacy-amd64.iso qemu-system-aarch64 -machine virt -cpu cortex-a57 "%isofile%" WARNING: Image format was not specified for 'D:\Ubuntu\ubuntu-23.10-desktop-legacy-amd64.iso' and probing guessed raw. Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. |
WARNING: Image format was not specified for 'ubuntu-23.10-desktop-legacy-amd64.iso.img' and probing guessed raw. Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. 경고: 'ubuntu-23.10-desktop-legacy-amd64.iso.img'에 대한 이미지 형식이 지정되지 않았으며 프로브(probe)가 raw로 추측했습니다. 자동으로 형식을 감지하는 것은 raw 이미지에 대해 위험할 수 있으며, 블록 0에 대한 쓰기 작업이 제한됩니다. 제한 사항을 제거하려면 명시적으로 'raw' 형식을 지정하십시오. |
https://ubuntu.com/download/desktop
노트북사양
프로세서 : AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz
설치된 RAM : 16.0GB(15.4GB 사용 가능)
시스템 종류 : 64비트 운영 체제, x64 기반 프로세서
Windows 사양 : Windows 11 Home
ubuntu-23.10-desktop-legacy-amd64.bat
rem @echo off PATH=%PATH%;"C:\Program Files\qemu" set isofile=ubuntu-23.10-desktop-legacy-amd64 set exe=qemu-system-x86_64w set diskfile=%isofile%.img if not exist %diskfile% ( echo 16GB 디스크 이미지 파일 생성 qemu-img create -f raw "%diskfile%" 16G ) %exe% -m 2048 -cdrom "%isofile%.iso" -hda "%diskfile%" -boot d pause |
* Try or Install Ubuntu
화면이 너무 크다....
화면에 마우스 클릭하면, 화면에서 못빠져나옴.
<CTRL>+<ALT>+G 누르면 마우스가 빠져나옴.(왼쪽 상단에 글자가 나옴)
오래 걸림....
해상도가 안맞아서 글자가 져보임
드디어 설치완료. 재부팅
-enable-kvm
`-enable-kvm` 옵션은 QEMU에서 KVM(Kernel-based Virtual Machine) 가상화를 활성화하는 옵션입니다. 이 옵션을 사용하면 QEMU가 호스트 시스템의 하드웨어 가상화 기능을 활용하여 가상 머신을 실행합니다.
KVM은 리눅스 커널에서 지원하는 가상화 기술로, 하드웨어 가상화 기술을 기반으로 하여 가상 머신의 성능을 향상시키고 리소스를 효율적으로 관리할 수 있습니다. KVM을 사용하면 가상 머신이 호스트 시스템의 하드웨어에 직접 접근하여 실행되므로 성능이 향상되며, 게스트 운영 체제가 호스트 시스템의 리소스를 직접 사용할 수 있습니다.
따라서 `-enable-kvm` 옵션을 사용하면 QEMU가 KVM 가상화를 활성화하여 가상 머신을 보다 효율적으로 실행할 수 있습니다. 이 옵션은 주로 리눅스 시스템에서 사용되며, 호스트 시스템이 CPU에 하드웨어 가상화 기능을 지원하는 경우에만 사용할 수 있습니다.
qemu-system-x86_64w -m 2048 -hda "ubuntu-23.10-desktop-legacy-amd64.img" -vga std -display sdl
동작속도가 너무느려 사용이 불가능한 정도이다.
해상도를 낮게 변경했다
RAM을 2G->4G로 올렸다.
그래도 느리다.
인터넷 찾아보니 많은 사람들이 나처럼, AMD PC에서는 너무 느리다고 한다.
RAM을 2G->8G로 올렸다.
그래도 사용이 불가능할 정도로 매우 느리다.
virt-manager
virt-manager는 리눅스 환경에서 가상 머신을 관리하기 위한 그래픽 사용자 인터페이스(GUI) 도구입니다. 주로 KVM(Kernel-based Virtual Machine)과 함께 사용되며, 가상 머신을 만들고 구성하고 관리하는 데 사용됩니다.
일반적으로 virt-manager를 사용하여 다음과 같은 작업을 수행할 수 있습니다:
1. 가상 머신 생성
새 가상 머신을 생성하고 필요한 하드웨어 리소스(프로세서, 메모리, 디스크 공간 등)를 할당합니다.
2. 가상 머신 구성
가상 머신의 설정을 구성하고 조정합니다. 예를 들어, 네트워크, 저장소, CD/DVD 드라이브, 그래픽 설정 등을 관리할 수 있습니다.
3. 가상 머신 시작 및 정지
virt-manager를 사용하여 가상 머신을 시작하고 중지할 수 있습니다.
4. 가상 머신 모니터링
현재 실행 중인 가상 머신의 상태를 모니터링하고 리소스 사용량을 확인할 수 있습니다.
5. 가상 머신 복제
가상 머신을 복제하여 여러 개의 동일한 인스턴스를 만들 수 있습니다.
6. 가상 머신 이전 및 내보내기
다른 호스트로 가상 머신을 이전하거나 내보낼 수 있습니다.
7. 가상 머신 스냅샷
현재 상태의 가상 머신 스냅샷을 찍어 나중에 복구할 수 있습니다.
8. 가상 머신 관리
가상 머신의 관리와 유지보수 작업을 수행할 수 있습니다.
virt-manager는 가상 머신을 만들고 관리하는 데 필요한 대부분의 기능을 제공하며, 가상 머신을 효율적으로 관리하고 사용자가 가상 환경을 쉽게 관리할 수 있도록 도와줍니다.
'초보 우분투(리눅스)' 카테고리의 다른 글
우분투에서도 윈도우의 배치파일 같은것이 있나? (0) | 2024.02.25 |
---|---|
관리자 권한으로 파일 관리자를 여는 방법 (0) | 2024.02.25 |
tarball (0) | 2024.02.24 |
일반인도 GNOME git에 소스코드를 업로드할 수 있나? (1) | 2024.02.24 |
젯슨 나노(Jetson Nano) + ubuntu-20.04.5-live-server-arm64.iso (0) | 2024.02.24 |