USB Flash Bellekler ile Çalışmak

Günümüzde taşınabilir depolama aygıtları arasında en sık kullanılanlar USB flash belleklerdir. Belki ikinci sırada SD kartlar gelebilir. Bu depolama ortamları üzerindeki veriler dosya adı verilen mantıksal yapılar ile bir arada tutulur ve organize edilirler. Dizinler ise dosyaları bir arada tutmak için oluşturulmuş mantıksal yapılardır ve tek başlarına bir veri tutamazlar. Dizinler ise dosya sistemi içinde organize edilmişlerdir. Günümüzde farklı firmalar tarafından standartları oluşturulmuş FAT, FAT32, ExFAT, HPFS, NTFS ve EXT gibi çeşitli dosya sistemleri vardır. Linux, dolayısıyla Raspberry Pi bu dosya sistemlerini hemen hepsini destekler. Yani, herhangi bir bilgisayar tarafından oluşturulmuş bir dosya sistemini Raspberry Pi kullanarak okuyup yazabilirsiniz. Bu başlıkta sık kullanılan taşınabilir depolama ortamları üzerinde dosya sistemlerinin nasıl oluşturulduğu ve Raspberry Pi üzerinden nasıl erişim sağlanabileceği hakkındaki bilgileri bulabilirsiniz.

USB flash belleğin dosya sistemini düzenlemek

Gparted[1](GNOME PARTition EDitor) aracı grafik arabirim kullanarak dosya sistemlerini düzenlemek için kullanılabilecek başarılı programlardan biridir. Program Linux, Windows veya MacOS işletim sistemlerinden herhangi birinde çalışabilir. Gparted ile disk bölümü oluşturabilir, yeniden boyutlandırabilir, silebilir, dosya sistemi biçimlendirebilir, kopyalayabilir veya taşıyabilirsiniz. Gparted,fat16 / fat32, ntfs, ext2 / ext3 / ext4, reiserfs / reiser4 gibi birçok popüler dosya sistemini destekler. Programı kurmak için aşağıdaki komutu verin:

Gparted programını çalıştırmak için grafik ortamda bir terminal penceresi açın ve aşağıdaki gibi sudo ile root yetkisi vererek gparted programını çalıştırın:

Gparted programı çalıştığında aşağıdaki gibi bir pencere açılır. Bu pencerede ilk yapılması gereken, işlem yapılacak diskin seçilmesidir. Diski seçmek için pencerenin sağ üst kısmında bulunan açılır listeyi (aygıt listesi) veya GParted menüsündeki Devices seçeneğini kullanabilirsiniz. Raspberry Pi’a herhangi bir harici disk bağlı olmadığında burada sadece işletim sisteminin yüklü olduğu disk gözükür. Bu disk hâlihazırda kullanımda (bağlı/mounted) olduğundan, disk üzerinde herhangi bir işlem yapılmasına izin verilmez.


GParted penceresi

Raspberry Pi’a haricen bir USD disk ya da SD kart bağladığınızda yeni bağladığınız aygıtın listede gözükmesi için “Gparted” menüsünden “Refresh Device”s seçeneğini seçebilir veya Ctrl+R tuşlarına basabilirsiniz. İşlem yapmak istediğiniz diski seçtikten sonra GParted, disk içindeki bölümleri iki şekilde listeler. Birincisi arabirimin üstünde yerleşik olan grafiksel disk bölüm ön izleme panelidir. Burada diskin sahip olduğu bölümler ve boyutları görsel olarak izlenebilirken hemen altında bölümler kapasite ve dosya sistemi türleri ile birlikte satır satır listelenir. Listelenen bu bölümlerden herhangi birisine sağ tıkladığınızda aşağıdaki işlemleri yapabileceğiniz bir menü açılır:

  • fat16 / fat32, ntfs, ext2 / ext3 / ext4, reiserfs / reiser4, hfs / hfs+,  btrfs, linux-swap, lvm2 pv, nilfs2,  udf, ufs, xfs.

