2009년 2월 25일 수요일

[내맘대로 만드는 OS]2.부트섹터를 FDD에 복사하기

네, 부트섹터를 만들려면 여러가지 준비물이 있어야 합니다.
여기서 다운받으세요.
1.어셈블리어(NASM)http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D
여기서 적당한 것을 다운받으세요. 저는 2.05.01버전을 다운받았습니다.
설치방법
압축풀고 C:\NASM(여기에 넣는게 편합니다)에 넣어주세요.
2.부트섹터를 윈도우 환경에서 읽고 써주는 유틸리티
http://airpage.org/~gunman/cgi-bin/airpage/pds2/down.cgi?bbs=tool&value=30&file=GSector.exe
부트섹터를 디스크에 기록하려면 많은 명령어가 필요한데 간단하게 써주는 유틸리티입니다.
시작
소스를 작성하시려면 어셈블리어를 알아야 겠죠?
오늘은 부트섹터를 디스크의 MBR(Master Boot Record)(부팅 정보를 저장하는 1섹터를 칭하는 말) 에 복사해보고 부팅을 경험할 것이니 일단 이 소스를 복사하세요.
;====================================시작======
;
; +PlusOS Boot Sector (C) Copyright 10wonsoft, 2009
; http://10wonsoft.textcube.com/ basicprogrammaing75@gmail.com
;
; assemble with:
; nasm -f bin -o PLUSBOOT PLUSBOOT.asm
;
; History From -
; 2009 2 23 H Msg
[org 0]
[bits 16]
        jmp 0x07C0:start        ;far jmp 를 한다.
start:
        mov ax, cs              ;cs 에는 0x07C0 이 들어 있다.
        mov ds, ax              ;ds 를 cs 와 같게 해준다.
        mov ax, 0xB800          ;비디오 메모리의 세그먼트를
        mov es, ax              ;es 레지스터에 넣는다.
        mov edi, 0              ;제일 윗 줄의 처음에 쓸 것이다.
        mov byte [es:di], 'H'  ;비디오 메모리에 쓴다.
        inc di                 ;한 개의 BYTE를 썼으므로 1을 더한다.
        mov byte [es:di], 0x06 ;배경색을 쓴다.
        inc di                 ;한 개의 BYTE를 썼으므로 1을 더한다.
        jmp $                   ;이 번지에서 무한루프를 돈다.
times 510-($-$$) db 0           ;여기서 부터, 509 번지까지 0 으로 채운다.
                 dw 0xAA55      ;510 번지에 0xAA 를, 511 번지에 0x55 를 넣어 둔다.
;=========================컷트===========
자, 이 소스를 메모장에 복사해서 PLUSBOOT.asm으로 저장해 줍시다.
그리고 PLUSBOOT.asm을 C:\NASM(또는 NASM 프로그램을 압축푼 곳)에 넣어줍니다.
그리고 실행에서 cmd를 친 후 콘솔에서
CD C:\NASM
을 눌러줍니다. 그리고
nasm -f bin -o PLUSBOOT PLUSBOOT.asm
라고 처줍시다. 이 명령어의 뜻도 나중에 배우고
컴파일되어서 나온 PLUSBOOT을 Gsector로 기록해줍시다.
기록하는 방법
1.Gsector를 킨다.
2.섹터 리드 옆에 셀렉트를 파일로 바꾼다.
3.섹터 리드를 누른다
4.PLUSBOOT(plusboot.asm 아님)을 연다.
5.깨끗~하게 포맷된 디스켓을 넣는다.
6.섹터 Write 옆에 셀렉트를 A: 로 바꾼다
7.섹터 Write를 누른다.
8.알 유 슈어?(--;;)가 나온다. A:로 되있는지 확인하고 누른다.
주의! 혹시 C:로 되있는건 아닌지 확인하자. 잘못하면 윈도우CD가져와서 복구해야 한다
9.완료, 이 디스켓을 가지고 부팅해보자.
다음과 같이 나
올 것이다.

 
끝.

댓글 3개:

  1. Ивестиционно-строительное предприятие ПРИОР предлагает :

    - капитальный ремонт квартир и офисов по очень доступным ценам

    - Евроремонт квартир ,домиков и офисных помещений с любым обьемом работ

    - капитальный ремонт, восстановление промышленых а также жилых зданий

    - Очень качественный ремонт а также реконструкция торговых, игровых и также развлекательных центров,медицинских,финансовых а также правительственных учреждений.

    - все виды строительно-инженерных, отделочных работ,покраска,побелка,стяжка,поклейка обоев ,плитка и пр.

    - контроль и также гарантия качественного выполнения работ,

    Летние скидки на все виды работ

    Звоните нам : Киев, +38(044)353-67-58 . (066)270-1787 , http://remontkiev.org.ua

    답글삭제
  2. ПРИОР Строительно-инвестиционная фирма предлагает :

    - отличный ремонт квартир и офисов по низким ценам

    - Евроремонт квартир ,домиков и офисных помещений с любым обьемом работ

    - высококачественный ремонт, обновление промышленых а также жилых зданий

    - капитальный ремонт а также реконструкция торговых, игровых и развлекательных центров,медицинских,финансовых и правительственных учреждений.

    - все виды строительно-инженерных, отделочных работ,п%D

    답글삭제