공식 홈페이지 |
PC 버전 Bochs |
Android 버전 Bochs |
Github |
1. 개요
컴퓨터, 모바일에서 x86 환경의 에뮬레이션을 가능하게 하는 무료, 오픈소스 프로그램이다. 발음은 'Box(박스)' 와 같다.지원하는 운영체제는 윈도우, 윈도우 CE, 리눅스, 안드로이드, iOS 등이다.
컴퓨터 버전의 최신 버전은 2024년 3월 10일자 2.8 버전이다. 2015년도에 업데이트 되면서 전에 있던 bximage 프로그램이 새로운 모습으로 보여줬다. 다만 여전히 QEMU의 안드로이드 버전은 컴퓨터 버전과 비슷하지만, 조작 방법이 터치 인터페이스에 맞게 최적화되어 있다.
지금은 프로젝트 자체가 중단된듯 하나 조금씩 굴러가고 있다.
원 개발자는 Kevin Lawton로 나중에 Volker Ruppert가 이어받았다. 소스포지 시절 밑의 lBochs PC Emulator의 개발자인 Luigi B.에게 큰(?) 도움을 주기도 했다.
2. 특징
다른 에뮬레이터( QEMU, Limbo)에 비해서 굉장히 안정적이다. QEMU나 림보는 구동 속도는 빠르지만 자주 튕기고, Bochs는 느리지만 튕김이 거의 없다.내장된 BIOS외에도 별도로 추출된 BIOS를 불러오는게 가능하다. 다만 CMOS 설정을 저장할수 없는지 저장하고 Bochs를 종료했다가 다시 실행하면 설정이 초기화가 되고[1] BIOS 마다 다르지만 마우스를 사용할수 없는 상태가 되기도 한다. 그나마 VGA BIOS는 제대로 작동이 된다.[2]
2.1. 구동 가능한 운영체제
x86 CPU를 대상으로 한 운영체제들은 거의 모두 구동할 수 있다.확실히 구동되는 이미지는 아래와 같다.
- MS-DOS 5.00, 6.22, 7.00, 8.00[3]
- Windows 1.x
- Windows 2.x
- Windows 3.x
- Windows CE
- Windows 95
- Windows 98
- Windows Me
- Windows NT 3.1
- Windows NT 4.0
- Windows 2000[4]
- Windows XP
- Windows 2003
- Windows Vista
- Windows 7
- Windows 8.1[t2400]
- Windows 10 [t2400][7]
- Windows Embedded
- Windows Embedded POSReady 2009
- Windows Embedded POSReady 7
- Damn Small Linux (라이브CD 지원)
- SliTaz GNU/Linux 4.0 (라이브CD 지원)
- ReactOS
- Kolibri OS
- Haiku OS 4.1
- Alpine Linux 3.5.2
- Tiny Core Linux 7.2
- FreeDOS 1.2
- muLinux
- Puppy Linux[12]
2.2. 하드웨어
지원하는 하드웨어는 아래와 같다.- x86 CPU[15]
- 인텔 430/440FX 노스브릿지[16] + PIIX3 사우스브릿지
- RAM (사용자가 용량을 임의로 설정가능)
- Cirrus GD5446 그래픽카드 (Direct3D 미지원)
- Creative Labs SB16 사운드카드
- Novell NE2000 네트워크 카드
- 2개의 플로피디스크 드라이브 (5.25", 3.5" 모두 사용가능)
- 최대 8개의 IDE 장치 (하드디스크, CD 드라이브)
- 직렬, 병렬포트
- USB 포트 등이다.[17]
- 3dfx Voodoo 1, 2, 밴시, 3 PCI/AGP (DirectX 5,6 지원)
2.2.1. CPU
CPU는 펜티엄 MMX 계열 초창기 모델로 추정. 일부 명령어셋을 지원하지 않는다. 다중 코어 설정이 가능하여, 100개 이상의 코어도 설정이 가능하다. 속도는 더 느려지지만. 안드로이드는 2.6.8 업데이트로 CPU 모델 변경이 가능해졌다.- bx_generic
- pentium
- pentium_mmx
- p2_klamath
- p3_katmai
- p4_willamette
- core_duo_t2400_yonah
- atom_n270
- p4_prescott_celeron_336
- athlon 64_clawhammer
- athlon 64_venice
- turion64_tyler
- phenom_8650_toliman
- core2_penryn_t9600
- corei5_lynnfield_750
- corei5_arrandale_m520
- corei7_sandy_bridge_2600k
- zambezi
- trinity_apu
- ryzen
- corei7_ivy_bridge_3770k
- corei7_haswell_4770
- broadwell_ult
- corei7_skylake_x
- corei3_cnl
- corei7_icelake_u
- tigerlake
2.2.2. 그래픽카드
그래픽카드는 음향기기, 칩셋으로 유명한(아이팟, 아이폰에도 Cirrus의 칩셋이 사용된다) Cirrus Logic의 GD-5446[18] 을 사용한다. PCI 버스를 사용하며, 해당 칩셋을 사용한 실제 제품은 그래픽 메모리가 1-4MB 정도의 DRAM을 사용했다. Bochs에서도 그런 메모리 용량을 그대로 가지고있다.(속성을보면 4MB라고 되어있다.)Direct 9x를 지원하지 않고, 성능이 낮아서 신형 운영체제 설치, 구동에 문제가 발생한다. 우분투 4.10 버전에서 '지원하지 않는 그래픽카드' 라고 나올 정도.
오리지널 Windows 95에선 해당 GPU가 목록에 없어서 인식을 못한다.[19]
이 그래픽카드가 아주 에뮬레이터계의 명물인데, QEMU와 Limbo는 물론, LG에서 서비스한 Cloud PC에서도 사용되었다!![20]
Bochs에서는 또 하나의 그래픽카드도 지원한다. 기본 VBE(VESA Bios Extensions) 그래픽 장치이다. 이 장치는 VBEMP9x드라이버[21]랑 SciTech Display Doctor외에는 지원이 되지 않아, 윈도우 95 같은 운영체제를 16색[22]으로 사용해야 한다.. 물론 더 높은 운영체제의 구동은 힘들다. 여담으로 해당 드라이버는 패러렐즈 데스크톱에서도 사용하고 있다(...)
대신 VBE PCI를 윈도우 비스타 이상에서 사용하면 해상도를 1920x1080까지 올릴 수 있다.[23] 여담으로 VMWare나 VirtualBox에서도 VBE기반 드라이버를 사용하고 있다.
Voodoo도 지원한다. Voodoo¹, Voodoo², Voodoo Banshee, Voodoo³ AGP까지 설정할수 있다.
2.2.3. 사운드카드
Creative Labs Sound blaster 16과 Ensoniq AudioPCI ES1370을 지원한다.사운드 블라스터 16의 경우 윈도우 XP 이하 운영체제에서 드라이버 설치가 가능하다. 윈도우 비스타 부터는 미지원
ES1370의 경우 윈도우XP 이상 운영체제에서 드라이버 설치가 가능하다. 단 가상악기(MIDI)/FM 음원은 지원하지않아 재생이 불가능하다.
DMA Timer를 과하게 배당하면 지연이 발생하니 주의
2.2.4. 네트워크 카드
486에서 펜티엄 시절에 주로 이용되었던 네트워크 카드인, Novell의 NE2000[24] 네트워크 카드는 2.6.8 업데이트 이후로 지원한다. 문제는 IRQ가 0x320인데 사운드블래스터16도 0x320을 사용해 서로 충돌나 해당 값을 비어있는 값으로 바꿔줘야 한다.그리고 인텔 E1000[25]네트워크 카드도 지원해서 윈도우 비스타 이상 운영체제에서도 인터넷 작업을 할 수 있다.[26]
그외에도 AMD PC NET이나 Realtek RTL8029AS도 지원한다.
2.2.5. 기타 장치
CD 드라이브는 쓰기 작업이 불가능한 모양이다.3. 활용
3.1. 게임구동으로의 목적
Bochs를 이용하여 고전 운영체제(DOS, 윈도우 95~2000 등)을 구동할 수 있다. 고전게임을 플레이하기 위한 목적으로 사용하는 경우도 흔히 있다.
이 경우, 운영체제는 DOS와 윈도우 95로 제한된다. 윈도우 98 이상의 운영체제는 속도가 굉장히 느리기 때문에, 게임을 구동하기에는 적합하지 않다.[27]
주로 플레이되는 게임은 2D 게임등이다. (삼국지, 프린세스 메이커, 문명 1~2 등)
3D 게임은 성능상의 한계로 인하여 구동이 힘들다. 2D 게임인 스타크래프트1 은, 구동은 가능하지만 로딩이 매우 길다. 그리고 안드로이드 버전 스타크래프트 에뮬레이터도 나와있는 상태이고..
윈도우 95에서 롤러코스터 타이쿤1 이 잘 플레이 된다고 한다. 속도는 조금 느리지만, 문제되지 않는다고 한다. 다만 DLL 파일을 따로 모아야 한다고..
도스게임은 느리게 구동되지만(IPS 값에 따라 속도는 다르다.) 심시티 2000은 한줄기의 빛으로 잘된다. 다만 좀 느리다. 마우스도 잘 작동한다.(드라이버 실행 필요)
도스 및 윈도우 9x 계열의 게임은 DOSBox로 구동하는 것을 추천한다. Bochs에 비해서 훨씬 빠르다. PC는 PCem으로 구동하자.
옵션을 조금 만져주면 니드 포 스피드 2랑 퀘이크 2도 구동된다. 다만 voodoo가속임에도 프레임 끊김이 잦다. ISP와 VGA Update freq 설정을 잘만하면 프레임 끊김이 줄어든다. 참고로 버추어 캅 2는 한줄기의 빛으로 실행이 된다. 다만 밴치마킹 결과는 처참하지만 lBochs기준 아래와 같이 설정하면 2D/3D게임을 원활하게 구동할 수 있으며 벤치마킹 결과도 좋아진다. 하지만 이렇게 하면 에뮬레이션 속도가 느려질수 있으니 적절하게 조절하면 된다.
plugin_ctrl:speaker=1,ne2k=1,sb16=1,voodoo=1
vga:extension=cirrus,update_freq=30,realtime=0
cpu:model=pentium_mmx,ips=50M,reset_on_triple_fault=1,cpuid_limit_winnt=0
memory:guest=64,host=64
clock:sync=slowdown,time0=local
sb16:enabled=1,wavemode=1,dmatimer=1000K
voodoo:enabled=1,model=voodoo1
[28][29]희한하게도 Voodoo1보다 Voodoo2가 가속이 더 잘된다(...)
Bochs/구동 게임 목록을 참고하는게 좋다.
Glide가 아닌 Direct3D는 약간 불안정 하다. 특히 Glide에서 Direct3D로 전환하는게 잘 안되고 디스플레이가 튕긴다.
3.2. 운영체제 구동의 목적
구형 운영체제를 구동하고 싶은 사람들도 Bochs 를 많이 이용한다.흥미 본위로 만져본 사람 중 많은 수가 주로 윈도우 시작 메뉴의 게임을 해보거나 내 컴퓨터의 파일을 뒤적거리다 재미없어하며 삭제하게 된다(...) 그도 그럴 것이, 디스크 이미지 용량이 장난이 아니기에... 도스, 윈도우 9x는 용량이 적어서 괜찮지만 윈도우 2000 이상부터 용량이 장난 아니게 깨진다. 구동하려면 최소 2GB~3GB 용량을 비워둬야 한다. 물론 growing, sparse같은 디스크이미지 모드를 적용시키면 동적 할당으로 바뀌기 때문에 용량이 작아진다.
Microsoft Windows 9x에선 "PCI버스"가 인식되지 않아 수동으로 설치해야한다.[30] 이 문제는 Bochs의 내장 BIOS가 문제인지 추출된 BIOS를 불러오면 장치관리자에서 PCI버스가 자동으로 설치되어있는걸 볼수있다.
3.3. 개발 중 디버깅의 목적
드물지만, 개발 중 디버깅을 위할 용도로 bochs를 사용하는 경우도 있다. 부트로더, DOS 위에서 실행되는 프로그램, 나아가 커널 디버깅도 할 수 있다.이런 류의 프로그램들을 개발할 때, 개발 초기에 믿을 만한 디버깅 수단이 거의 없음을 생각해보면[31] 이것은 매우 큰 이점이 될 수 있다.
사실 이런 디버깅을 할 수 있는 것은 VMware, VirtualBox 등도 마찬가지이나, bochs에는 port 0xe9 hack, magic breakpoint와 같이 특별한 기능이 있어 디버깅에 도움이 조금 더 된다.
- 0xe9 포트는 일반적으로 PC에서 어떠한 용도로도 사용되지 않는 것을 이용하여, bochs는 이 포트를 디버깅 용도로 지정하여 사용할 수 있게끔 하고 있다. out으로 포트에 데이터를 보내면, bochs의 콘솔에 바라는 대로 디버그 메시지를 출력할 수 있다.
- magic breakpoint는 말 그대로 breakpoint 용도의 기능이다. 이 기능은 bochs 내부에서 특정 명령어가 실행되면 자동적으로 실행을 멈추도록 한다.[32][33] 이 시점부터 사용자는 마음껏 디버깅을 할 수 있다. 100% 소프트웨어 에뮬레이션을 사용하기에 할 수 있는 일. 단, 'bochsrc'라는 설정 파일 내에 'magic_break: enabled=1'이 기재되어 있어야 한다.
3.4. 모바일 설치
3.4.1. 안드로이드
플레이스토어에서 Bochs 애플리케이션을 받고 실행하면 여러가지 설정을 하는 메뉴가 나온다.bochsrc 항목을 잘 읽어보고 제대로 설정했다면, 디스크 이미지의 운영체제가 부팅되고, 사용할 수 있을 것이다.
최신 bochs나 lbochs는 GUI를 지원하기에 어렵지 않게 구동 가능하다.[34]
다만 Lyubomyr Lisen의 프론트 엔드는 Bochs를 시작한다음 홈 버튼은 눌러서 빠져나온다음 텍스트 편집기를 이용해 bochsrc.txt를 수정한 다음 알림바에 Bochs is running을 탭해야 한다. 문제는 이걸 OS부팅할때마다 계속 해줘야 하며 부팅하기전에 하면 부팅할때 초기화가 된다(...) 참고로 Meta키는 시작/슈퍼키.
3.4.1.1. Ibochs PC Emulator
lbochs PC Emulator 라는 프론트엔드도 있는데 이쪽은 GUI라서 설정이 쉽다.[35]안드로이드 다중 코어 활용[36] 사운드 동기화 업데이트 등 여러가지 최적화된 옵션을 제공하기에 제대로 설정하면 Glide나 Direct3D기반 게임도 가능하다.
심지어 MP3나 동영상을 재생할수 있다.[37]
휠 마우스를 지원하나 우리가 아는 그 휠이 아니고 3버튼 마우스 구성이다. 이런 이유로 로지텍 마우스웨어를 설치하면 유니버셜 스크롤 기능 덕분에 사용하기가 낫다.[38]
최근 개발자 luigi .b가 앱을 내린듯 하다.[39]
최종버전은 3.1.1이다.
3.4.1.1.1. 추가된 기능
- PIP(픽쳐 인 픽쳐)기능 지원
- 메뉴얼 모드 추가[40]
- 스냅 샷 저장 기능[41]
- 디스크 이미지 제작, 변환 기능
- 화면 꺼짐 방지
-
GUI 스레드[42] - 스크린샷 캡처 기능
-
Dynamic Timer[43][44] -
클럭 동기화가 rtc를 포함한 실시간 동기화일때 속도 제한 해제 기능 - 저장소 권한이 제한됨에 따라 추가된 파일 관리 기능
대부분 Limbo PC Emulator에 있던 기능이다.
3.4.1.1.2. 장점
- bochs에 비해 빠른 속도
- PIP(픽쳐 인 픽쳐) 기능[45]
- 그외 다양한 기능
-
PC 키보드
오른쪽 Alt키는 한글 윈도우에선 한/영 전환이 가능하며 비활성을 하면 Hacker's Keyboard나 Gamepad같은 외장 키보드를 사용할 수 있다. -
지정된 단위
원 Bochs에서는 단위가 지정되어있지 않아 IPS값에 따라 0을 붙여야 했지만 lBochs는 그런거 없이 IPS값을 설정할때 M(Million)단위로 지정되어 있다. 예를들어 50M일때 원 Bochs에서는 50000000(=50㎒)[46]을 입력해줘야 하지만 lBhcos는 CPU IPS에서 50을 입력하면 50M으로 설정된다. DMA Timer도 마찬가지로 100K단위로 지정된다. - 잘되는 사후지원.
- vvfat 쓰기 가능.
-
외부 입력장치 지원
연결만해도 외부 입력장치를 지원한다. - 잘되는 최적화
3.4.1.1.3. 단점
- 윈도우 8 이상 운영체제 구동 불가[47]
- 최근 앱 화면[48]이나 폰을 잠글 시 앱 종료 문제[49][50]
-
USB 미지원업데이트로 해결되었다. - 시간 주기(클럭) 동기화 옵션 중 none 미지원
3.4.2. iOS
Bochs의 iOS 버전을 기준으로 설명한다. 원래 Bochs는 iOS 용도로 만들어지지 않았다. iSoft 팀이 Bochs를 아이폰, 아이패드에서 돌릴 수 있도록 개발한 것들을 사용해야 한다. 다운로드 링크, 설치 과정은 영상을 참고하자.1. Bochs 앱 설치, 한번 실행 (구글에 검색해도 잘 안 나온다. 탈옥 후 시디아에서 이 저장소 #를 추가하고 다운받아야 한다.)
2. 컴퓨터에 iFunBox 설치
3. 돌리고 싶은 운영체제의 LiveCD.iso 파일과 OS.ini 다운로드(Os.ini는 기본 설정이 거의 같으므로 다른 것을 수정해서 쓸 수도 있다.)
4. iFunBox를 열고 두 파일을 /User/Library/Bochs 에 가서 돌리고 싶은 운영체제의 이름을 가진 폴더를 만들고 안에 넣는다.
5. 실행.
3.5. 오류
각각의 기종별로 오류가 발생할 수 있다. 참고로 오류라는 것은 시스템의 오류가 아니라, Bochs 애플리케이션의 오류를 말하는 것이다. PC버전의 경우 오류 내역이 뜬다.
- Bochs 에서 Start 시 SDL로고가 뜬 후 검은 화면이 되었다. 1-2초 이내에 바로 튕김[lbochs]
Start를 실행하면 SDL로고가 뜨면서 화면이 가로로 변경되고 검은 화면이 되었다 튕긴다.이 오류는 bochsrc 설정 오류 또는 HDD 폴더(vvfat) 의 문제이다. 잘못된 옵션이 포함되면 이런 문제가 생기니 그 부분을 수정하면 된다.
HDD 폴더 문제는 해결이 간단하다. 내장 메모리의 HDD 폴더를 삭제하고 다시 생성해보자. 그래도 안된다면 삭제한 채로 실행해보자. 위의 과정을 거치면 문제는 대부분 해결된다.
- Bochs 실행시 BIOS 화면이 출력되고 튕김
Start 실행시 BIOS 화면이 출력되고 디스크, CD 드라이브 정보가 출력되고 튕기는 현상이다. 이는 디스크, CD 설정을 잘못 하였기 때문이다. 잘못된 경로를 입력하였거나 4GB 이상의 디스크 이미지를 사용하면 이런 현상이 발생한다고 한다.[52]이 문제가 발생한다면 설정을 필히 확인해볼 것.
디스크 이미지 자체의 문제도 있다. 다운로드, 압축 해제 과정에서 파일이 손상되면 이런 문제가 발생할 가능성이 높다.[53] 안드로이드에서 이런 문제가 잦다.
- Bochs 구동 중 튕김
구동 중에 튕겼다면, 너무 고사양의 프로그램을 구동하였거나 Bochs와 호환되지 않는 프로그램을 구동하면 이 문제가 발생한다. 아직 이 문제는 자세히 밝혀진 원인이 없다. 아니면 폰 사양이 낮거나 폰 사양보다 RAM용량을 너무 많이 설정하면 팅긴다. 심지어 cirrus logic 드라이버를 설치한 다음 16비트 이상 색상으로 설정하면 일부 앱을 실행하거나 기능이 동작될때 튕긴다!- LAN카드가 동작이 안됨
드라이버는 설치가 되나 네트워크에 접속이 안된다면 전화접속 네트워킹을 내버려두고 드라이버를 설치해야 접속이 된다.
- 폴더안의 파일이 날아감
lbochs에서 일어나는데 주로 vvfat의 503MB를 초과해서 그렇다. 초과하지 않도록 주의하자.
3.6. 디스크 이미지, 내부 저장소와의 연동
사용자가 원하는 디스크 이미지를 적용하려면, 이미 있던 디스크 이미지를 삭제하고, c.img 로 이름을 바꾸어 SDL 폴더에 넣어주면 된다.내장 메모리와의 연동이 필요하다고 생각되면, 내장 메모리(/mnt/sdcard)에 hdd 라는 이름의 폴더를 만들어 Bochs의 D 드라이브로 사용이 가능하다. 다만, 최대 503MB까지 사용할수있어 해당 용량을 초과하면 부팅이 되지 않거나 드라이브 인식이 되지 않는 문제가 있다. 주의하자. 용량 큰 파일은 따로 디스크 이미지에 넣어두는게 좋다. 폴더 방식(vvfat, Virtual FAT filesystem이라고 한다.)을 이용한 드라이브는, 시스템 내에서 쓰기 작업이 되지 않는다. 쓰기작업이 되어도 OS를 종료하면
vvfat가 수정되었습니다.
이 기능은 실험적 입니다! [no]
같은 메시지가 나온다.이 기능은 실험적 입니다! [no]
내부 저장소와의 연동은, 실시간으로 연동되는 것은 아니다. hdd 폴더에 파일을 미리 넣고 Bochs를 실행해야만 폴더 내부의 파일을 인식할 수 있다. 꼭 기억하자.
이것도 프론트 앤드마다 다른지 lBochs에선 쓰기작업이 된다(!!!).[54]
4. 커뮤니티 목록
- 버추얼로이드 최근에 신설된 카페로, 제 2의 Bochs 커뮤니티로 예상되는 곳이다. 알려진 바로는 핵심 인원 대부분이 이쪽 카페로 빠진 모양. 블로그 등을 제외한 국내 커뮤니티에서 유일하게 윈도우 이미지를 구할 수 있는 곳이다.
-
안드로이드 Bochs 핵심 인원이 대부분 탈퇴 및 자료도 날아가면서 남아있는 게 거의 없다. 그 이후론 글도 잘못 쓰면
경고를 받는다.경고로 끝나지도 않는다. 중복이면 30일동안 네이버에 글을 못쓰며, 심하면 영구적으로 활동이 불가할 수 있다! 현재는 활동이 저조하여 가입인사만 간혹 올라오는 정도다. - 4PDA Bochs 표준이자 규모가 큰 러시아 Bochs 커뮤니티.
4.1. 4PDA
4.1.1. 소개 및 위력
4PDA4PDA는 러시아의 전자기기의 소식이나 리뷰 등을 다루는 웹사이트이다.
XDA와 비슷한 형태의 포럼도 지원하기에, 다양한 개발이나 연구가 진행중이다.
한국에서는 디스크이미지로 일부 알려져 있다. 한국에서 겨우 한글판 윈도우XP 디스크를 만들었을때, 여기는 이미 초경량화 버전이 나와서 비교적 빠른 속도의 XP를 보여주었다.
윈도우 CE, 모바일 시절에 QEMU 에서 주로 구동된 디스크이미지가 4PDA 제작한 디스크 이미지였다. 안드로이드 시절 이전에도 기술이 있었다는걸 보여주었다.
러시아 4pda 선호 에뮬레이터 설문조사에 알수 있듯이 요즘에는 림보 pc에뮬레이터 용으로 디스크 이미지를 많이 만듭니다.
2013년 중순, Limbo 이긴 하지만 인터넷이 가능한 윈도우 디스크이미지를 개발하였다!! 운영체제는 윈도우 NT 4.0 SP6 이다. 러시아어 버전이라, 한글이 표시되지 않는다.
한국 커뮤니티에서도 윈도우 95에 인터넷을 가능하게 하였다.[55]
그리고 2015년 들어서 더욱 많은 발전을 이루었다.
2000, 윈도우xp를 많이 경량화해서 부팅 후 핸드폰에게 약간의 쉴시간을 준 후, 인터넷을 열면 30초 남짓한 시간에 구글을 열 수 있다.
물론 한글입력도 된다.
최근 올라오는 자료들은 대부분 인터넷이 가능하며 Vista이상의 운영 체제는 지원 기간이 남았다고 자료 공유가 금지되어 있다.
체리트레일 태블릿이라 할지라도 터치 환경을 전제로 두지 않고 만든 비스타를 쓸 이유가...
4.1.2. 2014년 , 2015년
2014년 4월초, 4PDA가 결국 윈도우 3.11 에서 인터넷이 가능한 디스크이미지를 제작-배포하였다..!! 용량은 압축해서 100MB 정도.하지만 그래픽 드라이버는 미설치이다.[56]4월 12일 MICRO XP가 제작되어서 올라왔다.
4월 15일 윈도우 시카고 빌드 122, 484[57] 제작하였다. (그래픽드라이버 문제로 부팅문제가 있다.) 윈도우 시카고 빌더 78 버전이 5월 12일에 올라왔다. 특이하게 사운드 드라이버가 설치가 되어있다.
5월 7일 윈도우 7 PE 가 배포되고 있다. (다운로드 받으려면 다운로드 사이트에 회원가입을 해야하는 번거로움이 있다.)
약 한달여 동안 6월 8일 까지 다양한 디스크 이미지가 올라왔는데 림보에뮬레이터 전용으로 많이 올라왔다.
5월 초에서 중반까지 선호 에뮬레이터 설문조사한바가 있다.
결과는 림보 에뮬레이터가 1위 Bochs 가 2위 3, 4, 5위는 도스박스 터보, QEMU, andosbox로 차지 하였다.
에뮬레이터계는 파란만장했던 과도기가 끝나고 쇠퇴기에 접어들고 있다.
현재 윈도우, 리눅스, 도스 등 디스크 이미지가 어느정도 틀이 완성이 되었고 포화상태에 있기 때문에 에뮬레이터 성능이 더욱더 좋아지지 않는 한은 더이상의 발전은 어려울거 같다.
현재 시카고(95의 베타버전 코드네임)가 많이 올라오고 os2를 제작하여 올린건 빼고는 큰 성과가 별로 없다.
4.2. Virtualroid
Virtualroid는 앞서 말한 한국 Bochs 커뮤니티이며 위에 안드로이드 Bochs 카페에서 빠져나온 핵심인원 중 일부가 모여 만든 카페이다.신설된지 얼마안되었지만 빠져나온 핵심 인원이 제작한 디스크이미지를 이 카페에서 재공유중이라 부족함은 거의 없다.
현제 이 카페에서 구할 수 있는 윈도우 버전은 1.0 ~ 10 TH2[58]이다. 한글 윈도우는 윈도우 3.0 ~ 10 TH2까지 구할 수 있다.[59]
디스크이미지를 제작할 때 대부분 테스트 후 공유하는 거라 성능이 된다면 모바일 구동이 가능하다.[60]
디스크 이미지를 제작하고 공유할 때의 책임은 본인이 모두 감수해야 한다.
자체 파일 서버도 운영중이다. #[61]
5. 기타
디스크 이미지의 내용 편집은 Ultra ISO라는 프로그램으로 가능하다.[62] Winimage라는 프로그램도 있다. 이쪽은 플로피 디스크 이미지 편집에 좋다.-
디스크 이미지를 제작하려면, 컴퓨터가 필수적이다. 모바일은 너무 느리고, 오류가 발생하면 시간이 정말 아깝다.
윈도우 95 설치하는 데에 2시간은 기본이다(...)단 iBochs는 시간 아깝지않게 바로 설치할수있다. - 주로 컴퓨터 버전 Bochs로 설치하거나 QEMU Manager라는 프로그램으로 디스크 이미지를 만든다.
QEMU 폴더를 뒤져보면 qemu-img라는 프로그램이 있는데, 이게 물건이다. vdi, vmdk ↔ qcow2 같은 변환이 가능하다. 즉, 버추얼 박스나 VMware에서 설치하고, 끝에 파일만 좀 변환해주면 QEMU에서 돌릴 수 있다는 것이다. 다만 VMware로 설치할 경우, 분할되어있는 vmdk 파일을 합치기 위해 또다시 프로그램을 받아야 하므로 버추얼 박스를 권장한다. 그리고 가끔 오류가 있는 듯.
Bochs는 vhd, vmdk를 지원한다.[63]Bochs도 변환 프로그램인 bximage라는 프로그램이 있다.
vhd,vmdk ↔ img 변환이 가능하다. 따라서 버추얼 박스에서 설치 후 bochs로 구동하거나 img로 변환 가능하기에 버추얼 박스나 vmware로 OS 설치 후 Bochs로 구동하는 방법도 있다.[주의]
비슷한 에뮬레이터로는 QEMU나 Limbo PC Emulator가 있다. Limbo PC Emulator는 2013년 말, 개발이 중단되었다. 최신 버전은 4.0.0-x86 이며, 업데이트 되면서 안정성이 크게 향상되었다. 이 에뮬레이터가 초보자 입장에서는 훨씬 편하고 좋다. QEMU는 불편한 UI와 낮은 안정성으로 인해 안드로이드에서 잘 사용되지 않는다.[65] 하지만 속도는 굉장하다.
4PDA에서 설문조사를 했는데 1위 자리를 Limbo PC Emulator에 빼앗긴 상황이 일어났다.
삼성 DeX에서도 구동할수있다. 하지만 키보드/마우스 연동 불가에 실험실 비활성화시 창모드로만 구동이 된다.
lbochs로 윈도우 7 경량화 버전을 설치한 유저가 나타났다. 하루 정도 시간을 포기하면 가능하다고... 설치하는데 약 11시간이 걸렸다고 한다. #
[1]
어워드 바이오스 기준으로 설정에 LBA모드 잡아도 저장한다음 껏다키면 다시 CHS모드로 되어있다. PnP 설정을 켜도 종료하면 다시 꺼진다.
[2]
Windows 9x 기준 CL-GD5446 1.2v 바이오스를 불러오면 공식 드라이버가 설치된 상태에서도 하이컬러 모드일 경우 장치관리자를 뛰을때 강제로 종료되지 않는다. 다만 Bochs내 에뮬레이션의 문제인지 페이드 효과가 있으면 지연이 생긴다.
[3]
사실, 6.22/6.23 버전 이후로는 모두 9x 운영체제에 포함된 버전이다.
[4]
RTM 버전의 경우는 setup is inspecting your computer's hardware configuration(설치 프로그램이 컴퓨터의 하드웨어 구성을 검사하고 있습니다)에서 안넘어간다. 바이오스 롬을 2.6.9 버전이 아닌 2.5.1 버전으로 바꾸면 된다.
링크
[t2400]
CPU를
core_duo_t2400_yonah로 설정해야 구동할 수 있다.
[t2400]
[7]
Redstone 1 이후 버전에서는
블루스크린이 발생하여 설치 진행 및 부팅이 불가능하다.
[8]
Windows 95 개발 버전
[9]
Windows 2000에 기초하여 개발하다가 취소된 운영체제로 이후 Windows XP에 흡수됐다.
[10]
Windows XP 개발 버전
[11]
Windows Vista 개발 버전
[12]
아래 4개 운영체제는 플레이스토어 버전 Bochs에서 스타트 옆의 다운로드 버튼을 누르면 나오는 운영체제들이다.
[13]
NeXTSTEP의 오픈소스 버전
[14]
Mac OS X 서버 1.x의 베타버전
[15]
펜티엄 MMX 정도로 추정. 일부 명령어셋을 지원하지는 않음. 다중 코어 설정이 가능하다. 하지만 성능을 위해서 코어를 1개로 설정하는 게 좋다. 코어가 많으면 빠르다고 생각하기 쉬우나, 에뮬레이터에서 다중코어는 큰 부담이다. 다른 가상머신과는 다르게, bochs는 100% 소프트웨어 에뮬레이션을 사용하므로 매우 느린 편이다. 게다가 CPU를 에뮬레이션하기 위해서 단 하나만의 코어를 사용하므로, 에뮬레이션하려는 CPU의 갯수가 늘어나면 그에 비례해서 더 느려진다 (...). 한때 이러한 부분을 멀티스레딩을 이용해서 (예를 들면, 1개의 스레드에서 1개의 CPU를 에뮬레이션하도록) 개선하자는 말도 있었지만 이는 병렬처리에 대해 잘 알지 못해 나오는 오해로, 그러한 처리는 오히려 처리 속도의 비효율성이 몇 자리수는 더 상승하게 된다. 그나마 화면에 표시하기 위한 처리는 DOSBOX처럼 GUI 전용 스레드로 분리되어 있었으나 현재는 비활성화.
[16]
펜티엄 프로 시절에 사용되던 칩셋이다.
[17]
일부 하드웨어 장치는 안드로이드 버전과 호환되지 않는다.
[18]
펜티엄 시절부터 펜티엄 2 초기 시절 까지만 해도 삼성이나 삼보같은 국내 대기업PC 에서 엄청나게 애용되었던 칩셋이다.(S3 계열은 한글바이오스의 호환성 문제가 있어서 애용되었던것 같다.) 2000년대 초반까지만 해도 학교컴퓨터에서도 사실상 표준일 정도.
[19]
이는 Windows 95 RTM 출시 이후에 출시된 물건이기 때문이라서 그렇다. OSR2에서는 다행이 목록에 있다.
[20]
적어도 Cloud PC의 CPU는 AMD Opteron 4코어, 윈도우7 이었는데.. 그래픽카드에 걸려 게임이 되지 않았다.
[21]
WinNT용인 VBEMPNT드라이버도 있다.
[22]
드라이버 설치시 32비트 색상 가능
[23]
단, Microsoft 기본 디스플레이 드라이버 설치가 가능해야 한다. 경량화 목적으로 빠져있다면 VBEMPNT 드라이버를 설치해야한다.
[24]
DOSBox에서도 사용한다.
[25]
Intel(R) PRO-1000 MT Network Connection,
버추얼 박스에서 사용하는 네트워크 카드가 이거다.
[26]
문제는 느리다...
[27]
체리트레일 탑재 태블릿이면 몰라도 그걸 달고 나오는 물건은 노트북이 아닌 이상 대부분 Windows 10과 안드로이드가 같이 설치되어 나오는데 멀쩡한 윈도우를 장식으로 냅둘 리가...
[28]
될수있으면 고성능 게임을 포기하더라도 20 ~ 25MIPS로 VGA Update freq를 15로 설정하는게 빠르게 동작된다.
[29]
원활한 DirectX 가속을 원한다면 Voodoo Banshee이상을 사용하는것이 좋다.
[30]
단 WIN95나 WIN98, Win9x 디렉토리를 하드디스크로 복사해야 한다. 설치하는동안 ODD가 비활성되기 때문이다.
[31]
부트로더와 커널은 디버깅용 루틴을 만들기 전까지 전적으로 화면 그 자체에 '무엇이 출력되었는가'를 보고 의지할 수밖에 없다. 시리얼 포트 같은 수단이 있으면 그나마 나은 셈.
[32]
xchg bx, bx. 실제 기계에서 해당 명령어를 사용해도 무해하며 아무 일도 일어나지 않는다. 왜냐하면 이 명령은 레지스터의 내용을 교환하는 명령인데, source와 destination이 모두 bx로 같으므로 클럭을 낭비하는 것 밖에는 주목할 만한 변화가 없기 때문이다.
[33]
어찌 보면 INT 3h와 비슷해 보이지만, magic breakpoint는 어떠한 exception도 발생시키지 않는다.
[34]
단 일부 디스크이미지는 구문에 mode 값을 지정해야하니 bochsrc 수정이 필요할 수 있다.
[35]
기존 bochs의 GUI보다 기능이나 설정할 수 있는 항목이 많다.
[36]
단, CPU 에뮬레이션 결과가 향상되는 것은 아니며 에뮬레이션 대상의 코어 성능은 모기기 코어 성능을 넘을 수 없다. 즉 8코어 AP를 이용해 1코어 도스 머신을 실행하면 해당 머신의 최대 성능은 AP의 1코어보다 낮다는 의미.
[37]
CirrusLogic 정품 VGA BIOS를 불러오면 Realtime에서도 동영상을 재생할수 있다.
[38]
이는 제대로된 3버튼 마우스를 만드는곳이 로지텍이라서 그렇다.
[39]
*.apk를 구해도 사이드로드 방지로 인해 사용이 불가능하다. 물론 4PDA를 뒤지면 DRM Free 파일이 나오긴하나 계정을 만들어야 받을수 있다..
[40]
기존 Bochs는 다른 편집앱으로 bochsrc를 수정해야 했지만 lbochs는 자체 메뉴얼 모드로 다른 앱 설치 필요없이 수정이 가능하다. 메뉴얼 설정 가이드도 있지만 접속은 안된다.
[41]
현재 상태를 저장하는 기능이다. 앱 재실행시 자동으로 저장한 상태를 불러온다.
[42]
멀티스레드 기능. 최적화 업데이트로 인해 비활성되었다.
[43]
사운드 카드 부분의 dmadyn 명령어
[44]
사운드 동기화 기능을 개선하기 위해 DMA타이머가 비활성 되었고 Forced Audio Sync로 대체되었다.
[45]
이게 정말 꿀기능인데 기존 bochs에서는 앱을 계속 켜두고 지루함을 이겨내야했지만 이 기능 덕분에 실행 후 홈버튼을 누르고 다른걸 하면서 켜질때까지 기다리면 된다.
[46]
Clock=slowdown으로 설정하면 CPU-Z같은 성능 정보 유틸들이 50㎒로 인식한다.
[47]
작동은 하나 윈도우 로고에서 부팅이 안넘어간다.
[48]
PIP 상태 제외
[49]
이게 가장 큰 단점이다. 실수로 최근 앱 화면이나 잠궈버리면 그대로 앱이 꺼저버리기 때문에 사용시 주의가 필요하다.
[50]
안드로이드 누가에선 백그라운드 옵션을 활성화하면 작동한다. 대신 PIP가...안된다.
[lbochs]
검은 화면이 되었다. 1-2초 이내에 바로 튕긴다.
[52]
4GB 이상인지는 확실치 않으나 대체로 그렇다는 의견이 다수이며 반대하는 사람은 없다.
[53]
Booting from Hard Disk... 에서 안넘어 가는 경우도 이에 해당된다.
[54]
단 파일이 1MB라도 넘으면 에뮬레이션 속도가 느려지며 파일명이 로마자가 아니면 0바이트 귀신이 출현한다. 0바이트 귀신이 출현할때 해결법은 termux를 이용헤서 해당 파일과 디렉토리를 삭제해야 한다.
[55]
지금은 저작 권때문에 삭제되었다.
[56]
제작자가 그래픽 드라이버가 설치오류로 그냥 16색으로 업로드 해놓은 상태. 그냥 윈도우 3.11 울티메이트 버전을 사용하면 정신건강에 이롭다.
[57]
윈도우 95 베타버전, 484 버전이 최종버전
[58]
윈도우10 RS1부터는 설치 및 구동 자체가 안되기 때문에 없다.
링크
[59]
단 한글 윈도우 8, 8.1버전은 아직 PE밖에 없다.
[60]
윈도우 10 TH2도 제작자가 직접 모바일에서 구동 성공 후 올렸다. 그리고 아무도 안쓴다.
[61]
다운 링크를 들어가면 접속이 안되는 링크가 있는데 이 서버가 업데이트 되면서 링크가 바뀌었기 때문에 이 서버에 자료실에 들어가서 다운받으면 된다.
[62]
mode가 flat일때만 나머지는 컨번터로 바꿔 봐야된다.
[63]
Mode 부분은 vhd 경우 vpc, vmdk는 vmware4로 설정
[주의]
컨트롤러를 IDE로 바꿔야 Bochs에서 사용가능하다. 안그러면 부팅 도중에 0x0000007B 코드의
블루스크린이이 뜬다. 일부 운영체제의 경우 IDE로 설정해도 안되는 경우가 있다.
[65]
그런데 Limbo가 QEMU기반이다.