New seçeneği ile yeni bir disk bölümü oluşturmak için diskte unallocated yani ayrılmamış olarak tanımlanmış boş bir disk bölümünün olması gerekir. Eğer yoksa mevcut disk bölümlerinden birini silerek de boş alan açabilirsiniz. Disk bölümünü silmek için ilgili bölüme sağ tıklayıp delete seçeneğini verin. Yeni bir disk bölümü oluşturmak için unallocated olarak tanımlanmış bölüme sağ tıklatın ve New seçeneğini seçin. Karşınıza dosya sisteminin boyutu ve biçimi gibi temel özelliklerinin belirlenebileceği aşağıdaki gibi bir arabirim gelecektir. Bu ekranda yeni oluşturulacak disk bölümünün boyutunu New size (MiB) alanına girdikten sonra File system açılır listesinden dosya sistemi türünü seçin Add düğmesine tıklatın. Dilerseniz bu ekranda fareyi kullanarak da yeni boyutu ve yeni bölümün disk üzerindeki pozisyonu ayarlayabilirsiniz. Fare ile bölüm alanının sağında ve solunda bulunan ok işaretlerini tutup sürükleyin.


Gparted yeni bölüm oluşturma penceresi

GParted arabirimi kullanılarak yapılan işlemler “Edit” menüsünden “Apply All Operations” seçeneği tıklanmadığı sürece gerçekten diske uygulanmaz. Yaptığınız tüm silme, oluşturma ve boyutlandırma işlemlerinin uygulanması için bu seçeneğe tıklatmalısınız.

Birden fazla disk bölümü oluşturmak için öncelikle Extended (genişletilmiş) tipli bir kapsayıcı bölüm oluşturmalısınız. Diğer bölümler bu kapsayıcının içerisinde yer alır.

GParted programın diğer bir özelliği ise dosya sistemi kontrol etme özelliğidir. İlgili dosya sistemine sağ tıklattıktan sonra açılan menüden Check seçeneğini seçerek dosya sistemini hatalara ve tutarsızlıklara karşı taratabilir hatalarının otomatik olarak giderilmesini sağlayabilirsiniz.

SD karttan farklı olarak dönen manyetik disk kullanan bir sabit diskiniz varsa çok sık kullandığınız dosyaların (örneğin işletim sisteminin yükleneceği disk bölümünü) yüklü olduğu disk bölümünü, düşük sektör numaralı tarafa yani diskin en dış izine yakın konumlandırırsanız daha yüksek bir erişim hızı elde edersiniz. Diskin dış taraflarında noktasal hız daha yüksek olduğu için daha düşük bir veri erişim süresi elde edilir. Tabi bu tüyo SD kart ya da USB flash bellek gibi rastgele erişimli ortamlarda geçerli değildir, sadece 5400rpm, 7200rpm ve 10000rpm gibi hızlarda dönen mekanik manyetik diskler için geçerlidir. GParted programında hızlı erişim sağlamak istediğiniz bölümleri disk bölüm listesinin en başına taşımalısınız ya da disk bölümü ön izleme penceresine göre en sola konumlandırmalısınız.

İşletim sistemi yüklerken veya yeni disk bölümleri oluştururken faydalı olabilecek bir stratejide birden fazla disk bölümü oluşturulmasıdır. Örneğin işletim sistemini yükleyeceğiniz disk bölümü ile dosyalarınızı yükleyeceğiniz disk bölümlerinin iki ayrı bölüm olması çeşitli avantajlar sağlar. Öncelikle işletim sisteminiz çöktüğünde ve yeniden yüklenmesi gerektiğinde diğer bölümdeki dosyalarınız zarar görmez. İşletim sisteminin bulunduğu disk bölümünü biçimlendirerek diğer bölümdeki dosyalarınızı kullanmaya devam edebilirsiniz. İkinci bir konu da, sıklıkla karşılaşılan bir durum olan; işletim sistemi açılışında dosya sistemi hatalarına karşı disk taraması gerektiğinde ortaya çıkar. Yüksek kapasiteli bir disk bölümünde (kişisel dosyaların da saklandığı tek parça bir disk bölümün kullanıldığı durumlarda) tarama işlemi uzun sürebilir.

