2. 다양한 부트 순서
2.1 Windows NT만 설치된 시스템
NT 부트 섹터는 OS 로더 메뉴를 출력하는 NTLDR을 읽는다. 이 시점에서 Windows NT를 선택하면 NTDETECT.COM을 수행해서 사용자의 하드웨어 구성을조사한다. 나머지는 그렇게 중요한 것이 아니다.
그림 1은 Windows NT의 부트 순서을 보이고 있다.

그림 1. NT의 부트 절차
2.2 Windows 95/MS-DOS만 설치한 시스템
Windows 95는 오래된 소프트웨어와의 호환성을 요구하기때문에 Windows 95하에서 오래된 소프트웨어를 기동하기위해 올바른 버전에서 기동되고 있는 것처럼 속일 필요가 있다. 이것에 대한 좋은 예는 MS-DOS 6.x하에서 MSCDEX.EXE를 기동하는 것이다. 즉, SETVER.EXE으로 MSCDEX.EXE를 MS-DOS 5.x하에서 기동되고있는 것으로 속여야 한다.
이것외에 몇몇 프로그램은 DOS와 Windows의 설정을 변경하기위해 몇몇 파일을 루트 디렉토리에서 검사한다. 이러한 파일은 MSDOS.SYS, IO.SYS, CONFIG.SYS, AUTOEXEC.BAT 와 COMMAND.COM이다.
이것때문에 다소 문제가 발생한다. 만약 DOS 6.2가 가장 최근에 읽혀졌다면 어떻게될까? Windows 95는 부팅할 때 자신의 설정파일은 MSDOS.SYS, IO.SYS등이라고 생각한다. 이 문제를 고치기위해 Microsoft는 모든 DOS 설정파일을 MSDOS.DOS, IO.DOS, CONFIG.DOS, AUTOEXEC.DOS와 COMMAND.DOS로 고치고 MSDOS.W40, WINBOOT.SYS, CONFIG.W40, COMMAND.W40와 AUTOEXEC.W40를 MSDOS.SYS, IO.SYS, CONFIG.SYS, AUTOEXEC.BAT와 COMMAND.COM으로 이름을 변경한다. Windows 95가 가장 최근에 읽혀지고 사용자가 도스를 읽기 원할 겅우 반대의 동작이 취해진다.
그림 2, 그림 3, 그림 4는 Windows 95의 부트 순서뿐만이라 이름을 변경하는 과정까지 보이고 있다.

그림 2. Windows 95의 부트 절차

그림 3. Windows 95의 부트 절차

그림 4. Windows 95의 부트 절차
Windows 95는 WINBOOT.SYS의 존재여부를 검사함으로서 이름을 변경해야 하는지를 알게된다. 만약 WINBOOT.SYS가 존재하면 DOS 버전이 가장 최근에 읽혀진 것이므로 이름을 변경하는 과정이 수행되어야 한다. Windows 95 실제 이러한 동작을 하는지 어떤지 확실하지는 않다.
이전 도스를 읽기위해 Windows 95의 메뉴를 사용하지 않는한 DOS용과 Windows 95용 CONFIG와 AUTOEXEC을 분리할 수 없다는 것에 주의하기 바란다. BOOT.INI에 /WIN95와 /WIN95DOS 스위치를 주어도 CONFIG와 AUTOEXEC의 이름을 바꾸지는 않는다. 이것은 어리석은 일이지만 사실이다.
2.3 MS-DOS만 설치된 시스템
앞에 언급한 것처럼 MS-DOS는 자신을 설정하기위해 MSDOS.SYS, IO.SYS, CONFIG.SYS,
AUTOEXEC.BAT와 COMMAND.COM을 사용한다.
그림 5는 MS-DOS의 부트 순서를 보이고 있다.

그림 5. DOS의 부트 절차
2.4 Linux만 설치된 시스템
리눅스의 부트 절차에대한 세세한 부분은 필자에게 수수께끼이다. LILO는 MBR에 리눅스를 부팅하는 프로그램을 쓰고 이것에의해 부트 섹터를 우회한다. 만약 부팅 가능한 플로피를 만든다면 리눅스는 플로피의 부트 섹터에 하드의 MBR과 완전히 동일한 코드를 쓴다. 두개 사이의 유일한 차이는 BIOS에대한 디스크 배치용 매개변수라고 생각된다. 하드 디스크의 경우 부트 섹터 프로그램은 리눅스에의해 무시된다.