사실상 명령어 몇 번 입력하면 끝나는지라, 윈도우에서 VMWare로 이것저것 하는 것보다 오히려 더 간단해요. .iso 파일도 필요하지 않아요.

macOS-Simple-KVM, OSX-KVM, OneClick-macOS-Simple-KVM 등 날로먹게 해주는 프로젝트가 3가지나 있어요.

 

사실 이 글을 읽으실 필요는 없고, 해당 레포에 들어가서 거기에 적힌 설명을 따라셔도 크게 상관은 없어요.

 

macOS-Simple-KVM

 - 카날리나까지만 지원하는 것으로 추정

 - https://github.com/foxlet/macOS-Simple-KVM

 

GitHub - foxlet/macOS-Simple-KVM: Tools to set up a quick macOS VM in QEMU, accelerated by KVM.

Tools to set up a quick macOS VM in QEMU, accelerated by KVM. - foxlet/macOS-Simple-KVM

github.com

 

OSX-KVM

 - 게시글 작성 시점 기준 최신버전까지 지원

 - https://github.com/kholia/OSX-KVM

 

GitHub - kholia/OSX-KVM: Run macOS on QEMU/KVM. With OpenCore + Monterey + Ventura + Sonoma support now! Only commercial (paid)

Run macOS on QEMU/KVM. With OpenCore + Monterey + Ventura + Sonoma support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required. - kholia/OSX-KVM

github.com

 

OneClick-macOS-Simple-KVM

 - 게시글 작성 시점 기준 최신버전까지 지원

 - https://github.com/foxlet/macOS-Simple-KVM

 

GitHub - foxlet/macOS-Simple-KVM: Tools to set up a quick macOS VM in QEMU, accelerated by KVM.

Tools to set up a quick macOS VM in QEMU, accelerated by KVM. - foxlet/macOS-Simple-KVM

github.com

 

 

이 글에서는 OneClick-macOS-Simple-KVM를 사용할거예요.

 

왜 최신버전 놔두고 하필 몬터레이를 설치하는가?

벤투라 : 사파리로 웹사이트 접속시 홈페이지가 정상적으로 표시되지 않음

소노마 이상 : 바탕화면 증발

 

vram 이슈로 추정되지만, 제가 시도해본 모든 수단은 vram 용량을 늘리지 못했어요. 오히려 줄어들게 만든 적만 한 번 있어요.

윈도우에서 VMWare에 macOS를 설치한 경우도 동일한 현상 발생


가상머신 준비

qemu 등 이것저것 필요한 것을들 설치해주세요.

# 데비안 계열 예시 (우분투, 리눅스민트, 하모니카, 칼리리눅스 등)
$ sudo apt-get install qemu-system qemu-utils python3 python3-pip

# 아치리눅스 계열 예시 (만자로, 엔데버 등)
$ sudo pacman -S qemu-full python python-pip python-wheel

 

 

다음 명령어 입력.

깃허브 저장소 복제, macOS 설치에 필요한 파일 다운로드, macOS를 설치할 가상 디스크 생성

$ git clone https://github.com/notAperson535/OneClick-macOS-Simple-KVM.git
$ cd OneClick-macOS-Simple-KVM
$ ./fetch-macOS-v2.py
 # 원하는 버전 선택 후 엔터
$ qemu-img convert BaseSystem.dmg -O raw BaseSystem.img
$ qemu-img create -f qcow2 macOS.qcow2 용량G

 

 

전 폴더 경로를 끝까지 입력하기 귀찮아서 *를 사용했고, 몬터레이를 골랐으며,

 

가상 디스크 용량은 128GiB로 했어요.

 

가상머신 부팅 및 macOS 설치 준비

다음 명령어를 통해 가상머신을 부팅해주세요.

$ ./basic.sh

 

 

전체화면 단축키는 "Ctrl + Alt + F"에요.

"Ctrl + Alt + G" 단축키를 통해 마우스/키보드 입력을 게스트(가상머신 내부)으로 받을지 호스트(가상머신 외부)로 받을지도 왔다갔다 할 수 있어요. 근데, Windows키 입력은 무조건 호스트로 갈거예요.

이 화면은 OpenCore라는 해킨토시 부트로더에요. 방향키로 부트 메뉴 선택이 가능하고, 탭을 누르면 시스템 종료 쪽으로 커서를 옮길 수 있어요.
"macOS Base System" 선택 후 엔터

 

 

Disk Utility 더블클릭 또는 클릭 후 Continue 클릭

 

 

아까 위에서 생성했던 가상 디스크를 골라서 포멧시켜야 해요.

 


저는 128GiB 짜리로 생성했고 128GiB는 약 137.44GB이니 이 디스크가 아까 생성한 가상 디스크 같아요.

 

 

Gi는 1024로 나눈 이진 접두어이고, G는 1000으로 나눈 십진 접두어고, 128에 1024를 3번 곱해서 바이트 단위로 만들고, 다시 1000으로 3번 나누면 약 137.44 정도가 나와요.

 

 

아무튼 해당 디스크에 마우스 오른쪽 클릭 후 Erase 클릭

 

 

이름은 적절히 입력한 뒤에 Erase 클릭

 

 

포멧이 끝났으니 Done 클릭 후

 

 

Disk Utility 종료. 그냥 왼쪽 위에 있는 빨간색 버튼이 닫기 버튼이니 그거 눌러도 돼요.

 

qemu에 macOS 설치 시작

"Reinstall macOS Monterey 항목"을 "더블클릭" 또는 "클릭 후 Continue 클릭"

 

 

Continue 클릭

 

 

약관 동의해주시고,

 

 

방금 생성 및 포멧시킨 디스크 선택 후 Continue

 

 

그러면 설치가 시작되는데, 약 2시간 19분이나 걸린다고 하네요. 근데, 3분 정도 지났는데, 약 1시간 30분으로 바뀌었어요.

3분은 30을 잘못 적은 것이 아니에요. 진짜로 3분 만에 줄어들었어요. 역시 맥OS 설치할 때 뜨는 시간은 믿으면 안돼요.

 

 

25분 정도 지났는데, 재부팅되면서 이런 화면이 나왔어요.

 

 

해상도가 개판이 된 것은 전체화면 단축키 "Ctrl + Alt + F"를 두 번 눌러주면 정상화돼요.

새로 생긴 "macOS Installer"를 선택해주세요.

 

 

그러면 맥이 켜지는 듯 싶더니

 

 

또 이런 화면이 나올텐데, 그러면 또 "macOS Installer"를 선택해주세요.

 

 

언제부턴가  "macOS Installer"가 "macOS 어쩌고"로 바뀔텐데, 그거 계속 선택하면 돼요. 선택하고 기다리고 선택하고 기다리고 몇 변 반복

 

macOS 설치 완료 및 초기 설정

그러다가 보면 이제 이런 화면이 나와요. 1시간 정도 걸린 듯

 

 

대한민국 선택 후 Continue 클릭. 여기서는 South Korea로 되어있어요.

 

 

Continue 클릭

 

 

해당사항 없으면 Continue 클릭

 

 

Continue 클릭

 

 

해당사항 없으면 Not Now 클릭

 

 

Set Up Later, Skip 클릭

 

 

약관도 동의해주세요

 

 

 

컴퓨터에서 사용할 로컬 계정을 생성해주세요.

 

 

한/영 전환은 Caps Lock 키를 누르면 될텐데, 만약 안된다면 오른쪽 위에 있는 저 부분을 마우스로 눌러서 전환하면 돼요.

 

 