Ayrıca işletim sistemi bölümü ile kişisel dosyalarınızın yer aldığı bölümleri ayırdığınızda, işletim sistemin yer aldığı disk bölümünü felaket senaryolarına karşı kolayca yedekleyebilirsiniz. Yedeklediğinizde elde ettiğiniz yedek dosyasının boyutu göreceli olarak daha ufak olacak, yedekten geri alma işlemi de buna göre daha kısa bir zaman alabilecektir.

Dosya sistemlerini Windows üzerinde düzenlemek için kullanılabilecek güzel bir program da “MiniTool Partition Wizard” ‘dır. Programı ücretsiz sürümünü (free) resmi sitesi olan www.minitool.com adresinden indirerek kurabilirsiniz.

USB flash bellek üzerinde disk bölümü oluşturmak

Önceki başlıkta USB aygıt (sda) üzerindeki disk bölümünü (sda1) biçimlendirmiştik. Bu kısımda ise mevcut disk bölümünü silip yeniden oluşturacağız ve ardından biçimlendireceğiz. Bu başlığın bir özelliği de USB flash bellek üzerindeki disk bölümlerini ve boyutlarını kendimizin belirleyecek olmasıdır. Diğer taraftan, dosya sistemindeki hatalardan kaynaklanan biçimlendirilememe sorunlarını Linux’un gücünü kullanarak aşacağız. Flash bellekler çok sık kontrolsüz olarak takılıp çıkarıldıklarından, dosya sistemlerinde veya firmware (öz yazılım)’lerinde sorunlar oluşabilmekte, bu da belleğin salt okunur hale gelmesine veya Windows gibi birçok işletim sisteminde flash belleklerin biçimlendirilememesine neden olabilmektedir.

Bilgi: Firmware konusuna değinmek gerekirse; USB flash belleklerin kendisi ufak bir mikro bilgisayar sistemine benzeyen bir yapıdadırlar. USB flash bellekler, bellek çipi ve MCU (mikrodenetleyici) olmak üzere iki kısımdan oluşur. MCU’da USB protokolünü çözümleyen ve bellek hücrelerini adresleyen bir program çalışır (firmware). Belleği bilgisayara taktığınızda 5v besleme ile ilk olarak bu MCU’da yüklü olan bu program çalışır ve PC ile bellek arasındaki iletişimi sağlayan bir arabirim olarak görev yapar. Bu program, bellek çipinin fiziksel özellikleri ve yapılandırma verilerini de barındırır. İşte bu yapılandırma verileri hasar gördüğünde disk salt okunur duruma veya format atılamaz duruma gelebilir ve bazen de veriler tamamen ulaşılmaz olur. MCU’nun yazılımını (firmware) yeniden yüklemek sorunu çözebilir; fakat öncelikle daha kolay bir yöntem olan diski biçimlendirme işlemini Linux kullanarak gerçekleştirmeyi denemek gerekir. İkinci durumda öncelikle flash belleğin içi açılarak MCU’nun model numarasına bakmalı, Google üzerinden, flashboot.ru veya usdev.ru gibi sitelerden ilgili firmware ve yazma programını edinmek gerekir[2].

USB flash belleği Raspberry Pi’a bağladıktan sonra lsblk ile disk bölümlerini listeleyelim:

Komut çıktısından 14.4GB boyuta sahip (16GB) bir flash belleğin içinde (disk) sadece 60M’lık bir disk bölümü olduğu (part) görülüyor. Öncelikle bu disk bölümünü silelim. Bunun için kullanımı oldukça kolay olan fdisk aracından faydalanacağız. fdisk aracını aşağıdaki şekilde çalıştırdıktan sonra fdisk’in komut satırına ulaşın:

Bu aşamadan sonra dilerseniz m komutunu yazıp enter tuşuna basarak mevcut komutlar ve görevleri hakkında bilgi alabilirsiniz (p ile /dev/sda diski üstündeki bölümleri listeletebilirsiniz). Şimdi 60MB’lık mevcut disk bölümünü silmek için d (delete partition) komutunu verelim.

