VM에서 이동된 FreeDOS 출력을 호스트 측면으로 복사하려면

하고 싶은 일


FreeDOS에서 Virtualbox에서 이동 학습.
좀 불편한 것은 출력된 텍스트를 복사할 수 없다는 것이다.
예를 들어 시작 후 바로 출력은 다음과 같다.
이 출력(텍스트)을 복사할 수 없습니다.

지금부터 이것을 복사하는 방법을 기재해 두세요.
VirtualBox에서 FreeDOS 설치에 대한 자세한 내용은 다음을 참조하십시오.
http://wiki.freedos.org/wiki/index.php/VirtualBox

qemu 사용


qemu.
이번에 사용했다https://qemu.weilnetz.de/w64/qemu-w64-setup-20210825.exe.

이미지 파일 변환


Virtualbox에서 *vhd 형식의 이미지 파일을 사용했습니다.
사용VBoxManage.exe,*격식으로 변환하다.
명령은 다음과 같습니다.
VBoxManage.exe clonehd FreeDOS1.vhd freedos.img --format RAW

Windows Terminal 설치


설치Windows Terminal.

qemu의 시작


아래와 같이 qemu를 시작합니다.요점은 지정-nographic이다.
공식 문서가 이 일대입니까?
qemu-system-i386.exe -nographic -m 32 freedos.img -boot order=c
이렇게 되면 FreeDOS의 출력은Terminal에 출력된다.

정상적으로 선택할 수 있다.
(화면을 보통 스크롤할 수도 있습니다.)

총결산


제가 Virtualbox에 익숙해져서요.
Virtualbox만으로 해결할 수 있는 방법을 찾아봤어요.
아무리 해도 좋은 방법을 찾지 못했다.
qemu-nographic 옵션을 사용할 수 있다는 것을 알고 이번에 이 글을 써 보았습니다.
bochs 저도 써봤어요.
FreeDOS 출력을 텍스트로 복사할 수도 있습니다.
화면을 스크롤할 수 없음 (방법이 있을 수 있지만 알 수 없음)


Hello의 c 프로그램만 내보내기
i16gcc-v 옵션이 있는 로그를 만드는 방법(복제).
C:\>more hello.c
#include <stdio.h>

int main(void)
{
  printf("hello\n");
  return 0;
}

C:\>i16gcc -v -o hello.com hello.c
Using built-in specs.
COLLECT_GCC=c:/gcc/devel/i16gnu/bin/i16gcc.exe
Target: ia16-elf
Configured with: ../gcc-ia16/configure --host=i586-pc-msdosdjgpp --target=ia16-e
lf --program-prefix=i16 --with-gcc-major-version-only --prefix=/home/user/.local
/build-ia16/prefix-djgpp --datadir=/home/user/.local/build-ia16/prefix-djgpp/ia1
6-elf --infodir=/home/user/.local/build-ia16/prefix-djgpp/ia16-elf/info --locale
dir=/home/user/.local/build-ia16/prefix-djgpp/ia16-elf/locale --enable-libssp --
disable-libquadmath --disable-nls --disable-plugin --disable-lto --enable-langua
ges=c --with-gmp=/home/user/.local/build-ia16/prefix-djgpp-prereqs --with-mpfr=/
home/user/.local/build-ia16/prefix-djgpp-prereqs --with-mpc=/home/user/.local/bu
ild-ia16/prefix-djgpp-prereqs --with-isl=/home/user/.local/build-ia16/prefix-djg
pp-prereqs
Thread model: single
gcc version 6.3.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 'hello.com'
 c:/gcc/devel/i16gnu/bin/../libexec/gcc/ia16-elf/6/cc1.exe -quiet -v -iprefix c:
/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/ hello.c -quiet -dumpbase hello.c -a
uxbase hello -version -o c:/gcc/devel/djgpp/tmp/ccWAmkKl.s
GNU C11 (GCC) version 6.3.0 (ia16-elf)
        compiled by GNU C version 7.2.0, GMP version 6.1.2, MPFR version 3.1.5,
MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring duplicate directory "c:/gcc/devel/i16gnu/lib/gcc/../../lib/gcc/ia16-elf
/6/include"
ignoring duplicate directory "c:/gcc/devel/i16gnu/lib/gcc/../../lib/gcc/ia16-elf
/6/include-fixed"
ignoring duplicate directory "c:/gcc/devel/i16gnu/lib/gcc/../../lib/gcc/ia16-elf
/6/../../../../ia16-elf/sys-include"
ignoring duplicate directory "c:/gcc/devel/i16gnu/lib/gcc/../../lib/gcc/ia16-elf
/6/../../../../ia16-elf/include"
#include "..." search starts here:
#include <...> search starts here:
 c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/include
 c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/include-fixed
 c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/../../../../ia16-elf/sys-include
 c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/../../../../ia16-elf/include
End of search list.
GNU C11 (GCC) version 6.3.0 (ia16-elf)
        compiled by GNU C version 7.2.0, GMP version 6.1.2, MPFR version 3.1.5,
MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: f1b48dea6d1e973dcf146c614a797f6c
COLLECT_GCC_OPTIONS='-v' '-o' 'hello.com'
 c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/../../../../ia16-elf/bin/as.exe -
o c:/gcc/devel/djgpp/tmp/ccBXvHtt.o c:/gcc/devel/djgpp/tmp/ccWAmkKl.s
COMPILER_PATH=c:/gcc/devel/i16gnu/bin/../libexec/gcc/ia16-elf/6/;c:/gcc/devel/i1
6gnu/bin/../libexec/gcc/;c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/../../../
../ia16-elf/bin/
LIBRARY_PATH=c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/;c:/gcc/devel/i16gnu/
bin/../lib/gcc/;c:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/../../../../ia16-e
lf/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'hello.com'
 c:/gcc/devel/i16gnu/bin/../libexec/gcc/ia16-elf/6/collect2.exe -o hello.com -Lc
:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6 -Lc:/gcc/devel/i16gnu/bin/../lib/gc
c -Lc:/gcc/devel/i16gnu/bin/../lib/gcc/ia16-elf/6/../../../../ia16-elf/lib c:/gc
c/devel/djgpp/tmp/ccBXvHtt.o -lgcc --script c:/gcc/devel/i16gnu/bin/../lib/gcc/i
a16-elf/6/../../../../ia16-elf/lib/dos-mtsl.ld -lgcc
COLLECT_GCC_OPTIONS='-v' '-o' 'hello.com'
C:\>hello.com
hello

좋은 웹페이지 즐겨찾기