타임존은 적당히 우리나라로 설정. 전 분명 서울을 클릭했는데 부산으로 눌렸네요.

 

 

이건 뭔가 해킨토시 사용한다고 자수하는 것 같으니 공유 안함 선택

 

 

Set Up Later 클릭

 

 

여기서 테마 바꾸면 렉 심하게 걸리니 전 일단 Continue 클릭해서 넘겼어요. 어차피 설정 들어가서 번경 가능.

 

 

조금 기다리면 이렇게 macOS가 나오는데, 저기서 Continue를 누르고 누르라는 키를 누르면

 

 

이런식으로 알아서 키보드 종류를 찾아줘요.

 

 

아무튼 리눅스에서 가상머신에 맥OS 설치 완료. KVM을 활성화시킨 qemu에 macOS를 설치한거예요.

 

 

아까 위애서 실행시켰던 basic.sh 파일을 보면 -enable-kvm이라고 써있는 문구를 볼 수 있을텐데, 저게 KVM 쓰겠다는 의미에요.

 

 

아무튼 이제 ./start.sh 명령어 등을 통해 macOS가 설치된 가상머신을 킬 수 있어요.

-m 4G는 RAM 용량을 4GB로 하겠다는 것을 의미하니, RAM 용량을 더 늘리거나 줄이고 싶으시다면 저 부분을 수정하시면 돼요.

이제 VMWare을 다운로드 받기 위해서는 회원가입을 해야 해요.

저는 회원가입을 하기 싫은 관계로, 몇 년 전에 받아두었던 구버전 설치 파일을 통해 설치했어요.

 

그런고로, 이 글에서는 VMWare 설치 방법은 다루지 않을거예요.

 

 

이 글에서는 맥OS Sonoma를 설치하는 과정을 다루지만, 다른 맥 버전들도 설치 과정은 다 거의 똑같아요.


macOS 설치 전 사전 작업

VMWare에 가상머신을 추가하려고 하면 macOS가 보이지 않아요.

 

 

VMWare에서 Unlocker라는 것을 사용해야 해요.

아래 링크에 들어가서

https://github.com/paolo-projects/unlocker/releases

 

Releases · paolo-projects/unlocker

VMware Workstation macOS . Contribute to paolo-projects/unlocker development by creating an account on GitHub.

github.com

 

 

release-python-embedded.zip 파일을 받아서 압축을 풀어주세요.

 

win-install.cmd 파일을 관리자 권한으로 실행

 

그러면 무언가가 실행되고,

 

 

운영체제 목록에 macOS가 추가돼요.

 

 

macOS 설치 .iso 파일 생성?

용량이 10 ~ 20GB 정도인지라, 직접 파일을 첨부하는 것은 불가능하니, 인터넷에서 능력것 찾아보세요?

저는 기존에 깔려있는 macOS를 이용해서 직접 만들었어요.

 

파일 보내달라고 하시면 보내드릴 수도 있고 아닐 수도 있고.

내 서버 트래픽 제한이 무제한이라면 그냥 내 서버에 올려놓고 링크 걸어둘텐데.

 

가상머신 생성

Create a New Virtual Machine 클릭

 

 

가운데 선텍 후 Browse 버튼을 눌러서 능력것 구해온 macOS .iso 파일을 선택해주세요.

 

 

여기서는 Apple Mac OS X 선택.

Sonoma는 macOS 14인데 목록에 아직 없네요. 게시글 작성 시점 기준으로 macOS는 15 Tahoe가 최신버전이에요.

일단 그나마 가장 높은 버전으로 골랐어요.

 

가상머신 이름이랑 경로는 적당히 적거나 고르시고

 

하드 디스크인 척 할 파일의 적당히 128GB 정도로 설정했어요.

어차피 한 번에 128GB를 다 먹는 것이 아니라, 0GB에서 시작해서 안에 있는 파일이 늘어날수록 128GB까지 점점 늘어날거예요.

 

Finish

 

혹시 RAM이 4GB 미만이라면, 마우스 오른쪽 클릭해서 Settings 들어가셔서 4GB 이상으로 올려주세요.

 

인터넷 연결

VMWare를 완전히 종료시켜주세요.

그리고 가상머신을 생성한 폴더에 들어가서, 가상머신이름.vmx 파일을 열어주세요.

 

"ethernet0.virtualDev = "e1000e""라고 써있는 부분을 "ethernet0.virtualDev = "vmxnet3""로 바꿔주세요.

 

사실 설정을 바꾸지 않아도 인터넷 연결은 가능할거예요.

 

설치 전 이것저것 작업

초록색 재생 버튼을 누르거나 해서 가상머신을 부팅해주세요.

 

 

언어 선택 화면인데, 저는 한국어를 선택했어요.

원래 스크롤 방향이 평소와는 반대여야할텐데, VMWare는 알아서 평소랑 같은 방향으로 스크롤시켜주는 듯

 

 

디스크 유틸리티 클릭

 

 

능력것 잘 아까 가상머신에 추가했던 SSD인 척 하는 파일을 찾아서 마우스 오른쪽 클릭 후 지우기 클릭

용량으로 잘 때려맞추면 돼요.

 

윈도우와 VMWare는 128GiB를 128GB로 잘못 표기하고 있어요.

중간에 i가 들어간 친구들은 이진 접두어라고 불러요. 1024로 나눴으면 이진 접두어를 사용하고, 1000으로 나눴으면 십진 접두어를 사용해야하는데, 윈도우와 VMWare는 1024로 나눠놓고 십진 접두어를 사용해요.

 

잘못 표기한 128GB

 = 128GiB

 = 128 × 1024 × 1024 × 1024 Byte

 = 137,438,953,472 Byte

 ≒ 137.44 × 1000 × 1000 × 1000 Byte

 = 137.44GB

 

 

아래 사진 속 용량도 적당히 반올림한 값인 137.44GB네요.

그러니 사진 속 137.44GB 짜리 하드 디스크가 아까 위에서 추가한 128G짜리 가상 하드 디스크에요.

 

 

이름은 적당히 입력. 나머지는 그대로 놔두고 지우기 클릭.

지금 하는 것은 윈도우 설치할 때 포멧했던 것과 동일하다고 생각하시면 돼요.

 

끝났으면 완료 클릭 후

 

디스크 유틸리티 종료. 그냥 왼쪽 위에 있는 빨간색 버튼이 닫기 버튼이니 그거 눌러도 돼요.

 

 

macOS 설치

이제 가장 위에 있는 macOS Sonoma 설치 클릭

 

게속 클릭

 

 

동의. 왜인지 모르겠다만, Sonoma만 약관이 나올 수도 있고 안나올 수도 있어요.

 

 

아까 "지우기"를 했던 디스크 선택 후 계속

 

 

그리고 하염없이 기다리면 돼요.

약19분 남았다고 하고 안보고 있던 사이에 재부팅된 뒤에 약 27분 남았다고 써있는데, 이거 다 사기에요 사기.

맥OS 설치할 때 뜨는 남은 시간은 다 거짓말이니까 믿으면 안돼요. 지금 거의 1시간 정도 기다렸는데 아직도 안끝났어요.

 

 

이거 봐 이거. "1분 미만 남음..." 상태가 10분이 넘었어요.

 

 

아마 몇 번 재부팅이 될건데, 그냥 놔두시면 될거예요.

 

설치 후 이것저것 설정