n komutunu verdikten sonra ilk sorulacak soru bölümün birincil mi yoksa genişletilmiş mi olacağı sorusudur. Diskte sadece bir bölüm yer almasını istediğimizden bu soruya p (primary) cevabını verdik. Daha sonra kaç bölüm oluşturulacağı (birincil bölüm altında en fazla 4 disk bölümü oluşturulabilir) sorusunu 1 olarak yanıtladık. Sonraki iki soru da disk bölümünün hangi sektörden başlayıp biteceği ile ilgilidir, bunlara herhangi bir değer vermeden program tarafından önerilen değerleri (2048, 30277631) kullanmak için enter’a basarak geçtik. Buraya kadar yaptığımız işlemler henüz diske uygulanmamıştır. Oluşturduğumuz bölümlemeyi diske uygulamak için w(write) komutunu verdiğimizde işlem gerçekleştirilecek ve fdisk programı sonlanacaktır:

Disk bölümü oluşturulduktan sonra mkfs.ntfs aracı ile biçimlendirme işlemini aşağıdaki gibi gerçekleştirebilirsiniz:

USB flash bellek üzerindeki disk bölümü biçimlendirmek

Raspberry Pi’ın USB girişlerini kullanarak bir USB flash belleği formatlayabilirsiniz. Özellikle diğer işletim sistemlerinin formatlayamadığı flash bellekleri de formatlayabilmesi açısından önemlidir. USB flash belleğinizi Raspberry Pi’ın USB girişlerinden birisine taktıktan sonra aygıt dosyası adın öğrenmek için lsblk komutu kullanın:

Yukarıdaki komut çıktısında sda aygıt dosyası adıyla temsil edilen 7.6GB’lık bir USB blok aygıtı ve bu aygıtın içinde 7.6GB’lık bir adet disk bölümü görülmektedir. sda1 bölümünün dosya sistemi hakkında bilgi almak için fdisk komutundan faydalanabilirsiniz:

Diskin NTFS biçimli olduğu gözüküyor. Öncelikle disk bölümünü NTFS olarak biçimlendirmek için ntfs-3g paketini yükleyelim:

Şimdi mkfs.ntfs aracılı kullanarak dosya sistemini NTFS olarak biçimleyebiliriz. Dikkatli olun diskteki tüm dosyalar silinecektir.

-f seçeneği biçimlendirme işleminin çabuk (fast/quick) modda yapılmasını sağlar. Diskin tüm sektörlerinin taranarak 0 ile doldurulması için bu seçeneği kullanmayın. Bu seçeneği kullanmadan biçimlendirmek kötü durumdaki veri sektörlerinin (bad sector) tespit edilmesini sağlaması yönünden faydalı olmasının yanında işlem, belleğin boyutuna bağlı olarak zaman alabilir.

Flash bellekte dosya depolamak için kullanılan dosya sistemini belirlemek için birçok seçenek mevcuttur. mkfs komutu tarafından desteklenen dosya sistemleri şunlardır: bfs, ext2, ext4, fat, msdos, vfat, cramfs, ext3, ext4dev, minix ve ntfs. Örneğin bir diski yukarıda olduğu gibi ext4 dosya sistemini kullanarak biçimlendirmek için çalıştırmanız gereken komut aşağıdaki gibidir:

USB flash belleği Linux ortamında bağlamak

Dosya sistemi Windows tarafından oluşturulmuş bir flaş belleği Linux’a bağlamak için bazı paketlerin yüklenmesi gerekir. Belleğin dosya sistemi NTFS veya daha güncel ve gelişmiş bir dosya sistemi olan exFAT olabilir. Bağlama işleminden önce bu paketlerin yüklenmesi gerekir.

Flaş belleği bağlayacağımız dizini /mnt altında oluşturduktan sonra (örn., usbdisk) lsblk komutu ile USB port’una bağladığımız aygıtın adını öğrenelim (bu örnekte /dev/sda1). Daha sonra mount komutu ile dosya sistemini usbdisk dizinine bağlayabiliriz.


[1] Gparted programının resmi sayfası: https://gparted.org/

[2] Firmware yüklemek: https://www.tankado.com/firmware-yukleyerek-yazma-korumali-flash-bellegi-tamir-etmek/

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.