
문제:
약 일주일 전에 XP 설치의 NTVDM이 중단되었습니다.
증상:
첫 번째 증상은 자동 실행 배치 파일 중에 실행되는 16비트 실행 파일이 중단되고 종료될 때까지 CPU를 100%로 고정하는 것입니다 ntvdm.exe
. 이 시점에서 배치 파일은 실행 파일이 수행된 작업 없이도 계속 실행됩니다. 했을 것으로 추정됨). 다음 증상은 종료 배치 스크립트의 일부로 실행되는 다른 16비트 실행 파일이 중단되어 스크립트가 실패하는 것입니다.
흥미롭게도 그들은 그렇습니다때때로일합니다(~30%). 즉, 프로그램이 실행되면(달리다대화 상자) 10회 실행하면 약 2~4회 올바르게 실행되고 나머지 시간에는 중단될 수 있습니다. 이것은 대부분 UI가 있는 더 복잡한 프로그램 edit.com
과 달리 무언가를 인쇄하는 간단한 프로그램에서 발생합니다.command.com
언제나걸다. 매우 간단한 몇 가지 선택 프로그램(예 crlf.com
: 578바이트, ret.com
1바이트 등)언제나문제없이 달리고 돌아올 것 같습니다.
테스트:
일부 테스트에서는 문제가 특정 실행 파일(어쨌든 최근까지 잘 작동함)뿐만 아니라 NTVDM 자체에 있는 것으로 나타났습니다. 예를 들어 실행하면 edit.com
콘솔이 열리고 편집기가 표시되지만 키보드에 응답하지 않으므로 종료해야 합니다. 사실, 심지어 달리는 것도 command.com
효과가 없습니다. 콘솔을 열고 프롬프트를 표시한 다음 응답하지 않고 그대로 있습니다.
관련된 NTVDM 파일(및 기타 수많은 OS 파일)을 모두 확인했는데 모두 정확했습니다. 또한 여러 관련 레지스트리 전체를 확인했는데 모두 확인되었습니다. 이 프로그램은 다른 XP 설치에서도 잘 실행됩니다(이는 놀랄 일도 아니며 command.com
잘 edit.com
작동합니다). 그래서 그것은 그 특정 기계입니다. NTVDM이 작동을 멈춘 이후로 환경은 바뀌지 않았지만 어쨌든 확인해 보니 크게 문제되는 부분은 없습니다. LFN 이름이 없고 null 등으로 깨진 변수가 없는 기존 디렉터리를 가리킵니다. 이 디렉터리는 길지만 한동안 temp
그랬 습니다.tmp
path
확인된 파일:ntd*, ntv*, dos*, redir.exe, Mscdexnt.exe, *.sys
확인된 레지스트리 전체: *\Software\Microsoft\Command processor, *ControlSet*\Control\WoW
,*\Software\Microsoft\Windows NT\CurrentVersion\WOW*
NTVDM 및 16비트 앱은 해당 컴퓨터의 안전 모드에서 제대로 작동합니다. 정상 모드에서만 정지됩니다.
질문:
이러한 증상을 생성하는 방식으로 NTVDM을 깨뜨릴 수 있는 것을 생각할 수 있는 사람이 있습니까?
(분명히 말하면 일반적인 오류가 아닙니다."NTVDM CPU에 잘못된 명령이 발생했습니다."또한, 도스박스나 기타 VM 소프트웨어는 해당사항이 아니므로 사용을 권장하지 마시고, 더욱이 문제의 프로그램은 이전에도 작동했었고, 윈도우즈 자체 16비트 프로그램은 작동하지 않을 수도 있습니다.)