와 드디어 부팅 끝났다. 1시간 넘게 기다렸네요. 지역은 대한민국 선택

 

 

머야 왜 커널 패닉이 뜨지. 이거 대충 블루스크린 비슷한거예요. 아무튼 전 가상머신을 재부팅하니 이어서 설치되기 시작했어요.

 

계속

 

헤당사항이 없는 분들은 지금 안 함 클릭

 

 

계속

 

신규 설치하는 중이니, 지금 안함

 

나중에 설정

 

 

이용 약관 동의

 

 

컴퓨터에서 사용할 로컬을 만들어주세요.

 

한/영 전환은 CapsLock 키를 누르면 될텐데, 만약 전환이 되지 않는다면 화면 오른쪽 위에 "두벌식"이라고 적힌 부분을 눌러서 바꾸면 됩니다.

 

아무튼 전 적당히 입력했고, 계속

 

적당히 우리나라 위치 클릭한 뒤에 계속. 서울 대신 부산이 클릭될 수도 있어요.

 

공유하기 싫으니, 체크 해제 후 계속

 

나중에 설정

 

바꾸고 싶다면 바꾸도 상관없지만, 이 화면에서 바꾸면 렉이 아주 심하게 걸리니 참고하세요.

 

이제 기다리다가 보면 macOS가 부팅되는데

 

배경화면이 날아갔네요.

 

 

로그인 화면에서는 바탕화면이 잘 나오는데, 로그인을 하면 5초 정도 배경화면이 다 사라져요.

 

 

느낌상 vram 관련 이슈 같은데, 해결방법을 모르겠어요.

이것저것 시도해봤는데, vram 용량이 늘어나지 않아요. 나중에 날 잡아서 다시 한 번 삽질해보든 해야겠어요.

 

사실 위에서 언어 설정 어쩌고 했던 부분부터 이미 배경화면이 날아가서 회색으로 보이는 상태였어요.

 

Sonoma 바로 아래 버전인 Ventura로 내린다면, 이렇게 배경화면은 잘 나와요. 중간에 사라지지도 않아요.

 

근데 문제는 사파리로 웹사이트에 접속하면, 이런식으로 웹사이트의 일부가 사라져요.

처음에는 왼쪽 사진처럼 잘 나왔다가, 1초 뒤에 사라져요,

 

 

소노마 이상에서는 배경화면이 안나오고, 웹사이트는 잘 나와요.

벤투라에서는 배경화면이 잘 나오고, 웹사이트 내용물이 안나와요.

몬터레이에서는 둘 다 잘 나와요. 그래서 저는 일단 몬터레이까지 내려온 상태.

 

 

해상도 조절 & 전체화면으로 만들기

해상도 설정을 아무리 찾아봐도 1024 × 768 말곤 없어요.

 

이건 VMWare Tools를 설치하면 해결할 수 있어요

 

어라. VMWare 구버전용 서버를 내렸나봐요.

 

 

다음 게시글을 읽어보시면, 글 어딘가에 VMWare Tools.iso 파일을 받는 링크가 있을거예요.

https://comterman.tistory.com/2388

 

VMware에 설치한 맥OS 해상도 변경 방법. VMware Tools 설치 과정

VMware 가상 머신의 맥OS 해상도 VMware를 이용해 맥OS 설치 후 부팅해 보니, 화면 해상도가 노트북의 액정 해상도보다 낮게 표시되었습니다. VMware를 창 모드로 실행했을 때도 물론이려니와 VMware를

comterman.tistory.com

 

 

거기서 받은 .iso 파일을 가상머신에 연결해주세요.

 

이런식으로

 

그러면 이렇게 VMWare Tools가 짠 하고 나올거예요. "VMWare Tools 설치" 부분을 더블클릭

 

계속 "계속" 버튼 누르시면서, 비밀번호 입력하면 입력하시고,

 

이런 화면이 나오면 "보안 환경설정 열기" 버튼 눌러서

 

아래에 있는 자물쇠 클릭하고 비밀번호 입력. 그러면 자물쇠 열림

개발자 VMWare 어쩌고 부분 허용 버튼 클릭

아래에 있는 자물쇠 다시 클릭. 그러면 자물쇠 잠김

 

재시동 한 번 해주시면,

 

여전히 바뀌지 않는 해상도 목록

 

하지만, 여기서 전체화면 버튼을 누른다면?

 

크아악

 

 

거의 1초 만에 바로 정상화된다 이말입니다. 이제 VMWare의 창 크기를 바꾸면 알아서 그 안에 있는 macOS의 크기도 바뀌어요.

 

 

위에 VMware 메뉴도 안보이게 숨기면

 

 

그냥 macOS가 설치된 실제 매킨토시처럼 사용할 수 있어요. 물론 커서를 화면 상단 중앙으로 옮기면 메뉴가 튀어나와요.

 


만약 VMWare Tools를 설치하지 않아다면 이딴식으로 될거예요.

 

 

아무튼 이제 VMWare Tools .iso 파일의 연결을 끊으면 돼요.

 

 

 

맥북이 너무나도 가지고 싶었던 과거의 필자는 이런식으로 가상머신 + 전체화면 조합으로 macOS를 사용했었어요.

당시 VMWare는 마우스 딜레이가 거의 없었고, VirtualBox는 조금 있었어서 VMWare로 사용했었어요.

 

지금은 다 지웠답니다. 이 글 올리느라 다시 깔아본거예요.

진짜 맥북을 산 것은 아니고, 리눅스에서 가상머신으로 굴리고 있어요.

백엔드로 스프링부트 사용하고, 프론드엔드로 리액트를 써볼까.

요즘 기술과 옛날 기술을 동시에 찍먹하는거지.

 

물론 만들기 쉬운 센다이 공항철도 실시간 위치 정보 기능을 만들면서 찍먹

 

사실 이미 백엔드는 node.js 사용하고 (Express 미사용), 프론트엔드는 웹 바닐라만 사용해서 구현해본 기능이에요.

전 굳이 없어도 되는 것들은 사용하지 않는지라, 직무 요구사항을 맞추지 못해요.

그러니 억지로라도 리액트든 스프링부트든 사용해볼 계획. 일단 쓸 줄은 알아야 여러 회사들에 지원하는게 가능할 듯

순서가 이상하죠? macOS 설치 .iso 파일을 만들기 위해서는 macOS가 설치된 컴퓨터가 필요해요.

굳이 리얼맥이 필요하지는 않아요. 가상머신 속 macOS로도 가능해요.

 

이 글에서는 macOS Somoma의 .iso 파일을 만들거예요.

1시간 정도 걸릴텐데, 어려운 것은 아닌데 오래걸려요.


macOS Somoma 설치 파일 다운로드

맥OS는 앱스토에서 받을 수 있어요.

앱스토어에 macOS를 검색하면 나오는 "Download macOS versions"에 들어가면,

 

 

이런식으로 여러 macOS 버전들이 있을텐데, 원하는 버전을 눌러주세요.

 

 

저는 일단 Sonoma로 했어요. 지금 사용 중인 매킨토시 컴퓨터가 처음 출시되었을 때 설치되어 있던 맥OS부터 최신버전까지 다운로드 가능.

사실 최신버전은 목록에 없지만, 설정 들어가서 업데이트 버튼 누르면 돼요.

 

 

GET 버튼 클릭

 

 

Download 버튼 클릭

 

 

