USB 대용량 저장 장치 접근하기
글쓴이: cppig1995 / 작성시간: 금, 2009/01/30 - 1:26오후
요즘 PC에는 플로피 디스크 드라이브가 달려 나오지 않지요.
그래서 Bootdisk.Com 같은 사이트에도 USB 플래시 드라이브를 이용해 부트하는 방법이 나오는데,
DOS가 USB 플래시 드라이브 입출력을 지원하는 건 아닐 것 같습니다. (어떤 드라이버가 있을 듯...)
그런데 USB 플래시 드라이브에 담긴 DOS가 부트된 후 드라이버를 읽어들이는 데도 드라이버가 필요하지 않나요?
1) DOS 부트 이미지가 담긴 USB 플래시 드라이브로 부트한 후 DOS는 어떻게 시스템 파일(COMMAND.COM 등)을 읽어들이나요?
2) OS가 USB mass storage class device에 접근하는 방법에 대해 가르쳐 주셨으면 합니다.
Forums:
bios call
DOS의 경우 bios call 을 이용해서 데이터블럭을 읽는것으로 알고 있습니다.
드라이버를 이용해서 직접 엑세스 하는것이아니라 BIOS의 도움으로 읽는 것이기때문에
USB라고 해서 BIOS에서의 지원으로 command.com 을 읽는데 문제가 없을것으로 보입니다.
아마도 BIOS에서 USB쪽을 FDD로 인식 할수있게 되어 있는것같습니다.
잘못된 부분이 있으면 지적 부탁 드립니다.
----
Gnu is Not Unix
CDROM 부팅에서도 BIOS
CDROM 부팅에서도 BIOS 가 CD 의 특정블록을 floppy 로 에뮬레이션 해 줍니다.
BIOS 에 의해 로드된 부트로더는 BIOS call 로 커널을 읽어들이고,
커널이 로드된 후 부터는 커널 드라이버가 사용될 수 있습니다.
MS-DOS 의 커널에 해당하는 msdos.sys 등은 부트로더에 의해서 로드되고,
command.com 은 shell 입니다. 커널이 로드 된 후 커널에 의해 실행되는 첫번째 application 이죠.
command.com 을 직접 뜯어 본 적은 없습니다만,
BIOS interrupt가 아니라 MS-DOS interrupt(system call) 를 사용할 것 같네요.
커널에서 제공되는 드라이버를 사용한다는거죠.
command.com 이 실행되면서 config.sys, autoexec.bat 를 참조하므로,
추가적인 드라이버들, 예를 들자면 CD 드라이버 나 USB 드라이버, 을 로드하도록 설정한다면
쉘 상태에서 CD 나 USB 에 접근하는 게 가능합니다. 드라이브 문자가 새로 할당되겠고요.
누군가 OEM 버전으로 만들어놓은 norton ghost CD 부팅 이미지로 부팅해 본 적이 있는데,
신기하게도 SATA, USB 하드디스크까지 잘 잡아내더군요.
드라이버를 올린 것인지 어플리케이션 수준에서 구현한 것인지 알아보지는 않았습니다.
네트웍까지 지원하는 partimage rescue 를 사용하니 ghost 가 허접해보여서 CD 는 바로 폐기처분했습니다.
OTL
에~~~ 설마요. ㅋㅋ 그럴뜻한 말씀을... 답은
에~~~ 설마요. ㅋㅋ 그럴뜻한 말씀을...
답은 아닙니다 입니다. 해보셨나요?
그럼 usb를 도스 부팅 만들어 놓으시고 그대로 시디로 구워보세요.
그후 시디 부팅하면 a:\> 나오나요?
절대 아닙니다.
댓글 달기