본문 바로가기
컴퓨터/DOS

PCem #3 - MS-DOS에서 CD 드라이브 인식시키기

by Spring13 2023. 11. 22.

저번 글에서 PCem에 MS-DOS 6.2를 설치하는 법을 알아본 바 있다.

 

PCem #2 - MS-DOS 6.2 설치하기

이전 글에서 PCem으로 Windows 95를 설치하는 방법을 알아본바 있다. PCem PCem은 그 이름 그대로 PC 에뮬레이터이다. 가상의 컴퓨터라 하면 대부분 가상머신을 떠올릴 것이다. 가상머신은 컴퓨터가 만

sprout13.tistory.com

 

MS-DOS의 사소한 문제가 있다면, CD 드라이브를 인식할 수 없다는 것이다.

정확히 말하자면, CD를 인식하기 위한 응용 프로그램과 디바이스 드라이버가 존재하지 않는다. 

그래서 MS-DOS에서 CD 드라이브를 인식하기 위해서는 별도의 드라이버가 필요하다.

 

이를 위해 가장 널리 사용되는 드라이버가 있으니, 바로 "MSCDEX.EXE"와 "OAKCDROM.SYS"이다.

이미지는 Windows 98 SE 설치 디스크이다.

MSCDEX.EXE는 Microsoft MS-DOS CD-ROM Extensions의 약자로, MS-DOS 6.x 및 마이크로소프트 Windows의 특정 버전에 포함되어 있는 프로그램이다.

 

MSCDEX.EXE는 DOS 프로그램이 CD-ROM을 인식하고 읽고 제어할 수 있게 하는 드라이버 실행 파일이다.

이 프로그램을 실행하기 위해서는 OAKCDROM.SYS과 같은 적절한 CD-ROM 드라이버가 CONFIG.SYS에서 먼저 로드되어야 한다.

 

OAKCDROM.SYS는 Oak Technology에서 제공하는 범용 CD-ROM 장치 드라이버로, 이 드라이버는 대부분의 ATAPI 및 SCSI CD-ROM 드라이브와 호환되며, 무엇보다 MSCDEX.EXE와 함께 사용할 수 있다. 

 

아래에 첨부된 두 파일은 Windows 9x 설치 CD에 포함되어 있는 파일로, CD로 부팅한 후, 가상 디스켓에서 실행된 DOS에서 CD 드라이브를 인식하는 데 사용된다.

 

CD에서 해당 파일들을 복사해 사용할 수도 있지만, 매우 귀찮은 일이므로, 그냥 여기에 파일을 첨부한다.


개별 파일이다.

MSCDEX.EXE
0.02MB
OAKCDROM.SYS
0.04MB


두 파일이 포함된 플로피 디스크 이미지 파일이다.

DOSCDDRV.img
1.41MB


두 파일이 포함된 ISO 이미지 파일이다.

DOSCDDRV.iso
0.64MB


파일 복사하기


두 파일을 확보하였다면 이제 두 파일을 시스템 드라이브로 복사하여야 한다.

"C:\DOS" 경로로 복사하는 것을 추천한다. 이렇게 하면 실수로 파일들을 제거할 일이 없을 것이다.

 

COPY 명령을 이용하여 파일을 복사한다.

아래의 예문을 참고하여 명령줄을 입력한다.

COPY "드라이브 경로\*.*" C:\DOS

 

예를 들어, 두 파일이 들어있는 플로피 디스크가 A: 경로에 마운트 되어 있다면 다음과 같이 입력한다.

COPY A:\*.* C:\DOS

 

*은 와일드카드로, 임의의 문자열에 대응시키기 위하여 사용하는 문자이다.

예를 들어 *.png의 경우, ".png"를 가지는 모든 문자열(1.png, 2.png, 3.png......)을 지칭한다.

asdf.*의 경우, asdf. 을 가지는 모든 문자열(asdf.txt, asdf.png, .asdf.jpg)을 지칭한다.

*.*의 경우, 모든 파일 이름과 모든 확장자를 지칭한다. 따라서 A:\ 디렉터리에 존재하는 모든 파일들을 C:\DOS 디렉터리로 복사한다.

 

파일 복사가 끝났으면 이제 C:\에 존재하는 AUTOEXEC.BAT과 CONFIG.SYS의 내용을 수정하여야 한다.


CONFIG.SYS 수정하기


CONFIG.SYSCONFIGuration SYStem의 약자로, 그 이름에서 알 수 있듯이 시스템의 구성을 정의하는 파일이다.