그러면 다운로드가 시작되는데, 오래걸려요. 거의 1시간 걸린다고 써있는데, 실제로는 20 ~ 30분 이내로 끝나는 듯

 

 

다운로드 끝. Continue를 누르시면 현재 실행중인 맥에 맥OS가 설치되는 것이니 누르지 마시고

 

 

macOS 설치 프로그램을 종료해주세요.

 

Quit. 마우스 위치에 낚이지 마세용

 

 

게시글 작성 시점 기준으로 최신버전 타호도 설치 가능하다는데, 이거도 그냥 끄시고

 

 

맥에 설치되어 있는 macOS 버전이 다운로드받은 macOS 버전보다 높다면 이런 창이 뜰텐데, 이 경우도 그냥 Quit 눌러서 끄시면 돼요.

 

 

Finder에서 Applicatios 폴더를 보면 이렇게 "Install macOS 어쩌고" 파일이 보일거예요.

 

 

터미널을 열어서 아래와 같은 명령어를 실행해서 .dmg 파일을 만들어주세요. 일단 .dmg 파일 안에 macOS 설치 파일을 복사한 뒤에, .iso 파일로 바꿀거예요.

전 작업하기 편하도록 일단 바탕화면으로 빼두었어요.

$ cd Desktop
$ hdiutil create -o Sonoma -size 16000m -volname Sonoma -layout SPUD -fs HFS+J

 

 

저는 Sonoma .iso 파일을 만드는지라 Sonoma로 적은 것이고, 다른 맥OS 설치 파일을 만드신다면 Sonoma 대신 적당히 Ventura나 Tahoe 같은 이름을 적으시면 돼요.

용량도 일단 Sonoma는 15.2GB 정도 필요한 것 같아서 여유롭게 16GB로 했어요. 중간에 있는 16000m이 16000MB를 의미

Sonoma 보다 버전이 높으면 더 큰 용량이 필요할 수도 있고, Sonoma보다 버전이 낮으면 용량을 더 적게 설정해도 상관없을거예요.

 

아래 표는 직접 .iso 파일 만들어서 확인해본 값. 대충 1000m 단위로만 해봤어요.

버전 번호 버전명 권장 용량
26 Tahoe (타호) (아직 안해봄)
15 Sequoia (세쿼이아) 17100m
14 Sonoma (소노마) 16000m
13 Ventura (벤투라) 15000m
12 Monterey (몬터레이) 14000m
11 Big Sur (빅 서) 13000m
10.15 Catalina (카탈리나) 9000m
10.14 Mojave (모하비) 6000m
10.13 High Sierra (하이 시에라) (아직 안해봄)

 

Sequoia 혼자 100단위인 이유는 17000m로 하면 30~40MB 정도 공간이 부족한지라, 100만 올렷어요.

 

 

아무튼 명령어 실행이 끝나면 이렇게 바탕화면에 .dmg 파일이 나타날거예요.

 

 

더블클릭해서 마운트해주세요.

hdiutil attach 명령어 사용해서 마운트하라는 내용도 있지만, 위에서 잘 입력했다면 그냥 더블클릭해도 상관없어요.

굳이 터미널로 찾아가서 확인해보니, /Volumes/Sonoma/ 폴더로 잘 마운트되어있네요.

 

 

이제 아래 명령어를 입력해서 macOS 설치 파일을 마운트한 .dmg 파일 안으로 넣어주세요.

저는 "Install macOS Sonoma" 파일의 내용을 "/Volumes/Sonoma/" 폴더로 복사한거라 아래와 같이 적은거예요.

파일 이름이나 경로에 띄어쓰기가 들어간다면 아래와 같이 앞에 \를 붙여주세요. 역슬래시인데, 폰트에 따라 대한민국 원화 기호로 보일 수도 있어요.

또는 그냥 따옴표로 감싸놓아도 상관없어요.

$ sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia --volume /Volumes/Sonoma --nointeraction
# 또는
$ sudo '/Applications/Install macOS Sonoma.app/Contents/Resources/createinstallmedia' --volume /Volumes/Sonoma --nointeraction

 

 

루트 권한이 필요해서 앞에 sudo를 붙여야 해요. 저기 저 macOS 설치 패키지 안에 있는 createinstallmedia라는 친구를 실행시키는 것 같아요.

 

 

복사가 끝났어요.

 

 

이제 .dmg 파일을 마우스 오른쪽 클릭을 해서 마운트 해제하시거나, Finder 왼쪽 목록에 있는 .dmg 파일 이름 옆에 있는 위쪽 방향 화살표를 눌러서 마운트 해제를 해주세요.

 

 

이제 다음 명령어를 통해 .iso 파일로 바꾸면 끝.

$ hdiutil convert Sonoma.dmg -format UDTO -o Sonoma.cdr
$ mv Sonoma.cdr Sonoma.iso

 

 

일단 .cdr 파일로 바꾸고,

 

확장자만 .iso로 바꾸면 완성. 처음부터 .iso 파일로 바꾸지 않는 이유는 지멋대로 뒤에 .cdr을 붙여버리기 때문

 

 

이제 완성된 .iso 파일을 사용하면 VMWare이나 VirtualBox에 macOS를 설치할 수 있어요.

C드라이브에 윈도우10을 설치하고, D드라이브에 윈도우 11을 설치하면, 컴퓨터를 키는 시점에 10과 11 중 무엇으로 부팅할지 선택할 수 있어요.

디스크가 하나 밖에 없다면, 중간에 대충 선 그어두고 "여기까지가 C드라이브고, 여기서부터는 D드라이브에요~"와 같은 방식으로 논리적으로 나눠서 사용할 수도 있어요.

하드디스크인 척 하는 파일을 하나 만들어서 디스크를 하나 더 연결한 것처럼 할 수도 있어요.

 

이 게시글에서는 가상 디스크(VHD, 하드디스크인 척 하는 파일)을 사용할거예요.


윈도우 .iso 파일 다운로드

윈도우 11 : https://www.microsoft.com/ko-kr/software-download/windows11

 

Windows 11 다운로드

이 옵션은 부팅 가능한 설치 미디어(USB 플래시 드라이브, DVD)를 만들거나 가상 컴퓨터(.ISO 파일)을 만들어 Windows 11을 설치하려는 사용자를 위한 옵션입니다. 이 다운로드는 제품 키를 통해 올바

www.microsoft.com

 

윈도우 10 : https://www.microsoft.com/ko-kr/software-download/windows10

 

Windows 10 다운로드

다음 단계를 따라, 새로운 Windows 10 복사본을 설치하거나, 새로 설치를 수행하거나 Windows 10을 다시 설치하는 데 사용할 수 있는 설치 미디어(USB 플래시 드라이브 또는 DVD)를 만드세요. 도구를 다

www.microsoft.com

 

윈도우 8.1 이하는 지원이 끊겨서 그런지 공식 홈페이지에서 받는 버튼이 사라졌어요.

윈도우 7의 경우 Ultimate 버전으로 받아야 VHD 안에 설치 및 부팅이 가능해요. 그리고 최근 5년 이내에 나온 컴퓨터라면 부품이 호환되지 않아서 설치까지만 가능할 수도 있어요.

 

VHD (가상 디스크) 만들기 

윈도우 로고를 마우스 오른쪽 클릭해서 디스크 관리 메뉴를 얼어주세요. 윈도우 10, 11 모두 방법 동일

 

 

그러면 이런 화면이 나올텐데

 

 

위 메뉴에서 동작 → VHD 만들기

