2014-04-06 3 views
0

QEMU에서 일부 .com 파일과 부트 로더를 실행해야합니다. Qemu의 0.9.0 버전을 사용하는 Win XP 시스템을 실행 중입니다. 닷컴 (.com) 파일의 경우 qemu, 호스트에서 DOS로 파일 가져 오기 및 부트 로더 실행

은 내가 MS-DOS 6.22 IMG을 다운로드 한 후이 튜토리얼에 따라 :

qemu-img create -f qcow msdos.disk 128M 

그냥 크기의 msdos.disk 파일을 생성하지만 : 나는 명령을 실행 http://gunkies.org/wiki/Installing_MS-DOS_on_Qemu 1KB.

은 그 때 나는이 명령을 실행 :

qemu -hda msdos.disk -m 64 -L . -fda dos622.img -boot a 

가 설치 일종의 시작하도록되어 말한다 가이드에서,하지만 실제로 내가 알고있는 모든 MS-DOS 할 수있는 일을 부팅. 그것은 나에게 dir을 시도한 커맨드 라인을 제공하고, MOUSE.EXE와 같은 이름의 .com 및 .exe 파일을 보여 주며, 마치 일종의 드라이버 인 것처럼 보입니다.

나는 잠시 동안 인터넷 검색을 해왔다. 그리고 내가 발견 한 모든 것은 많은 리눅스 가이드였다.

그리고 무엇보다도 먼저 org 100h (.com 파일)로 시작하는 일부 .asm 파일을 컴파일하고 DOS에서 테스트해야합니다. 그래서 나는 그들이 .o.bin 파일을 생성하도록 컴파일했다고 생각합니다. 그러나 다음은 무엇입니까? Win XP에서 가상 Qemu DOS 시스템으로 그들을 어떻게 가져 옵니까?

그리고 두 번째로, asm 코드를 준비 할 때 손으로 작성한 부트 로더를 어떻게 실행해야합니까? 어떻게 든 일종의 .img으로 컴파일합니까? Qemu가 내 부트 로더를 실행하게하려면 어떻게해야합니까?

나는이 모든 것에 당황하고 있으며, 지식이있는 누군가가 우울한 태도로 나를 도울 수 있다면 정말로 감사 할 것입니다.

답변

1

어셈블리 파일의 경우 작성한 어셈블러를 알아야합니다. 그들이 nasm을위한 것이라면 운이 좋습니다. com 파일을 직접 작성할 수 있습니다 (이진 파일이므로 -f bin을 사용하십시오).

qemu로 가져 오려면 mtools과 같이 원본 디스크 이미지를 조작 할 수있는 도구가 필요합니다. 이미지 (간단히하기 위해 플로피)를 만들고 포맷 한 다음 com 파일을 복사해야합니다. 그런 다음 qemu에서 두 번째 플로피 드라이브로 연결할 수 있습니다. dos 디스크에 충분한 공간이 있다면 물론 com 파일을 해당 이미지로 복사 할 수 있습니다.

부팅 기록이 있다면 그냥 평범한 바이너리로 방출하고 qemu에 디스크 이미지로 전달할 수 있습니다 (qemu가 끔찍하지 않은 것보다 512 바이트의 배수로 패딩되어 있는지 확인하십시오) 크기에 관해 까다 롭다). 이것은 파일 시스템을 원하지 않는다고 가정하고 있습니다. 왜냐하면 부트 섹터를 어떻게 든 대체해야하기 때문입니다. 다른 모든 방법이 실패하면 dd의 windows 포트를 가져올 수 있습니다.

+0

감사! 이것은 정말로 도움이되었습니다! 당신은 최고예요:). –