이 파일에는 DEVICE, BUFFERS, FILES, SHELL, STACKS, DOS, FCBS, LASTDRIVE, COUNTRY 등의 명령어를 사용하여 장치 드라이버의 로드, 메모리의 할당, 파일 핸들의 개수, 쉘의 지정, 스택의 크기, DOS의 위치, 파일 제어 블록의 개수, 마지막 드라이브 문자, 국가별 설정 등을 지정할 수 있다.


이 파일을 수정하여 DOS가 CD 드라이버인 OAKCDROM.SYS를 인식하게끔 하여, CD 드라이브를 인식하게끔 할 것이다.


먼저 포커스를 최상위 디렉터리인 C:\로 이동하여야 한다.

아래의 명령줄을 입력한다.

CD \

 

만약 포커스가 C 드라이브가 아닌 다른 드라이브에 있다면 아래의 명령줄을 순서대로 입력한다.

C:
CD \

 

포커스를 최상위 디렉터리로 이동하였으면 아래의 명령줄을 입력한다.

EDIT CONFIG.SYS

그러면 QBASIC 기반의 텍스트 편집 창이 열릴 것이다.

DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH
DEVICE=C:\DOS\BILING.SYS
DEVICE=C:\DOS\HBIOS.SYS
FILES=30
INSTALL=C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS

 

창이 열렸으면 아래의 예문을 참고하여 명령 구문을 입력한다.

DEVICE=C:\DOS\OAKCDROM.SYS /D:"이름"
DEVICEHIGH=C:\DOS\OAKCDROM.SYS /D:"이름"

 

DEVICE 및 DEVICEHIGH 명령어는 장치 드라이버를 로드할 때 사용하는 명령어로,

DEVICE는 MS-DOS의 기본 메모리(640KB)에 장치 드라이버를 로드하는 명령어이다.

DEVICEHIGH는 상위 메모리(641KB~)에 해당 장치 드라이버를 로드하는 명령어이다.

 

PCem을 사용하는 경우, RAM의 크기를 1MB 이하로 설정하는 경우는 거의 없고, 기본 메모리 영역에 장치 드라이버를 적재하면 사용 가능한 기본 메모리가 줄어드므로, DEVICEHIGH 명령어를 이용하여 OAKCDROM을 상위 메모리 영역에 적재한다.

 

D:\"이름"은 장치 드라이버의 이름을 지정하는 스위치로, "이름" 부분은 사용자가 직접 지정해야 한다.

MSCDEX.EXE는 여기서 지정한 이름을 가지고 CD-ROM 드라이브에 드라이브 문자를 할당한다. "CDROM"이나 "CDROM001"과 같이 적당한 이름으로 지정하면 된다.


필자는 다음과 같은 명령줄을 입력하는 것을 추천한다.

DEVICEHIGH=C:\DOS\OAKCDROM.SYS /D:CDROM
DEVICEHIGH=C:\DOS\OAKCDROM.SYS /D:CDROM001

DEVICEHIGH=C:\DOS\OAKCDROM.SYS /D:CDROM
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH
DEVICE=C:\DOS\BILING.SYS
DEVICE=C:\DOS\HBIOS.SYS
FILES=30
INSTALL=C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS

이 명령줄은 상위 메모리 영역에 OAKCDROM.SYS을 로드하며, 드라이버의 이름을 CDROM 또는 CDROM001로 지정한다.

 

입력이 완료되었으면 파일을 저장한다.

[Alt] 키를 누른 후, [F] 키, [S] 키, 눌러 파일을 저장하고, [Alt] 키를 누른 후, [F] 키[X] 키를 눌러 편집기를 닫는다.


AUTOEXEC.BAT 수정하기


CONFIG.SYS를 수정하였으면 AUTOEXEC.BAT을 편집하여야 한다.

AUTOEXEC.BATAUTOmatic EXECution BATch의 약자로, DOS가 실행된 후 가장 먼저 실행하는 배치 파일이다. 여기에 DOS 명령줄을 입력해 놓으면, DOS가 자동으로 이를 실행하므로, 사용자가 번거롭게 추가적으로 명령어를 입력할 필요가 없다.

이 파일을 편집하여 부팅 시에 자동으로 MSCDEX.EXE가 지정한 설정대로 실행되도록 할 것이다.


아래의 명령줄을 입력한다.

EDIT AUTOEXEC.BAT

 

텍스트 편집기가 뜰 것이다.

C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\DOS

 

창이 열렸으면 아래의 구문 중 하나를 추가해 준다.

LOAD=C:\DOS\MSCDEX.EXE /D:"CONFIG.SYS에서 OAKCDROM.SYS에 지정한 이름"
LOADHIGH=C:\DOS\MSCDEX.EXE /D:"CONFIG.SYS에서 OAKCDROM.SYS에 지정한 이름"

 

