2016-04-10 13 views
0

Windows altında 8086 derlemesinde NASM kullanarak bir bootloader yazıyorum. Bunu oluşturduktan sonra DD yardımcı programını kullanarak FAT32 dosya sistemi ile 16GB USB ortamına yazdım. Ben MBR güncelleştirmek için kullanın komut:MBR'yi değiştirdiğimde Windows neden USB sürücüsünü biçimlendirmek istiyor?

dd if=source.bin od=drive: bs=512 count=1 

MBR güncellemek için DD kullandıktan sonra Windows biçimlendirmek için bana sorar. Windows bunu neden yapıyor? Dosya sistemini bozduğum için mi? Bunu nasıl düzeltebilirim ki MBR'mi yazmak, Windows'un USB sürücüsünü yeniden biçimlendirmek zorunda olabileceğimi düşünmesine neden olmaz?

Bootloader/booter'ım bir FAT32 dosya sistemi için bir BIOS Parametre bloğu içerir. Buna rağmen benim sorunum devam ediyor. Windows'un USB çubuğunu yeniden biçimlendirmek için sormak için

+0

USB'de bir bölme tablosu var, yoksa tanınmadı. Not, BIOS parametre bloğu <> bölüm tablosu. – t0mm13b

+0

Bilmiyorum. Ancak önyükleme sektörüne dosya yazmadan önce sadece bir format (Hızlı değil) yaptım. –

+0

Windows, bir USB aygıtından farklı bir disketi bölümler ve formatlar. Bir diskette, bölüm verileri yoktur ve BPB'deki bilgiler, medyadaki dosya sistemini tanımlamak için yeterlidir. Windows, bir USB aygıtı bölümler ve biçimlendirdiğinde, aslında bir MBB ile disk üzerinde bir MBR yerleştirir ve MBR'nin son 64 baytında bir [Bölüm tablosu] (http://wiki.osdev.org/Partition_Table) içerir. tek bir bölüm olacak ve aktif olarak işaretlenecektir.Kesinlikle bootloader'ınızda herhangi bir bölüm tablosu bulunmaz.Kendinizi disk üzerine yazdığınızda, Windows hiçbir bölüm tablosu görmez ve biçimlendirmek için istekte bulunur –

cevap

0

iki nedeni vardır:

  1. MBR bozuk;
  2. MBR, Windows'un tanıdığı tüm bölümleri tanımlamaz. bayt 0x1FE ve MBR 0x1FF sırasıyla 0x55 ve 0xAA değilse

(1) saptanır.

(2) daha zor: bölüm tablosu (0x1BE, 0x1CE, 0x1DE, 0x1EE adresindeki 16 baytlık girişler), herhangi bir (veya yalnızca ilk!) Girdisinde 0x03'te bilinen bir bölüm türünü listelemez .

İlgili konular