해당 메뉴가 클릭되지 않는다면 아래에 있는 (C:) 어쩌고 부분을 클릭한 뒤에 눌러보세요.

 

 

파일의 위치와 용량을 적어주세요.

 

 

저는 아래와 같은 방식으로 했는데, 32GB로 하면 드라이버 등등 다운로드 받으면 거의 다 차버리니까 64GB를 추천해요.

 

 

VHD 추가가 완료되었어요.

 

 

아래 사진처럼 새로 추가된 VHD 부분에 마우스 오른쪽 클릭 후 디스크 초기화 클릭

 

 

대부분 여기서는 그냥 GPT 선택하면 될거예요. GPT 선택 후 확인.

여기에 적혀있는 GPT는 "GUID Partition Table"의 약자로, ChatGPT에 있는 GPT(Generative Pre-trained Transformer)와는 전혀 관련이 없어요.

 

 

이제 저 부분에 마우스 오른쪽 클릭 후 새 단순 볼륨 클릭

 

 

두 번째 윈도우를 파티션을 만들거예요.

 

 

용량은 알아서 최대로 입력되어있을 것이고, 드라이브 문자는 원하는 것으로 하세요.

 

 

볼륨 레이블은 적당히 입력 후 다음, 마침.

 

 

전 W드라이브로 했으니, 이렇게 W드라이브가 새로 나타났어요.

 


실제로 없던 용량 32GB가 생겨난 것이 아니라, C드라이브에 있는 32GB짜리 파일이 W드라이브인 척 하는거에요.

전 위에서 동적 확장을 골랐고 아무것도 안넣었으니 아직 파일 용량이 0GB에요. 안에 파일을 넣으면 최대 32GB까지 늘어날 예정

 

VHD에 윈도우 설치

WinNT Setup이라는 프로그램을 사용해서 설치할거예요.

다음 링크에 들어가서 찾아보시면,

https://msfn.org/board/topic/149612-winntsetup-v541/

 

WinNTSetup v5.4.1

WinNTSetup - a simple but powerful universal Windows Installer Features: Install (unattend) Windows 2k/XP/20??/Vista/7/8.x/10/11 x86/x64/arm64 Practically runs even on the most minimalistic WinPE selectable drive letter for the new Windows installation Ful

msfn.org

 

이렇게 다운로드 링크가 있을거예요.

 

이 게시글에서 다루는 것을 생각조자 못할 정도로 성능이 낮은 컴퓨터가 아니라면, x64.rar로 끝나는 파일을 받으면 돼요.

 

.rar은 .zip 같은 압축 파일이고, 압축을 푸는 방법을 찾아보면 무슨 전용 프로그램이 필요한 것처럼 막 설명하는데, 그냥 반디집 사용하면 풀려요.

 

 

아무튼 WinNTSetup_x64.exe 파일 실행

 

 

그러면 나오는 화면에서,

 

 

가장 위에 있는 "찾아보기"를 누른 뒤에, 윈도우 .iso 파일 선택

중간에 위에 있는 "찾아보기"를 누른 뒤에, 아까 추가한 VHD 선택. 저같은 경우는 W드라이브

아래에 있는 "찾아보기"를 누른 뒤에, 아까 추가한 VHD 선택. 저같은 경우는 W드라이브

그리고 옵션에서 어느 윈도우를 설치할지 결정.

 

 

기존 윈도우가 메인보드 인증 방식으로 설치되어있다면, Home/Pro/Education 종류만 같으면 정품 인증도 알아서 될거예요.

 

이제 설치 버튼을 누르면 설치 시작. 머라머라 하는데 그냥 확인 누르면 됩니다.

 

 

그러면 설치 시작. 오래 걸릴거예요. 설치 도중에 백신이 씌우는 보안 경고가 나타날 수도 있는데, 잘못 탐지한 것이니 무시하시면 돼요.

 

 

설치 끝. 여기서 리부트 하지 말고, 확인 버튼 클릭

 

 

새로 설치한 윈도우를 부트 메뉴에 추

BOOTICE를 다운로드해주세요.

제가 다운로드했던 블로그는 사라졌는데, 여기서 동일한 파일을 공유하는 것 같아요.

https://blog.naver.com/dltlsdnr00/222219268972

 

Bootice 1.34 한글 프로그램

안녕하세요. SU 입니다. 이 포스팅은 윈도우를 사용하면서 개인적으로 필요하다고 판단되는 소프트웨어를...

blog.naver.com

 

저 파일들이 들어있는 .zip 파일의 압축은 풀어주시고

 

위에서 언급한 것처럼, 똥컴이 아니라면 64BT가 들어간 버전을 실행하면 돼요.

 

 

여기서부터 잘못 따라하시면 컴퓨터가 켜지기만 할겁니다. 커지긴 하는데, 윈도우가 나오지 않을거예요.

 

BCD 탭에서 쉬운 모드 클릭

 

 

그러면 나오는 화면에서

 

추가 → 새 VHD 부팅항목

 

 

오른쪽에 보이는 부팅 장치 부분에서

유형은 VHD

디스크는 아까 생성한 VHD 파일이 있는 디스크

파티션은 아까 생성한 VHD 파일이 있는 파티션

파일은 드라이브 문자를 제외한 VHD 파일의 경로

OS 제목 부분에는 부팅 메뉴에 보일 이름 적당히 입력

오른쪽 아래 있는 현재 시스템 저장 클릭

 

 

저는 C드라이브에 있는 VHD 폴더에 win10.vhd 파일을 넣었으니, 적당히 C드라이브라고 써있는거 골랐어요.

이제 컴퓨터를 껐다가 키면 이런 화면이 나올거예요

 

 

어느 윈도우로 부팅할지 방향키로 선택 후 엔터치면 해당 윈도우가 켜질거예요.

 

 

이런식으로 나올 수도 있는데, 이거도 똑같이 방향키로 선택 후 엔터하면 돼요.

 

 

처음에 2~3번 정도 재부팅이 될 수도 있는데, 그럴 때마다 계속 2번째 윈도우를 선택해주세요.

그러면 이제 컴퓨터를 새로 샀을 때와 같은 화면이 나올텐데, 그러면 이것저것 설정을 하고 사용하시면 돼요.

 

 

드라이버 설치 등은 알아서 하셔야 될 수도 있고, 컴퓨터가 알아서 받아서 설치할 수도 있어요.


이것저것

두 윈도우 중 무엇으로 부팅할지 선택하는 화면에서 30초 동안 가만히 놔두면 기본값으로 부팅되는데,

여기서 왼쪽 아래에 있는 제한시간 30초가 그 30초에요. 이 화면에서 수정 가능. 전역설정 저장 버튼을 눌러야 반영돼요.

 

 

필자는 왜 굳이 2개 설치했는가?

윈도우 11이 베타버전이던 시절에 한 번 써보고 싶어서 VHD 안에 윈도우 11을 설치했었어요.

 

지금은 정부기관 사이트나 은행 홈페이지에서 요구하는 보안 프로그램 설치 용도로 쓰고 있어요.

그러한 보안 프로그램은 컴퓨터 성능을 떨어뜨리고 보안 취약점을 만들기 때문이에요. 이름값을 못해요.

고객을 보호하는 용도로 만들어진 프로그램이 아닌, 본인들은 최대한 노력을 했다면서 책임 회피용으로 만들어진 프로그램

센다이 공항철도로 해볼까

 

