x86에서 부트스트랩 코드를 작성중입니다.
글쓴이: akcytm / 작성시간: 월, 2012/12/24 - 3:48오후
510, 511번째 바이트에
각각 0xAA, 0x55를 넣어야
바이오스에서 정상적으로 MBR로 인식하고,
0xAA55가 없으면...
바이오스에서 에러가 난다고 하더군요.
호기심에, 0xAA55(Masic number)를 지우고
컴파일한 다음, 돌려보았으나
아무 문제없이 잘~ 돌아갔습니다.
왜 이런지 혹시 아시는분 계십니까 ㅠ?
Forums:
뭐, 다양한 이유가 있을 수 있겠죠.
그냥 여러가지 추측이 가능한게
1. 0xAA55 지우고 나서 이미지에 안 써졌다.
2. BIOS가 그냥 그렇게 만들어졌다.
어차피 0번 섹터는 다 MBR인지 아므로, 위의 내용만 맞는지 확인한다. 일 수 있겠네요.
3. 해당 드라이브가 메인이 아니다.
뭐, 대략 이정도일 듯 합니다.
=========================
CharSyam ^^ --- 고운 하루
=========================
음... 1번은...
1번은 일단 아닙니다.
여러번 해봤거른요. 디스어셈블 해서 제대로 써져있는지 확인했습니다.
2번이라면 컴퓨터마다 작동이 다 다를수도 있단거군요.
규칙을 잘 준수해야지...
감사합니다!