LOAD LOADHIGH 명령어는 프로그램을 메모리에 로드할 때 사용하는 명령어이다.

LOAD는 MS-DOS의 기본 메모리(640KB)에 장치 드라이버를 로드하는 명령어이다.

LOADHIGH는 상위 메모리(641KB~)에 해당 장치 드라이버를 로드하는 명령어이다. LH로 축약할 수 있다.

 

필자는 아래와 같은 명령 구문을 추가할 것을 추천한다.

LOADHIGH=C:\DOS\MSCDEX.EXE /D:CDROM
LOADHIGH=C:\DOS\MSCDEX.EXE /D:CDROM001

C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\DOS
LOADHIGH=C:\DOS\MSCDEX.EXE /D:CDROM

입력이 완료되었으면 파일을 저장한다.


재부팅


재부팅한다.

PCem에서 가장 왼쪽의 [System] 메뉴를 연후 [Ctrl+Alt+Del] 또는 [Hard Reset]을 누른다.

 

재부팅 후 나타나는 화면을 유심히 보면서 정상적으로 드라이버가 로드되는지 확인한다.

 

이제 DOS에서 CD를 읽을 수 있다!


참고 자료


더보기

https://en.wikipedia.org/wiki/AUTOEXEC.BAT

 

AUTOEXEC.BAT - Wikipedia

From Wikipedia, the free encyclopedia Initial batchjob run by command-line processor under DOS AUTOEXEC.BAT is a system file that was originally on DOS-type operating systems. It is a plain-text batch file in the root directory of the boot device. The name

en.wikipedia.org

https://en.wikipedia.org/wiki/CONFIG.SYS

 

CONFIG.SYS - Wikipedia

From Wikipedia, the free encyclopedia Primary system configuration file for DOS "SHELL" redirects here. Not to be confused with SHELL model. CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text fil

en.wikipedia.org

MSCDEX - Wikipedia

 

MSCDEX - Wikipedia

From Wikipedia, the free encyclopedia "Microsoft CD-ROM Extensions" redirects here. For Microsoft's extension to the ISO 9660 format, see Joliet (file system). MSCDEX or Microsoft CD-ROM Extensions is a software program produced by Microsoft and included w

en.wikipedia.org

https://en.wikipedia.org/wiki/List_of_DOS_commands

 

List of DOS commands - Wikipedia

From Wikipedia, the free encyclopedia This article presents a list of commands used by DOS operating systems, especially as used on x86-based IBM PC compatibles (PCs). Other DOS operating systems are not part of the scope of this list. In DOS, many standar

en.wikipedia.org

MSCDEX - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

MSCDEX - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. MSCDEX(Microsoft MS-DOS CD-ROM Extensions, 마이크로소프트 MS-DOS CD-ROM 확장)는 마이크로소프트가 제공하는 소프트웨어 프로그램이며 MS-DOS 6.x 및 마이크로소프트 윈도우

ko.wikipedia.org

https://en.wikipedia.org/wiki/Loadhigh

 

LOADHIGH - Wikipedia

From Wikipedia, the free encyclopedia In computing, LOADHIGH (abbreviated LH) is an internal DOS command in COMMAND.COM that is used to load a program into the upper memory area (UMA) instead of conventional memory.[1] The command was introduced with MS-DO

en.wikipedia.org

오크 테크놀로지 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

오크 테크놀로지 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 오크 테크놀로지창립1987  오크 테크놀로지(Oak Technology)는 사운드 카드, 그래픽 카드, 광학 기억 장치(CD-ROM, CD-RW, DVD)를 위한 반도체 칩을 공급하는 업체였다. 조

ko.wikipedia.org

멀티미디어: 일부 cd-rom 드라이브는 디스크를 올바르게 읽을 수 없습니다. - Microsoft 지원

 

멀티미디어: 일부 cd-rom 드라이브는 디스크를 올바르게 읽을 수 없습니다. - Microsoft 지원

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다. 커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을

support.microsoft.com

MS DOS 기본 메모리 설명 여태 본 것 중 최고..CONFIG.SYS AUTOEXEC.BAT : 네이버 블로그 (naver.com)

 

MS DOS 기본 메모리 설명 여태 본 것 중 최고..CONFIG.SYS AUTOEXEC.BAT

2021/7/6 펌질 2022/2/22 오리지널 글 삭제 확인 2023/3/7 업데이트 네이버의 에디터가 - _-'' ...

blog.naver.com

 

728x90
반응형

'컴퓨터 > DOS' 카테고리의 다른 글

PCem #2 - MS-DOS 6.2 설치하기  (1) 2023.11.19

댓글