가상화

가상화는 쉽게 설명하자면, 호스트 컴퓨터에 소프트웨어로 구현한 가상의 컴퓨터에 OS를 깔아서 사용하는 것이라고 할 수 있습니다. 더 쉽게 말하면 컴퓨터 속의 컴퓨터입니다.

그럼 가상화는 왜 사용하는 걸까요?

공부를 진행하면서 자주 접하게 될 실행파일 포맷은 elf입니다. 해당 실행파일은 리눅스에서 실행이 가능합니다. 하지만 대부분의 경우 리눅스가 호스트 컴퓨터의 OS로 설치된 경우는 많이 없을 것입니다. 이러한 상황에서 elf 실행파일을 실행하기 위해서는 가상화를 통해 가상머신을 만들어 사용합니다.

또는 악성코드와 같은 프로그램을 동적 분석한다고 했을 때 호스트 컴퓨터에서 실행하게 된다면 어떤 일이 일어나게 될지는 명확하죠? 이러한 일을 막고자 가상화된 가상머신을 구성하여 사용하는 것처럼 호스트 컴퓨터와는 격리된 환경이 필요할 때 사용합니다.

윈도우에서 가상화을 사용하는 방법은 여러가지가 있지만, 가장 편한 방법 중 하나는 WSL(Windows Subsystem for Linux)를 사용하는 것입니다.

따라서 이번에는 이런 도구가 있고 설치하고 사용해 보자 정도로 넘어가시면 될 것 같습니다.

현재 문서에 적힌 가상화에 대한 내용은 쉽게 설명하기 위해 많은 내용이 생략되어 있습니다. 가상화에 대해서 더욱 자세히 알고 싶으시면 init.tools의 CORE의 Virtual Environment 부분을 읽어보시면 될 것 같습니다.

WSL 설치

WSL은 설치하기 전 몇 가지 조건을 충족해야 정상적으로 설치가 가능하기 때문에 아래 설치 과정을 잘 따라와 주시기 바랍니다.

Hyper-V 및 WSL 설치

윈도우에서 가상환경을 이용하기 위해 사용하는 기능이 바로 Hyper-V입니다. 기본적으로 해당 기능은 꺼진 상태입니다. 이를 활성화하기 위해서 Window 키를 누르고 Windows 기능 켜기/끄기1에서 Hyper-v 관련 설정을 전부 켜줘야 합니다.

Windows 기능 켜기/끄기에서 켜야하는 기능은 아래와 같습니다.

  • Hyper-V
  • Linux 용 Windows 하위 시스템
  • 가상 머신 플랫폼

여기서 Hyper-V가 보이지 않는 경우가 있으실 겁니다. Windows Home 에디션의 경우 기본적으로 Hyper-V 설정이 숨겨져 있습니다. 해당 기능을 활성화하기 위해서는 아래의 코드블럭의 내용을 복사하여 메모장에 입력한 다음 메모를 저장 할 때 파일의 이름을 hyper-v.bat와 같이 확장자 명을 .bat으로 설정하여 저장하시면 됩니다. 그리고 저장한 .bat파일을 관리자 권한으로 실행하시면 됩니다. 2

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause

해당 .bat파일을 실행하고 나면 다시 Windows 기능 켜기/끄기에서 아래 이미지들 처럼 해당하는 기능들을 켜주시면 됩니다.

해당 기능을 켜고 확인을 누르면 아래와 같이 필요한 파일을 검색하고 다시 시작을 해야한다는 창이 나오게 됩니다. 그러면 다시 시작을 눌러 설치를 마무리하시면 됩니다.

재부팅이 끝나면 Hyper-V와 WSL을 사용할 준비가 완료 됩니다.

WSL 배포판 설치

WSL 우분투 설치

WSL에서는 다양한 배포판을 설치할 수 있는데 어떤 배포판들이 있는지 확인해 봅시다. 아래의 명령어를 터미널에 입력하시면 됩니다.

wsl --list --online

그러면 아래 이미지처럼 설치가 가능한 배포판들이 출력됩니다.

다음으로 아래의 명령어를 이용해서 우분투를 설치하겠습니다. 두 가지의 명령어가 있는데 편하신 방법으로 진행하시면 됩니다.

wsl --install # 기본 배포판(우분투) 설치
wsl --install -d ubuntu # 특정 배포판 설치, 리스트에 나온 NAME 입력하면 됩니다.

저는 일단 특정 배포판을 설치하는 명령어로 진행하였습니다.

참고: wsl --install 명령어를 이용하면 우분투를 바로 설치할 수 있습니다.

우분투의 설치 준비가 끝나면 아래의 이미지와 같이 우분투의 계정을 설정이 시작됩니다.

: 뒤에 원하는 값을 넣어주시면 됩니다. 각 입력 부분이 의미하는 건 아래와 같습니다.

  • Create a default Unix user account: 에 원하는 사용자명을 입력
  • New password: 에 원하는 비밀번호를 입력

입력이 끝나면 비밀번호 확인을 위해 한 번 더 설정한 비밀번호를 입력하는 과정이 있습니다. 해당 과정까지 마무리하면 계정 생성이 끝나게 됩니다. 모든 과정이 끝나면 아래 이미지와 같이 우분투가 시작되는 것을 확인할 수 있습니다.

우분투에서 나가려면 exit을 입력하면 됩니다.

WSL 실행 방법

WSL에서 배포판을 실행하는 방법은 아래와 같이 실해하면 됩니다.

wsl

