MSDOS.SYS의 [경로] 섹션에 세 가지 다른 설정이있는 이유는 무엇입니까?
Windows 9x에서 MSDOS.SYS 구성 파일에는 [Paths]
내용이 일반적으로 다음과 같은 섹션이 포함되어 있습니다 .
[Paths]
WinDir=C:\WINDOWS
WinBootDir=C:\WINDOWS
HostWinBootDrv=C
모두 WinDir
와 WinBootDir
Windows 설치 일반적으로 디렉토리를 가리킨 C:\WINDOWS
및 HostWinBootDrv
이를 함유하는 드라이브 문자를 가리 킵니다. 고유 한 설정은 잠재적으로 다를 수 있음을 나타냅니다. 이것이 사실 인 상황이 있습니까? 왜 세 가지 다른 설정이 있습니까? 어쨌든 그들의 목적은 무엇입니까?
답변
HostWinBootDrv
설명하기 가장 쉬운 방법은 디스크 압축, 즉 DoubleSpace / DriveSpace와 관련이 있습니다. DriveSpace가하는 일은 디스크 의 압축 된 내용을 포함 하는 이름 DRVSPACE.nnn
( nnn
3 자리 숫자) 의 파일을 만드는 것 입니다. 압축 된 파일 시스템에는 파일이 포함 된 파티션의 드라이브 문자가 할당되고 후자 ( 이 컨텍스트에서 호스트 드라이브 라고 함 )에는 다른 드라이브 문자가 할당되거나 때로는 완전히 숨겨집니다. Windows가 시작되는 파티션이 압축 된 경우 해당 파티션 HostWinBootDrv
의 호스트 드라이브 (기본값은 H
)를 가리키고 다른 설정은 압축 된 파일 시스템을 가리 킵니다.
에 관해서 WinDir
하고 WinBootDir
, 그들이 무엇을 비교적 쉽게 발견 할 수 있습니다. 몇 가지 실험 결과 다음과 같은 사실이 밝혀졌습니다.
WinDir
Windows가 설치된 디렉토리를 가리 킵니다. 의 존재 WinDir
에는 MSDOS.SYS
지시 것입니다 IO.SYS
(같은 비상 부트 플로피에, 명령 프롬프트로 바로 부팅 반대)가 출시를 준비해야하는 Windows 설치가 존재했다 (윈도우 ME 전). 경우 WinDir
설정, 리얼 모드 커널은 다음 작업을 수행합니다 :
PATH
환경 변수 에 두 개의 항목을 넣으십시오 :이 가리키는 디렉토리WinDir
와 그 하위 디렉토리COMMAND
;TEMP
이 디렉토리 아래 에 하위 디렉토리를 만들고 환경 변수TEMP
와 그 위치TMP
를 가리 킵니다 .- 처리 후 시작 여부를 결정 하는 BL 레지스터 비트 5의 인터럽트
0x2f
서비스0x1611
에서 반환 된 플래그COMMAND.COM
를 지 웁니다 .WIN.COM
AUTOEXEC.BAT
- 처리하기 전에 장치 구성 관리자를 시작합니다
CONFIG.SYS
( 섹션 의SystemReg=0
설정 으로 억제 할 수 있음[Options]
). SYSTEM.DAT
(레지스트리)COMMAND.COM
(없는 경우 루트 디렉터리로 대체 됨) 및HIMEM.SYS
andIFSHLP.SYS
(DOS=NOAUTO
에서 설정 하여 억제 할 수 있음 )와 같은 리얼 모드 드라이버를 포함하여이 디렉터리에서 특정 중요 파일을 찾습니다CONFIG.SYS
.winbootdir
환경 변수 (모두 소문자!)에 디렉토리 자체를 저장합니다 .
이 중 마지막 두 개는 설정으로 재정의 할 수 있습니다 WinBootDir
. 해당 설정도 있으면 해당 파일이 WinBootDir
대신 검색되며 물론 winbootdir
환경 변수로 끝나는 디렉토리입니다 .
그러나 여기에는 예를 들어 WIN.COM
. 때 AUTOEXEC.BAT
파일이 존재하지 않는, 비우거나 존재는, (안전 모드의 예처럼) 생략 COMMAND.COM
로드되지 않고 직접 실행됩니다 리얼 모드 커널 WIN.COM
에서 WinBootDir
. 그러나이있는 경우이 ( AUTOEXEC.BAT
가) COMMAND.COM
실행되어이를 처리 한 다음에서 명령 WIN
을 실행하고 WIN.COM
…을 실행 PATH
합니다 WinDir
. 기본적으로 .
음, 좋은,하지만 왜 WinDir
와 WinBootDir
전혀 별개의 설정은? 아직 완전히 명확하지는 않지만 내가 모을 수있는 부분은 LAN을 통한 Windows 부팅을 지원하기위한 것일 수 있습니다. 이러한 구성에서, DOS가 처음과 같은 필수 드라이버를로드, 정상적인 파일 시스템에서로드 (또는 자체 디스크 이미지가 네트워크를 통해 다운로드) 될 수 HIMEM.SYS
에서 WinBootDir
동일한 파일 시스템에 위치를, 다음 주지도, DOS 네트워크 드라이버를로드 (포함 WinDir
)을 해당 드라이브 문자로 변경 한 다음 거기에서 부팅을 계속합니다. 이것이 의도 한 시나리오라면 WIN.COM
이상 도 이제 의미가 있습니다.에서 정상적으로 부팅 할 때 시작된 '주'Windows 복사본이있을 수 있고 네트워크 부팅이 실패 할 때에서 WinDir
안전 모드로 부팅 된 또 다른 최소 '긴급'복사본이 WinBootDir
있을 수 있습니다.
어쨌든이 시나리오의 요구 사항은 두 설정이 서로 다른 값을 갖도록 쉽게 요구할 수 있습니다. 다음 은 그러한 구성을 설명 하는 문서 의 짧은 부분입니다 .
D-2. MSDOS.SYS Sample File for DM9102 : ======================================= [Paths] WinDir=g:\client1 WinBootDir=d:\winboot <== According to RAMDRIVE.SYS assign HostWinBootDrv=c Virtual Drive (D: or E:)
도있다 종이 및 Micho Durdevich (기준 일련의 기사 파트 1 , 2 , 3 , 4 , 5 및 6 윈도우 9x와 네트워크 부팅을 달성하는 방법에 대해 설명합니다).
이 모든 것이 어떻게 작동하는지에 대한 세부 사항에 대해서는 다소 부족하지만 두 소스 모두 SETMDIR
Windows 95의 일부로 배포되는 유틸리티를 언급 합니다. 이는 네트워크 부팅이 Microsoft에서 의도 한 사용 사례 일 가능성이 있음을 의미합니다.
Winbootdir은 DOS 시작 파일이있는 디렉토리를 가리 킵니다. Windir와 다를 수 있습니다.
Windir는 사용자의 레지스트리가있는 디렉토리를 가리 킵니다. 네트워크에서는 Windows가 설치된 위치와 다를 수 있습니다.
Winbootdir은 config.sys / autoexec.bat가없는 경우 himem.sys, ifs $ hlp.sys 및 co와 같은 드라이버를로드하는 데 사용됩니다. 예를 들어 네트워크를 통해 전송 된 부팅 이미지에있을 수 있습니다.
3.0에서와 같이 Windir는 win.com을 포함해야하지만 win.com은 창 시작 (win32.vxd 또는 기타 실행)을 담당합니다.
== 편집 ==
http://reboot.pro/topic/22047-dual-boot-msdos-710-and-630/
이 게시물은 Win98se의 DOS와 약간 수정 된 MS-DOS 6.22를 사용하여 최소 DOS 설정을 만드는 방법을 설명합니다.
winbootdir 및 windir가 변경 될 때 발생하는 일의 예입니다. setmdir 명령은 시스템이 부팅 된 후 windir를 변경합니다. 여기서는 사용하지 않습니다.
http://reboot.pro/topic/18130-ms-dos-7-help-file/
이 항목에는 DOS 5-7 용 qbasic 도움말 파일을 만드는 작업 설명이 포함되어 있습니다 (즉, CDROM에있는 내용의 대체물).
https://www.betaarchive.com/forum/viewtopic.php?f=72&t=34798&p=401645#p401645
여기에서 config.sys의 옵션으로 여러 Windows 9x 버전을 실행하는 것을 문서화하고 있습니다. 지금까지 DOS98SE에서 Win95를 시작할 때 발생하는 대부분의 문제를 극복했습니다.
https://www.betaarchive.com/forum/viewtopic.php?f=60&t=41489
이것은 DOS98SE에서 Windows 95 및 ME를 실행하는 과정입니다. 실험에 사용 된 DOS 파일에 대한 링크가 있습니다.
이러한 모든 실험은 설명 된 작업을 수행하는 VPC 세션을 기반으로합니다. 예를 들어, Offer가 c : \ MSDOS7의 구성을 게시 한 후, 저는 영어와 독일어로 다른 Win98 및 ME 설치 위에 여러 NT5x로 실험을 실행했습니다. c : \ msdos7을 사용하는 아이디어를 얻었습니다.