웹개발 시작한지 거의 10년은 되었는데 바닐라만 한지라, 지원자격에 React 필수라고 적혀있으면 그냥 지원조차 못해요.

'웹 개발' 카테고리의 다른 글

이상한 생각?  (0) 2025.10.05
여친 노래방 번호 검색기는  (5) 2025.09.12
웹호스팅 & 가상 서버 가격 비교 (AWS, Vultr 등 VPS)  (2) 2025.08.12

1. 상대방의 "로그인이 완료된 상태 그 자체"를 탈취한다.

2. 그 "상태"를 이용하여 로그인된 척 친구목록을 불러온다. 그 친구들의 "상태"도 탈취한다

3. 상대방의 카톡 계정을 탈퇴시킨다.

4. 2에서 얻은 그 "상태"들을 사용하여 2 ~ 3 과정을 반복

 

몇 시간 이내로 전 국민들의 카톡 계정을 탈퇴시킬 수 있었다.

 

이 게시글에서 다루는 취약점은 "아무것도 안해도 카카오톡 계정이 탈취당하는 취약점"입니다.

외국인이 발견했다가 입막음당한 "링크를 누르기만 해도 카카오 계정이 탈취당하는 취약점"과는 아예 다릅니다.


실제로 가능은 한가?

가능했다. 그러니까 내가 이런 글을 적고 있지.

1. 상대방의 "로그인이 완료된 상태 그 자체"를 탈취한다.

카카오톡에서 사용하는 정상적인 통신 과정 중 상대방의 로그인 토큰이 그대로 왔다갔다하는 기능이 있다.

 - 거기에 중간자 공격을 하면, 상대방의 로그인 토큰을 가지고 올 수 있다.

 - 여기서 로그인 토큰을 대충 알아듣기 쉽게 설명하자면, "로그인이 완료된 상태 그 자체"를 의미한다.

 

아이디, 비밀번호 등을 획득하여 로그인을 하는 것이라면 2차 인증에서 막히겠지만, "이미 로그인이 끝난 상태" 그 자체를 들고 오는 것이라 전부 우회횐다.

탈취해온 "이미 로그인이 끝난 상태"를 해커의 컴퓨터에서 실행 중인 "카카오톡인 척 작동하는 프로그램"에 주입하는 방식.

 

 

공격 대상이 무언가를 하면 정보가 털리는 것이 아니다. 아무것도 안해도 털린다.

그냥 내가 상대방에게 서로 로그인 토근을 교환하는 채팅을 보냈고, 그 채팅을 상태방 카톡이 수신했다면 사이에 끼워넣은 내 서버에 상대방의 로그인 토큰이 짠 하고 나타난다.

카카오는 보안을 다 말아먹은 옛날 방식으로 통신하였기에 아주 잘 털린다.

 

"읽었다면"이 아니라 "수신했다면" 털리는거다.

그냥 내 폰에 카톡이 로그인 되어있으면 일방적으로 로그인이 완료된 상태 그 자체가 털린다는 뜻

 

2. 그 "상태"를 이용하여 로그인된 척 친구목록을 불러온다. 그 친구들의 "상태"도 탈취한다

카카오톡 위조 클라이언트는 이미 구현되어있었다.

원래 카톡 앱에는 없는 기능들을 내맘대로 다 쓸 수 있으니, 로그인 부분 살짝 건들여서 탈취해온 로그인 토큰을 끼워넣으면 된다.

 

이렇게 "상대방 계정이 로그인된 카카오톡"이 해커의 앞에 생겨났다.

이제 모든 친구들을 대상으로 로그인 토큰을 탈취해오면 된다.

해당 위조 클라이언트는 좋게 말하면 "로코 프로토콜 호환 라이브러리"다. 로코는 카톡이 사용하는 통신 프로토콜 중 하나

즉, 반복문 한 번 돌리면 모든 친구 목록을 대상으로 로그인 토른 탈취 가능.

 

3. 상대방의 카톡 계정을 탈퇴시킨다.

위조 클라이언트로는 당연히 카톡 탈퇴도 가능하다.

카톡에서 사용할 수 있는 모든 기능들과, 버튼이 없어서 사용하지 못하는 기능들 전부 사용 가능

 

"버튼이 없어서 사용하지 못하는 기능"들 중 하나를 예시로 들면, "오픈채팅방에서 방장/부방장 권한 없이 상대방 강퇴시키기" 정도가 있다

지금은 막혔다.

 

4. 2에서 얻은 그 "상태"들을 사용하여 2 ~ 3 과정을 반복

이미 1 ~ 3 과정이 가능하다는 것을 설명했으니, 4도 가능하다


2 ~ 3 과정이 그렇게 쉽게 끝나는가? 왜 그렇게 심각한가?

학생 한 명을 공격 대상으로 지정했다고 가정해보자. 3번만 반복해도 학교 하나가 전부 터진다.

 

 

교육청 쪽으로 가는 것도 있고, 이거 몇 단계만 더 건너면 국회의원이나 대통령까지 닿는다.

 

저 과정에서 누군가 한 명은 군 복무 중일 것이니, 그 군인을 기준으로 몇 단계만 건너면 해당 군부대도 다 터진다.
보직이 무엇이든 3~4단계 이내로 인사 업무를 담당하는 간부에게 도달할 것이기 때문.

인사 업무를 담당하는 간부들은 근처에 있는 다른 부대의 간부들의 연락처도 당연히 있을 것이니, 결과적으로는 모든 군인들의 카카오톡 계정이 탈퇴당한다는 결과가 나온다.


주변에 대학생이나 대학원생이 있다면, 해당 학생을 기준으로 3~4단계 이내로 그 학교 교직원에 닿는다.
대학 교수의 연락처에는 "다른 대학에 있는 내가 아는 교수"도 있을 것이니 다른 학교들도 다 터지고,

예전에 졸업해서 대기업에 간 학생도 있을 것이니, 이제 해당 대기업 직원을 기준으로 또 몇 단계 거치면 회사 하나도 끝.

그냥 전염병 퍼지듯이 퍼진다.
아주 좋은 고성능 컴퓨터 하나 구해와서 딸깍하면 저런식으로 모든 국민들의 카카오톡 계정이 사라진다.

 

이것을 구현할 실력이 되는 사람들은 방법을 알아도 하지 않고 카카오 측에 취약점을 제보했고,

저런 식을 할 법한 하잖고 미개한 인성 터진 인간들은 실력이 부족해서 못했다.

그렇게 아무 일도 없었던 것처럼 흘러갔다. 벌써 1년이 넘었다.


카카오 측의 대응

해당 취약점 최초 발견 시점

역설계를 하는 것은 저작권 침해다. 따라서, 최초 발견자가 SNS에 올린 글을 저작권 침해로 신고하여 내렸다.
이후, 취약점은 해결되지 않고 2년 동안 방치

해당 취약점 2차 발견 시점

이번에는 인맥을 통해 카카오 직원에게 직접 제보가 들어갔다.
제보가 들어간 시점은 연휴의 시작일. 연휴가 끝날 때까지 계속 방치하다가 연휴가 끝난 다음날에 출근해서 대충 고쳤다.

 

취약점 발견자들이 카카오로부터 받은 것

이 취약점을 블랙마켓에 넘겼다면 큰 돈을 벌었겠지만, 그러지 않았다.
그들이 카카오로부터 얻은 보상?은 다음과 같다.

 

최초 발견자 : DMCA를 통한 게시글 블라인드 처리

