2010-01-26 12 views

cevap

13

A Master Boot Record 512 byte oluşur, son iki bayt 0x55 0xAA olmalıdır. Bu 510 bayt kaldı, bölüm tablosu girişleri 64 bayt olan en 4 bölüm tablosu girdisinde 16 bayttır. Here, bir bölüm girişinin neye benzediğidir. geriye ne

montajcı kodunun 446 bayt. Genellikle ilk birkaç bayt böyle tanımlayıcı, sistem kimliği, adı ancak birkaç olarak önyükleme yükleyenin disk veri anlatan bir önyükleme tanımlayıcı kaydın oluşur ardında BIOS 0x000 de önyükleme kodu bekler: 0x07C00, o zaman düşük kendisini yerleştirir bellek bölümünde aşağı. Önyükleyici yükleyicilerindeki örnek bir eğitim için bkz. here. Bu konuda WikiBooks hakkında ayrıntılı bir teknik inceleme var here.

Eğer dikkatli olmak zorunda tek şey, aksi bölüm tabloları berbat ediyorlar 446 bayt aşmamalıdır bootloader kodu ve dolayısıyla BIOS hata mesajı 'Hata olduğunu. Eksik işletim sistemi 'veya benzeri! Diğer yol, bir düşük kullanmayı gerektirir

 
# Assume that /dev/hda1 is the first hard disk then... 
dd if=mybootldr.bin of=/dev/hda1 bs=512 cnt=1 

: Benzer genellikle bilgisayar vidalama bir dağınık ve tehlikeli bir şekilde yer alacağı diske ikili derlenmiş önyükleme sektörünü Yazma

, Linux altında komut şu şekilde olacaktır düz disk editörü programı veya hatta eski DEBUG.EXE (eski MSDOS disketlerinde bulunan) veya hatta FreeDos kullanarak. Hatırladığım

 
C:\DEBUG.EXE mybootldr.bin 
-W 100 0 0 1 
-Q 

, DR.DOS (Dijital Araştırma DOS), MS-DOS bir rakibi açılırken DR-DOS önce önyükleyici kodu bir şifre koruması kullanılır.

Düzenleme: BIOS 0x0000 arar, olarak nasıl gerçekten merak değilseniz: 0x7C00 orijinal IBM XT BIOS kodunu here yükleyememesi Bu bağlantıyı bir göz.

Bu yardımcı olur umarım, Saygılarımızla, Tom.

+0

+1, "0x55 0xAA olmalı" ve sihirli numara – stacker

+0

@Stacker dememelidir: Orijinal BIOS koduna bir bağlantı eklemek için cevabı düzenledim ... – t0mm13b

+0

@tommieb cimri olmayın^ – stacker

3

sensin İşte explicit assembly instructions

+0

Bu eski okul konuları asla sıkıcı değil! ;) – t0mm13b

+0

Rica ederim! :);) Bu eski okul konularını canlı tutun eh! – t0mm13b

2

sormak çünkü bu eski okul konular ;-)

Burada iki montajcı listings olan Aşk Bir playable Tetris game montaj yazılmış ve x86 önyükleme sektörüne sığar hangi. Sadece on satırı tamamlayabiliyor olsaydınız, normal işletim sisteminizi önyükleyen bir varyant gördüm.

+0

Bu harika. : D – iokevins

İlgili konular