Bir USB cihazına bir bootloader yazmaya çalışıyorum.
"USB aleti" Belirsiz. USB video ve ses aygıtlarının yanı sıra çeşitli depolama aygıtları da vardır.
"USB sürücüsü" derken, muhtemelen bir USB HDD yerine bir USB Flash sürücüsü (yani bir dosya sistemi önyükleme sektörü yerine her zaman ilk MBR'ye sahip olan) anlamına gelir.
Zaten FAT32 olarak biçimlendirildi, ancak sektör 0, bu web sitesinde açıklanandan tamamen farklı bir yapıya sahipti.
Flash sürücü, bir bölüm tablosuna sahip bir MBR'ye (Ana Önyükleme Kaydı) sahip görünüyor (sektör 0'da) ve FAT dosya sistemi birincil bir bölüme yerleştirildi.
Bu web sitesinde bahsedildiği gibi, bunlar normalde bir bölüme (veya bir disketin ilk sektörüne) yerleştirilecek olan bir dosya sisteminin ilk sektöründe kurulu olan önyükleme kesimlerinin sektör dökümüdür.
Ve bunu yeni USB sürücüler için nasıl çoğaltabilirim?
Dosya sistemi önyükleme kesimini bir USB Flash sürücünün 0 sektörüne yükleyebilirim
Sektördeki herhangi bir MBR'yi sıfırlama. Linux sistemi konusunda
sudo dd if=/dev/zero of=/dev/sdX count=64
Bu belki de çok önemli bir adımdır, özellikle zaten bir MBR varsa. Bu adımı Windows'ta nasıl yapacağımı bilmiyorum.
USB Flash sürücüsünü biçimlendirmek için Windows'u kullanın (Windows, yine de kullanmadan önce biçimlendirmekte ısrar eder). Aşağıdaki sonuçları almak için sürücüyü 'hızlı biçimlendirmek' için Win7 kullandım.
USB Flash sürücüde ortaya çıkan 0 sektörü ne istediğinizi andırıyor (yani bir MBR değil ve bölüm tablosu yok).
ek
Bir MBR ile bir Dosya Sistemi önyükleme sektörü arasındaki farkı doğru anladığımdan emin değilim
Ana Önyükleme Kaydı, MBR, PC bölmeli bir yığın depolama aygıtının ilk sektörüne kurulur. Sektörün kuyruğunda, cihazı daha küçük mantıksal cihazlara bölen bir bölme tablası bulunmaktadır. Bir bölüm "etkin" olarak işaretlenir ve MBR'deki önyükleme kodu bu "etkin" bölümün ilk kesimini yükler ve yürütür.
Önyüklenebilir bir bölümün ilk sektörü (veya bir disketin ilk sektörü) bir önyükleyici içerir. Bu bölüme kurulan dosya sistemi, bir işletim sistemi kurulduğunda önyükleme işlemine devam etmek için o ilk sektörde uygun koda sahip olacaktır.
Yüklenecek yüklü bir işletim sistemi veya bir sonraki önyükleme programı olmadığında (örn. BOOTMGR), önyükleyici, bunun önyüklenebilir bir aygıt / bölüm olmadığını belirten bir metin çıkarır (örn. "Diskleri veya diğer ortamları çıkarın. Disk hatası. Yeniden başlatmak için herhangi bir tuşa basın.) ")
USB Flash sürücüsünün (bölümlenmiş) bir HDD yerine süper yüksek kapasiteli bir diskete benzemesini istiyorsanız.
Dosya sistemi sınırlarına dikkat edin, örn. en taşınabilir dosya sistemi olan FAT32, 32GB ile sınırlıdır.
FYI Ben MBR ve ihmal; çünkü USB Flash sürücüler ve SDCards bu tuhaf bilenim bölüm tablosu, bu tür depolama ortamlarını bazı Linux gömülü aygıtlarında (bölümler bekleyen) okunamaz hale getirir. Katıştırılmış Linux için önyüklenebilir VFAT ortamını başlatma konusunda öğreticiler genellikle bölümlemeyi belirtir. Linux'ta biçimlendirme önlemek bu Windows tuhaflığı.