2차 발견자 : 취약점 발견에 사용된 카카오톡 계정 영구정지

2차 발견자의 주변 인물 : 취약점 관련 내용을 정리한 게시글 내리라는 연락


 

아 잠만 티스토리 카카오에서 운영하지.

이제 이 글 잘리는거 아닌가. 나중에 쫄리면 글 공개 설정 바꿔야지

그냥 기본제공 프로그램 종류가 무엇이냐 정도의 차이일 뿐, 무엇이 더 좋다거나 같은 우열은 없어요.

어느 리눅스를 선택하든 그냥 본인이 필요한 프로그램 깔아서 쓰면 돼요. 해킹 특화 리눅스일 필요도 없어요.


칼리 리눅스 (Kali Linux)

데비안을 기반으로 만들어진 가장 유명한 모의 침투 테스트용 리눅스 배포판이에요.

기본 테스크톱 환경으로 xfce를 지원해요.

 

 

리눅스가 뭔지도 모르면서 칼리리눅스만 알고 있는 하찮고 미개한 툴키디들도 많아요.

가상머신이 무엇인지도 몰라서, 가상머신 안에 설치해둔 칼리리눅스를 그냥 윈도우에서 실행 가능한 프로그램이라고 착각해요.

 

 

칼리리눅스는 백트랙의 후속작인데, 백트랙은 요즘에 나오는 컴퓨터에서 작동하지 않으니 그냥 칼리리눅스 쓰세요.

방어 특화 버전인 칼리 퍼플이라는 것도 있어요.

 

다운로드 : https://www.kali.org/get-kali/

 

Get Kali | Kali Linux

Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.

www.kali.org

 

블랙아치 리눅스 (BlackArch Linux)

아치리눅스를 기반으로 만들어진 사이버 보안 및 해킹에 초점을 맞춘 리눅스 배포판이에요.

slim 버전과 full 버전이 있어요. 아래 사진은 데스크톱 환경으로 xfce를 사용하는 slim 버전의 모습

 

이건 full 버전의 모습. 창 관리자로 fluxbox를 사용해요. fluxbox 말고 다른 창 관리자도 지원하지만, 생긴 모습은 그게 그거에요.

 

 

아무것도 없는 것처럼 생겼지만, 바탕화면에 마우스 오른쪽 클릭을 하면 메뉴가 나와요.

 

홈페이지에 2800개가 넘는 해킹툴을 지원한다는 소개 문구가 있는데,

 

하위메뉴에 저런식으로 한 가득 들어있는 경우가 많은 것을 보면, 진짜인 것 같아요.

 

다운로드 : https://blackarch.org/downloads.html

 

Download BlackArch

Here you will find official BlackArch Linux downloads and installation instructions. ISOs The following list contains official BlackArch full, slim and netinstall ISO images. You can burn these images to DVDs and flashdrives. The full ISO contains a comple

blackarch.org

 

패럿 OS (Parrot OS)

데비안을 기반으로 하는 보안과 프로그래밍에 중심을 둔 리눅스 배포판이에요.

 

기본 테스크톱 환경으로 MATE를 지원해요. 여기서 MATE는 "마테"라고 읽어요. 마테나무에서 따온 명칭

 

프로그래밍 목적도 있어서 그런지, 일단 프로그래밍이라는 메뉴도 보이긴 해요.

 

다운로드 : https://parrotsec.org/download/

 

Parrot Security

This website is a safe place, we respect your privacy enough to skip the cookies and go straight to the content. Accept

parrotsec.org

 

페도라 보안 랩 (Fedora Security Lab)

보안 감사, 시스템 복구 등과 관련된 교육을 수행할 수 있는 안전한 테스트 환경을 제공하는 리눅스 배포판이에요.

 

 

GNOME을 사용하는 패도라 워크스테이션과는 달리, 기본 테스크톱 환경으로 xfce를 사용해요.

 

 

페도라 스핀이라는 이름으로 여러가지 페도라 배포판들이 있는데 그것들 중 하나에요.

 

다운로드 : https://fedoraproject.org/labs/security

 

Fedora Security Lab

The Fedora Security Lab provides a safe test environment to work on security auditing, forensics, system rescue and teaching security testing methodologies in universities and other organizations. The spin is maintained by a community of security testers a

fedoraproject.org

 

펜투 리눅스 (Pentoo Linux)

젠투 리눅스를 기반으로 만들어진 시스텝 보안 점검 및 취약점 분석을 위해 만들어진 리눅스 배포판이에요.

 

 

젠투는 어쩐지 모르겠지만, 펜투는 기본 테스크톱 환경으로 xfce를 지원해요.

최초 실행시 위와 같은 화면이 나오고, 계정 이름이 pentoo라는 것을 알려준 뒤에 라이브 부팅 도중에 사용할 비밀번호를 입력하라고 해요.

그 뒤에 X를 시작할거냐고 물어볼텐데, 실행하겠다고 하면 이런식으로 GUI 환경이 나올거에요.

 

이것저것 아무거나 실행해본 모습

 

 

펜투 리눅스가 기반으로 하는 젠투 리눅스의 경우, 완성된 프로그램을 받아서 설치하는 것이 아닌, 소스코드를 받아서 기계어로 번역해서 설치하는 방법을 사용해요.

리눅스도 프로그램이니, 리눅스 그 자체도 소스코드로 받아서 기계어로 번역하는 방식으로 설치되는데, 펜투 리눅스는 다른 리눅스들처럼 평범하게 설치 가능한 듯.

 

다운로드 : https://www.pentoo.ch/downloads

 

Pentoo

Pentoo is a Live CD and Live USB designed for penetration testing and security assessment. Based off Gentoo Linux, Pentoo is provided both as 32 and 64 bit installable livecd.

www.pentoo.ch

 

어차피 펜투 사용할 뵨태들은 저보다 더 잘 알겠지만, 파일 이름에 core가 들어간 .iso 파일들은 GUI 환경이 나오지 않고 startx 명령어도 작동하지 않으니 참고하세요.


라이브 부팅 중 계정 이름과 비밀번호

  계정 이름 비밀번호
Kali Linux kali kali
BlackArch Linux (slim) liveuser blackarch
BlackArch Linux (full) root blackarch
Parrot OS user parrot
Fedora Security Lab liveuser, root 없음
Pentoo Linux pentoo 라이브 부팅 시점에 사용자가 직접 설정

 


grub에서 SSD에 넣어둔 .iso 파일을 바로 부팅하는 법

예전에는 칼리리눅스도 깔아놓고 막 어둡게 커스터마이징하고 그랬는데, 어차피 쓰지도 않고 용량만 차지해서 지워버린 상태에요.

완전히 없애버리기는 뭔가 아쉬워서 SSD에 .iso 파일을 넣어두고, 이미 깔려있는 grub에서 라이브 부팅이 바로 가능하도록 설정했어요.

 

글을 올리는 김에 이 글에서 소개한 리눅스 5가지를 grub에 넣는 것을 살짝 다루어볼까 해요.

참고로, grub는 리눅스 등에서 사용하는 부트로더에요.

 

일단 전 최상위경로 바로 아래에 liveiso라는 폴더를 만들고, 그 안에 .iso 파일들을 넣어두었어요.

윈도우 파티션에 넣어두어도 상관은 없지만, 파일 시스템이 NTFS라서 정상적으로 부팅되지 않을 수도 있어요.

 

 

그리고 /etc/grub.d/ 폴더에 있는 40_custom 파일을 수정하면, grub에 보여질 목록을 편집할 수 있어요.

 

 

