FAT32'ye hızlı bir format neden ve ne zaman bir USB flash sürücüde 0 sektörüne farklı yapılar yazıyor?


1

Giriş: Bir araştırma projesi için bir USB flash sürücüye bir bootloader yazmaya çalışıyorum. Bazı deneylerden sonra, bunu başardım. Bunu nasıl çoğaltabileceğimi bilmek istiyorum.

Ben ne yaptım: Son zamanlarda yeni bir USB flash sürücü satın aldım ve fiziksel diski HxD'de açtım (Windows için onaltılık bir editör). Zaten FAT32 olarak biçimlendirildi, ancak sektör 0 tamamen farklı bir yapıya sahipti bu web sitesinde açıklanandan

Bu web sayfasında iki tane string olduğu açıktır: MSDOS5.0 ve FAT32. Her ikisi de 0 sektöründe yoktu.

Sürücüyü Windows'ta FAT32'ye hızlı bir şekilde biçimlendirmeyi denedikten ve hızlı şekilde biçimlendirmeyi denedikten sonra, kesim 0 yukarıda açıklanandan farklı yapılara sahip kaldı. Windows için mkisofs'u kullandıktan ve ISO'yu PowerISO kullanarak USB Flash sürücüsüne yazdıktan sonra tekrar hızlıca biçimlendirmeye çalıştığımda, sektörün yapısı nihayet yukarıda tarif edilene dönüştü.

Benim sorum: Neden değişti? Ve bunu yeni USB flash sürücüler için nasıl çoğaltabilirim?

Düzenle: Sektöre, projemin web sayfasında açıklanan yapıyla aynı olması gerekiyor.


Sektör 0 diskin bölümleme tablosunu içerir. Özellikle taşınabilir cihazlarda hala çoğunlukla MBR var. Linux FAT32 sürücüsüne bakmak isteyebilirsiniz. Bu soru muhtemelen daha iyi Yığın Taşması Bu arada, +
Daniel B

"USB aleti" Belirsiz. Tarafından "USB sürücüsü" Muhtemelen bir USB HDD yerine bir USB Flash sürücüsü (bir dosya sistemi önyükleme sektörü yerine her zaman ilk MBR olan MBR) demektir. Flash sürücü çağrılmamalı "disk" . Linux her zaman bir HDD gibi bir USB Flash sürücüsüne davranır. Windows, bir USB Flash sürücüsüne bir HDD gibi davranabilir, ancak genellikle bunu yalnızca bir bölüm gibi biçimlendirir, yani sektör 0'da MBR yok ve sektör 0'dan başlayan dosya sistemini yükler. Ayrıca ISO dosya sistemi bir HDD için doğru değil veya Flaş sürücü.
sawdust

1
Bu doğru değil, @ talaş. Windows ayrıca USB "çıkarılabilir" sürücülerinde bir bölüm tablosuna ihtiyaç duyar. Gibi, gerçek dosya sistemi asla 0 sektöründen başlar. could Yine de bunu yap.
Daniel B

@DanielB - "Bu doğru değil" - OP kadar belirsizsin. Doğru olmayan nedir, yazdığım her şey mi? Bir USB-SATA adaptörü ile bağlanmış bir HDD "USB" çıkarılabilir "sürücü" ?
sawdust

@sawdust Bu konuda belirsiz bir şey yok. Çünkü bilirsin, bağlam denen bir şey var. // Şaşırtıcı bir şekilde, Windows gerçekten bölümlenmemiş cihazları desteklemektedir, ancak bu kesinlikle standart bir durum değildir. Tabii ki sadece üzerinde ne olduğunu görmek için yeni bir sürücü almayacağım, ama iddiaya girerim bir bölüm olacak. Çıkarılabilir sürücü, çıkarılabilir bit setine sahip bir sürücüdür. Ama sen bunu zaten biliyorsun.
Daniel B

Yanıtlar:


1

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

  1. 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.

  2. 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). enter image description here

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ığı.


Cevabınız için çok teşekkür ederim. 1) Evet, bir USB Flash sürücüsü demek istiyorum. 2) HxD'de (Windows için Onaltılık bir editör) Flash sürücümü "Ekstralar" & gt; Msgstr "Diski aç ...". "Fiziksel diskler" altında görünür ve "Çıkarılabilir Disk 1" olarak etiketlenmiştir. Windows'ta Hızlı Format veya normal Format kullandınız mı? Teşekkür ederim.
Michiel Pater

1
Msgstr "" "Windows'ta Hızlı Format mı yoksa normal Format mı kullandınız?" - Çabuk, ama bunun bir fark yaratacağından şüpheliyim. Sektörlerin sıfırlanması daha önemli olabilir.
sawdust

Bir Flash sürücüden bahsettiğim konusunda daha net olmak için sorumu güncelledim. Aynı sonucu Windows'ta sektör 0'ı sıfırlayarak başarabileceğimi mi düşünüyorsunuz? Yoksa tüm sektörleri sıfırlamak zorunda mıyım? Emin değilim, fakat doğru hatırlıyorsam, sektör 0'ı da bir kez sıfırlamayı denedim. Bir MBR ile bir Dosya Sistemi önyükleme sektörü arasındaki farkı doğru anladığımdan emin değilim. Teşekkür ederim.
Michiel Pater

"Yoksa tüm sektörleri sıfırlamak zorunda mıyım?" Tüm sektörler değil, en azından ilk “iz”. Kullanırken dd ile komut count= belirtici olarak, ilk 64 sektörü belirtmek, yalnızca bir sektörü belirtmek kadar kolaydır. Windows PC'de, sektörleri sıfırlamak için Western Digital veya Seagate yardımcı programı CD'sini kullanırdım. Şimdi, eğer gerekliyse, bir USB Flash sürücüye yüklenen bir Linux LiveCD ile yeniden başlatıyorum. Ayrıca düzenlenmiş cevaba bakınız.
sawdust
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.