기본 배포판 실행

해당 명령어를 이용하면 아래 이미지와 같이 우분투가 바로 실행됩니다.

이 명령어는 기본 실행 배포판으로 설정된 배포판(기본 우분투)를 실행하는 명령어입니다.

특정 배포판 실행

그럼 만약 여러개의 배포판을 설치한 경우라면 어떻게 할까요? 바로 아래의 명령어들을 이용해서 실행을 원하는 배포판을 선택해서 실행할 수 있습니다.

wsl -l -v

위 명령어를 이용해서 현재 어떤 배포판이 설치 되어있는지 확인할 수 있습니다. 그 중에서 실행을 원하는 배포판을 선택하여 아래의 명령어 처럼 사용하시면 됩니다.

wsl -d {사용할 배포판}

위 두가지 명령어를 사용한 예시는 아래 이미지와 같습니다.

파일 탐색기로 WSL 파일 접근

WSL의 장점 중 하나는 호스트 컴퓨터에서 직접 WSL에 설치한 배포판의 폴더나 파일에 접근이 가능하다는 점입니다.3 이는 CLI에 익숙하지 않은 경우에 꽤 도움이 됩니다.

그럼 아래 단계를 통해 우분투 속의 파일과 폴더에 접근하는 방법을 알려드리겠습니다.

접근 방법

우선 윈도우 파일 탐색기를 열어줍니다. 파일 탐색기 왼편의 탐색창을 아래로 내려주면 아래 이미지와 같이 Linux라 적힌 펭귄 아이콘을 가진 폴더가 존재합니다.

Linux 하위 폴더 중 Ubuntu를 선택하면 상단의 주소 표시줄이 아래 이미지와 같이 변합니다..

다음 단계를 진행하기 전에 한 가지 알아두어야 할 점이 있습니다. wsl 명령어로 우분투를 실행하면 현재 터미널의 위치에서 실행된다는 것입니다. 따라서 우분투 실행 후 아래 명령어를 입력해 홈 폴더로 이동해 주세요.

cd

위 명령어를 입력하면 우분투의 홈 폴더, 즉 로그인했을 때의 기본 위치로 이동합니다. 이동 후 pwd 명령어를 입력하면 현재 폴더의 경로가 출력됩니다.

hspace00@DESKTOP-IIMQ6IK:$ pwd
/home/hspace00/

출력에 대한 해석은 아래와 같이 진행하시면 됩니다. /:

  • 최상위 폴더
  • 윈도우 파일 탐색기에서 접근한 Ubuntu 폴더 위치랑 동일

home:

  • 우분투에 로그인 가능한 아이디로 이루어진 폴더들이 모여있는 폴더
  • 만약 id가 hspace00이면 해당 폴더에 hspace00이라는 폴더가 존재 합니다.
    • 해당 폴더가 우리가 로그인 했을 때의 기본 위치가 됩니다.

이제 해당 폴더를 기준으로 파일 탐색기와 WSL에서 직접 이동해 보며 파일에 접근해 보는 것을 추천합니다.

Docker

Docker는 컨테이너라는 기술을 이용해서 가상머신에 비해 상대적으로 가벼운 가상화 도구입니다. 주로 환경이 미리 세팅된 문제들을 풀 때 자주 보게 될 친구입니다.

도커를 설치하는 과정에서 터미널을 관리자 권한으로 실행해야 합니다. 아래의 이미지에 있는 관리자 권한으로 실행을 통해 가능합니다.

설치 방법은 아래의 순서를 따라가시면 설치가 완료 됩니다.

winget search docker

해당 명령어의 결과는 아래와 같습니다.4

위 이미지를 통해서 보이는 것처럼 수 많은 도커에 관한 도구들이 나오게 됩니다. 하지만 저희가 설치할 것은 일치 부분에 Moniker: docker라고 되어있는 부분의 도커입니다.

설치할 패키지의 ID를 알았으니 아래의 명령어를 터미널에 입력하면 도커의 설치가 시작됩니다.

winget install Docker.DockerDesktop

저는 장치 ID를 복사해 사용했지만 파이썬을 설치했을 때 언급한 것처럼 그냥 winget install docker로 진행하셔도 무방합니다.

도커의 설치가 완료되면 아래 이미지처럼 최근 추가한 앱에 도커가 추가된 모습을 확인할 수 있습니다.

이제 도커를 실행하면 아래와 같은 이미지가 나오게 됩니다. 실행이 되면 아래 이미지와 같은 창이 나오는데 약관에 동의(Accept 누르기)하면 다음 단계로 진행할 수 있습니다.

약관에 동의하면 아래와 같은 창으로 넘어갑니다. 해당 이미지른 통해서는 로그인(회원가입)을 꼭 해야할 것 같지만 로그인창의 우 상단의 Skip을 통해서 록인을 하지 않고도 사용할 수 있습니다.

그러면 아래와 같은 창으로 넘어가고 잠시 로딩 시간을 가지게 됩니다.

로딩이 끝나면 아래 이미지와 같은 창을 확인할 수 있습니다.


이전:5. Visual Studio Code
목차: 0. 따라만 하면 완성!! 해커 노트북 세팅 - Windows 편
다음: 7. 우분투 세팅

Footnotes

  1. 검색할 때 기능 켜기 정도만 입력해도 나옵니다.

  2. 마우스 우클릭 > 관리자 권한으로 실행 클릭

  3. 리눅스 실행파일은 아쉽게도 실행 불가

  4. 2026년 3월 기준