일단 저는 다 적어놓았으니, 필요한 부분만 뽑아가서 사용하세요.

 

 

40_custom 파일 내용. 배포판마다 적어야 할 내용이 조금씩 다르거나 아예 달라요.

위에서 찍은 리눅스 스크린샷들은 전부 grub에서 바로 .iso 파일을 라이브 부팅하는 것을 성공한 뒤에 찍은 것들이에요.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Kali Linux 2025.2" {
    insmod ext2
    set isofile="/liveiso/kali-linux-2025.2-live-amd64.iso"
    loopback loop (hd0,gpt4)$isofile
    linux (loop)/live/vmlinuz boot=live findiso=$isofile
    initrd (loop)/live/initrd.img
}
menuentry "BlackArch Linux slim" {
    insmod ext2
    set isofile="/liveiso/blackarch-linux-slim-2023.05.01-x86_64.iso"
    loopback loop (hd0,gpt4)$isofile
    linux (loop)/blackarch/boot/x86_64/vmlinuz-linux archisolabel=BLACKARCH_20305 img_dev=/dev/nvme0n1p4 img_loop=$isofile earlymodules=loop archisobasedir=blackarch
    initrd (loop)/blackarch/boot/x86_64/initramfs-linux.img
}
menuentry "BlackArch Linux full" {
    insmod ext2
    set isofile="/liveiso/blackarch-linux-full-2023.04.01-x86_64.iso"
    loopback loop (hd0,gpt4)$isofile
    linux (loop)/blackarch/boot/x86_64/vmlinuz-linux archisolabel=BLACKARCH_20304 img_dev=/dev/nvme0n1p4 img_loop=$isofile earlymodules=loop archisobasedir=blackarch
    initrd (loop)/blackarch/boot/x86_64/initramfs-linux.img
}
menuentry "Parrot Security 6.4" {
    insmod ext2
    set isofile="/liveiso/Parrot-security-6.4_amd64.iso"
    loopback loop (hd0,gpt4)$isofile
    linux (loop)/live/vmlinuz boot=live findiso=$isofile
    initrd (loop)/live/initrd.img
}
menuentry "Fedora Security 42-1.1" {
    insmod ext2
    set isofile="/liveiso/Fedora-Security-Live-x86_64-42-1.1.iso"
    loopback loop (hd0,gpt4)$isofile
    linux (loop)/images/pxeboot/vmlinuz root=live:CDLABEL=Fedora-Sec-Live-42-1-1 rd.live.image verbose iso-scan/filename=$isofile
    initrd (loop)/images/pxeboot/initrd.img
}
menuentry "Pentoo 2024" {
    set isofile="/liveiso/pentoo-x86-hardened-2024.0_p20240111.iso"
    loopback loop (hd0,gpt4)$isofile
    linux (loop)/boot/pentoo init=/linuxrc nogui nox nodhcp secureconsole overlayfs max_loop=256 dokeymap video=uvesafb:mtrr:3,ywrap,1024x768-16 console=tty0 net.ifnames=0 scsi_mod.use_blk_mq=1 ipv6.autoconf=0 usbcore.usbfs_memory_mb=0 looptype=squashfs loop=/image.squashfs cdroot isoboot=$isofile
    initrd (loop)/boot/pentoo.igz
}

 

 

set isofile="/liveiso/어쩌고저쩌고.iso" 부분은 .iso 파일이 있는 위치에요.

 

(hd0,gpt4) 부분은 파티션이에요. (디스크,파티션)

중간에 /dev/nvme0n1p4 같은 방식으로 적어야 하는 경우도 있어요

 

archisolabel=BLACKARCH_20305 와 같이 .iso 파일을 마운트하면 보이는 이름을 적어야하는 경우도 있어요.

윈도우에서 마운트하면 보이는 내용을 적으면 돼요.

 

root=live:CDLABEL=Fedora-Sec-Live-42-1-1 같이 파일명을 한 글자만 다르게 수정해서 적어야 하는 경우도 있어요.

 

사실 .iso 파일 안에 있는 grub.cfg 파일 같은 것을 찾아서 그 안에 적힌 내용을 컨닝하면 해결

적당히 파일 경로와 파티션 위치 등을 적어놓으면 대부분 다 잘 작동해요.

 

menuentry "Kali Linux 2025.2" --class kali {

와 같이 뒤에 --class 어쩌고를 적으면, 테마가 적용된 grub에서 그에 맞는 아이콘이 나올거에요.

 

아무튼 "sudo update-grub"나 "sudo grub-mkconfig -o /boot/grub/grub.cfg" 같은 명령어를 통해 수정한 내용을 grub에 반영시킨 뒤에 재부팅하면 이런식으로 아래에 추가된 것을 볼 수 있을거에요.

 

 

40_custom에서 앞에 40이 실행 순서이니, 파일 이름에 적힌 숫자를 바꾸면 다른 위치에 추가시킬 수도 있어요.

하위메뉴를 만들고 그 안에 넣는 방법도 있으니 원한다면 한 번 찾아보세요.

 

저런식으로 메뉴에 추가해놓는다는 뜻은 "내 컴퓨터를 사용하는 모든 사람에게 루트 권한을 주는 것"과 다를 바 없어요.

누구나 라이브 부팅을 통해 루트 계정으로 로그인 가능한 리눅스를 부팅할 수 있기 때문.

그러니 능력것 막아보세요. 저는 grub 자체에 비밀번호를 걸어두고, 설치된 운영체제를 부팅하는 경우만 예외로 빼두었어요.

윈터 랩핑열차 추적기

 - 리메이크 뒷북

 

도쿄 지하철 운행 정보

 - 안드로이드 앱

 - 하이브리드 앱과 네이티브 앱 중 고민 중

 - 각 열차들의 실시간 위치 또는 시간표 기반 위치 출력

 

듀에토 노래방 수록곡 목록

 - 5곡 밖에 없는지라, 간단한 웹앱으로 만들 듯

 

갱신 : https://sinzdev.tistory.com/36

 

시작 예정 및 진행 중인 프로젝트 목록 갱신

폐기윈터 랩핑열차 추적기 - 트릭컬 랩핑열차 추적기로 대체진행 중 트릭컬 랩핑열차 추적기 - 안드로이드 앱. 네이티브. 코틀린 미사용 도쿄 지하철 운행 정보 - 안드로이드 앱. 하이브리드 - 각

sinzdev.tistory.com

 

 

 

산리쿠 철도는 일본의 철도 회사들 중 하나로 리아스선이라는 노선을 운영해요.

대충 아래 지도에서 붉은 색으로 표시된 구간이에요. 그와중에 일본해(동해)로 표시 중인 구글 지도.

 

 

산리쿠 철도의 홈페이지는 한국어를 지원하는데, 작년 기준으로 한국에서는 접속하지 못하도록 차단해놓은 상태였어요.

한국 IP로 접속시 403 반환. 403은 대충 해당 페이지를 볼 권한이 없다는 뜻. 일본 IP로 우회하면 아주 잘 접속 가능.

 

다 만들어주고 안보여주는 것이 마음에 들지 않는 관계로, 리아스선의 실시간 열차 위치 정보를 보여주는 앱을 만들어서 깃허브에 올리려고 했어요.

 

그런데, 다시 확인해보니 한국 IP로도 접속 가능하네요?

 

 

그런고로 일단 프로젝트 백지화.

+ Recent posts