2012-07-10 6 views
0

여러 가지 다른 부팅 소프트웨어를 가지고 내가 좋아하는 PC 도구로 USB 핀을 만들고, DOS로 부팅 한 후 부팅 할 ISO가있는 폴더를 만들려고 노력했다. 정상 부팅 후 부팅 가능한 CD의 부팅 프로세스를 어떻게 트리거 할 수 있습니까?

그러나 ISO의 많은 제대로 작동하지 않습니다, 또는 모든 (예 : Windows 부팅 CD의 등.)에, 그래서 새로운 아이디어를 가지고 :

가 부팅 가능한 MS-DOS를 만들 수 있을까를 USB 핀을 연결 한 다음 부팅 한 후 DOS 프롬프트에서 CD-ROM의 일반적인 부팅 순서를 실행 하시겠습니까? 이처럼

: PC에

  • 켭니다.
  • 부팅 순서 메뉴 (내 경우 F12)를 얻으려면 키를 누르십시오.
  • "Boot from USB"를 선택하십시오.
  • USB 부팅을 도스 (... 또는 다른 목적으로이 용도로 사용할 수 있습니까?).
  • DOS 프롬프트에서 "일부 프로그램/스크립트"을 시작하면 마치 BIOS 부팅 순서 메뉴에서 직접 트리거 된 것처럼 일반 광 드라이브에서 부팅 가능한 CD를 트리거합니다.

감사합니다 (이 수 있다면, 그때 내 USB 핀에 가상 CD 드라이브 소프트웨어와 마운트 ISO 파일을 시작하는 옵션 메뉴를 추가로 진행 것) 조언 및/또는 생각과 생각!

+0

Grub (부트 로더)가이 작업을 수행하는 방법을 살펴볼 수 있습니다. 기본적으로 부트 섹터를로드하고 실행합니다. – fork0

+0

자매 사이트에서 발견했습니다. http://superuser.com/questions/154133/grub-boot-from-iso 뭐하는거야 ... – sacredfaith

+0

나는 다양한 방법으로 그럽을 시도했지만 운은 없다. 어쩌면 그것은 내 ISO (즉, 그 중 하나는 엔드 포인트 암호화 작업을위한 McAfee SafeBoot bootcd입니다. Grub4dos ISO 이미지 에뮬레이션, MemDisk 등을 사용하여 USB에 Xboot 및 YUMI를 추가하려고했습니다.) - 지금까지 성공하지 못했습니다. –

답변

1

이론적으로 Int13h/AH=4Ch을 사용하면 BIOS에서 실행되는 코드에서 CD-ROM 부팅을 시작할 수 있습니다. 그러나 대부분의 BIOS 구현은 실제로 El Torito 표준의이 부분을 구현하지 않는다는 것을 기억합니다. (오래 전 이었으므로 현대 BIOS에서는이 문제가 발생하지 않을 것입니다.)

내 경험상 이럴 가능성은 거의 없습니다. 일단 운영 체제를 부팅하면 작동합니다. DOS는 CPU 모드를 변경하지 않습니다 (확장 메모리 드라이버를 설치하지 않은 경우). 그러나 다른 방법으로 시스템 컨텍스트를 변경합니다. 예를 들어 IIRC는 여러 가지 BIOS 인터럽트를 연결합니다. 결과적으로 DOS가 실행되면 넘어지는 일없이 CD를 다른 OS로 부팅하기 위해 덮어 쓸 수 없습니다.

이 작업을 수행하려면 (a) 운영 체제가없는 베어드 BIOS에서 코드를 실행해야합니다. (b) 부팅 기능을 올바르게 구현하는 BIOS가 필요합니다. 첫 번째 부분은 벌거 벗은 어셈블리와 BIOS functions의 문제 일뿐입니다. 그러나 두 번째 부분은 거의 통제 할 수 없습니다.

+0

이 위대한 설명에 감사드립니다! 그것은 훨씬 더 많은 통찰력을 제공합니다.나는 현재 EasyBCD로 시도하고 있으며 Grub과 같은 오류가 발생합니다 : ISO가 마운트되어 성공적으로 부팅되었지만 WinXP 로고에서 갑자기 Blue screen 오류 0x0000007B가 발생합니다 - Int13h가 잘못 처리됨에 따라 트리거 된 것 같습니다. 그래서 나를위한 쿠키가 없다 ;-( –

+0

실제 CD 드라이브를 부팅하고 ISO 파일을 부팅하려고하면 완전히 다른 물고기 주전자가 생깁니다. Windows (또는 다른 OS)가 BIOS I/O 기능을 사용하고 자체 장치 드라이버를 사용하려고하면 가상화 된 CD 드라이브가 사라지고 모든 것이 무너집니다 Windows PE 버전 3에서는 작동 할 수 있지만 먼저 OS 이미지를 RAM 디스크로 읽는 것이므로, 그리고 나는 아직도 그 시점에서 BIOS I/O를 사용하고 있다고 생각합니다. –