Windows Bölümlerini okumak ve yazmak Windows Bölümlerini okumak ve yazmak Linux üzerinden windows partitionlarını okumak ve yazmak için yapılması gerekenler Linux dünya genelinde giderek popülerleştiği gibi, ülkemizde de daha çok ilgi çekmeye başladı. Pardus, Ubuntu, SuSE, Fedora gibi dağıtımlar, Linux kullanmanın o kadar da zor olmadığını gösteriyor. İleri düzey bilgisi olmayan kullanıcılar bile çalıştırılabilir (live) CD'ler sayesinde Linux tecrübesi kazanabiliyor. Açık yazılım ve Linux trendinin yükseldiği bir gerçek... Günümüzde Linux yükleyen ev kullanıcılarının büyük çoğunluğu, Windows'la birlikte çalıştırabileceği bir şekilde kurulum yapmayı tercih ediyor. Bilgisayar başlarken hangi işletim sisteminin devreye girmesini istediğinizi, Grub ya da LiLO programlarının "dualboot" (yani ikili açılış) imkanıyla seçebiliyorsunuz. Dilediğiniz zaman Windows'la çalışmak, dilediğiniz zamansa Linux'a dönmek tamamen size bağlı. Farklı işletim sistemleri kurup, dual-boot ile istediğinizi açmak uzun süredir var olan bir özellik. Ancak dual-boot ile Linux kullananların bir takım sıkıntıları var; bunların başında da dosya taşımak geliyor. Windows ailesinde bulunan işletim sistemleri (XP, 2000, ME, 98, vs...) FAT32 ya da NTFS dosya sistemi kullanmaktadır. Linux dağıtımlarıysa seçenekleriniz daha fazladır; ext2, ext3, ReiserFS, jfs, xfs ve daha birçok farklı dosya sistemini kullanabilirsiniz. Elbette bunca seçenek arasında, her iki işletim sisteminde de, ön plana çıkanlar olmuştur. Linux tarafında en popüler dosya sistemleri, ext2 ve ext3 formatındadır. ext3 dosya sistemi, ext2'nin geliştirilmiş hâlidir ve journaling özelliğine sahiptir. Journalling desteği olan dosya sistemleri, disk üzerinde gerçekleştirdiğiniz işlemleri kayıt altında tutar. Gerek ext2, gerekse ext3'ten çeşitli yönlerle daha yetenekli dosya sistemleri elbette mevcut fakat yaygınlık konusunda henüz o kadar başarılı değiller. Konunun Windows tarafına gelirsek; ilerleyen teknolojiye paralel FAT32 gözden düşüp, NTFS baskın konuma gelmiştir. Bu durumun arkasında basit teknolojik nedenler yatar. FAT32 sistemi, maksimum 32 GB'lik diskleri destekleyebilir ve bu rakam günümüz sabit disklerine bakınca oldukça komik denecek kadar yetersiz. Eğer FAT32 ile yetinmek zorunda kalsaydık, 200 GB'lik bir diskten 7 farklı sürücü (C harfinden, I'ye kadar) yaratmak gerekirdi. Bunun ne kadar can sıkıcı olacağını düşünmek bile yeter... Ayrıca NTFS dosya sistemi, dosya hakları ve güvenlik konusunda FAT32'nin sahip olmadığı özelliklere de sahiptir. Windows 2000'den başlayarak, XP ile süren süreçte FAT32 yavaş yavaş unutulmuştur. Windows tarafındaki bu dönüşüm, Linux kullanıcılarına sıkıntı yaratmıştır. Linux, FAT32 dosya sistemini son derece rahat kullanabilirken, bu yeteneğini NTFS'te sürdüremez. Şayet Windows işletim sisteminizi FAT32 ile formatlanmış bir disk üzerine kurmuşsanız, Linux'tan bu sürücüleri okuyabilir, dosyaları değiştirebilir, yeni dosyalar yaratabilir ya da dosyaları bir yerden, başka bir yere taşıyabilirsiniz. Kısacası tam olarak okuma ve yazma hakkınız vardır. Ancak NTFS'te böyle bir imkanınız yok. Linux kullanırken, NTFS ile formatlanmış bir sürücüyle bütün yapabildiğiniz, onu okumaktan ibaret. NTFS diski okumanıza rağmen, içine hiçbir şey yazamazsınız. Bir işletim sisteminde oluşturduğunuz dosyayı, diğer işletim sistemine ne yazık ki taşıyamazsınız. Windows açısından bakarsak durum daha da beter... Windows ile Linux sürücülerinizi bırakın okumayı; görmeniz bile mümkün değildir. Ancak zamanla birlikte, bu sorunların üstesinden gelmeye yönelik çeşitli araçlar üretildi. Linux-NTFS ve NTFS-3G Projeleri Windows'tan vaz geçemeyen ancak Linux kullanmak isteyen kullanıcılar artık daha şanslı. Eskiden NTFS'e yazmamız mümkün değildi. Bu sorunu çözmeye yönelik ilk günlerde ortaya çıkan projeler de, pek başarılı sayılmazdı. Fakat geçen süre, oldukça başarılı çalışmaları ortaya çıkardı. Artık NTFS'e yazmak eskisi gibi imkansız değil! NTFS disk sistemine yazmak amacıyla, birkaç yıl önce Captive isimli bir projeyi denemiş ve sonuçlarından memnun kalmamıştım. Son zamanlarda bu proje ne kadar ilerledi bilmiyorum; fakat alternatif olarak sunulan Linux-ntfs projesi beni oldukça etkiledi. Projenin geçmişine bakarsak, bayağı eskiye gitmemiz gerekir. 1995 yılında Martin von Löwis isimli bir öğrenci, Linux için NTFS sürücüsünü ilk kez yazıyor. Linux çekirdeğine (sürüm: 2.1.74) 1997 yılında bu sürücü ekleniyor. Martin'e çalışmasına yardım eden birçok isim var ve bunlardan birisi de Anton Altaparmakov isimli bir yazılım mühendisi... 2000 yılında Anton Altaparmakov LinuxNTFS isimli bir proje başlatıyor ve 2001 yılında da sıfırdan başlayarak Linux için yeni bir NTFS sürücüsü yazıyor. Hazırlanan bu yeni sürücü, Nisan 2002'de Linux çekirdeğine (sürüm: 2.5.11) resmi olarak ekleniyor. Anton, hâlen geliştirdiği NTFS sürücünün baş yazılımcısı ve Linux-NTFS projesinin yöneticisi. İşte Linux-NTFS projesi böyle bir temele dayanıyor. Linux-NTFS, hemen hemen her Linux dağıtımında çalışıyor. Ancak farklı dağıtımlar için farklı kurulum yöntemleri bulunuyor. Linuxwww.dersmax.com Windows Bölümlerini okumak ve yazmak 1 Windows Bölümlerini okumak ve yazmak NTFS'i nasıl kuracağınızı, NTFS yazma desteğine nasıl erişebileceğinizi anlatan birçok site mevcut. En başta proje resmi sitesinden (http://www.linux-ntfs.org) yararlanabilirsiniz. Forum bölümünde kafanıza takılan birçok konuda direkt proje geliştiricilerinden destek alabiliyorsunuz. Şimdi gelelim, NTFS-3G projesine... Linux-NTFS projesinin çalışanlarından Szabolcs Szakacsits Temmuz 2006 tarihinde, yeni bir proje başlatıyor. Bu yeni açılım, NTFS diske yazma/okuma konusunda daha iyi performans, daha az sorun gibi iddialarla ortaya çıkıyor. Vaat ettiklerini yerine getirdiğini söyleyebilirim. Üstelik LinuxNTFS'e göre daha kolay bir kurulumu var. Farklı dağıtımlar için nasıl yükleyebileceğinizi proje sitesinin (http://www.ntfs-3g.org) ana sayfasından bulabiliyorsunuz ve yapmanız gerekenler 3-4 adımdan fazla olmuyor. Verilen linklerden, basit bir dille anlatılmış kurulum aşamalarını siz de görebilirsiniz. (Örneğin Ubuntu için http://wiki.ubuntu.com/ntfs-3g adresi verilmiş.) Önemli bir not düşeyim; Ubuntu 7.10 sürümünden itibaren, NTFS-3G desteği ile geliyor. Mandriva gibi diğer dağıtımlarda da bu destek bulunuyor. Yani güncel bir dağıtımınız varsa, NTFS-3G yüklemenize bile gerek olmayabilir. NTFS Yazma/Okuma Başarısı NTFS disklerden veri okumak uzun süredir başarıyla yapılabilen bir şey. Bu projeler için de farklı bir durum söz konusu değil; okuma işlemi mükemmel denecek kadar iyi! Ancak sorun verinin yazılmasında... NTFS disklere yazabilmek için Captive, Linux-NTFS, NTFS-3G ve bir iki çalışma daha bulunuyor. Captive, pek başarılı değildi; belki şimdilerde durum değişmiştir. Linux-NTFS gelince, oldukça iyi olduğu söylenebilir. Fakat zaman zaman ciddi sorunlar çıkabiliyor. Örneğin aynı anda toplam boyutu 1-2 GB olan 8-9 dosya kopyalamaya çalışırsanız, NTFS disk yapısında bozulma olabiliyor. Bu tarz bazı denemelerimde, boş klasörler içinde sonsuz boş klasörle karşılaştım. Klasör içine girdikçe aynı isimde bir klasör daha görüyordunuz ve bu siz pes edene ya da Windows adres adının çok uzun olduğunu söyleyene değin sürüyordu. İşin kötü tarafı, zaman zaman Windows Disk taraması (scandisk) bu sorunları çözebilse de, her zaman çözemiyordu ve bozuk bir disk yapısıyla kalıyordunuz. Bu dediklerim her zaman yaşanmıyor; az sayıda yazma işlemi yaptığınız sürece bu tarz bir sıkıntı yaşamazsınız. Ama ortaya böyle bir problem çıkarsa ve bozuk bir disk yapısına benim gibi tahammül edemiyorsanız, bu durum diski formatlamaya kadar gidebilir. NTFS-3G ise emsallerinden çok daha başarılı! Linux-NTFS'te yaptığım testleri aynen NTFS-3G'de de sürdürdüm ve tek bir sorun çıkmadı. Ancak çok sayıda dosya yazdırırsanız, fark edilir bir yavaşlık sizi bekliyor. Elbette ki buna katlanmak, bozuk bir disk yapısıyla uğraşmaktan daha iyidir. Yavaş bile olsa, disk tutarlılığını etkileyecek bir durum ortaya çıkmıyor. Kısacası yavaş yazmaktan rahatsız olmadığınız sürece, bir sorun yok. Dosyaları silme işlemiyse oldukça hızlı. Neden böyle diye merak edebilirsiniz; yani neden NTFS disklere yazmak başlı başına bir sorun... Yanıt çok basit, Microsoft'un kapalı yazılım politikaları. Microsoft NTFS'in iç yapısıyla ilgili tek bir doküman yayınlamıyor ve her şey "Reverse Engineering" ile çözülüyor. Bu o kadar zahmetli bir süreç ki, tahammül edebilmek için peygamber sabrı lâzım. Önce NTFS formatlı sabit diske bir HEX editörle bakılıyor. (Hex editörler, programları, dosyaları vs... onaltılık sayı sisteminde göstermeye yarar. Karşınıza A3 2F 2E... şeklinde yığınla rakam çıkartırlar.) Ardından NTFS disk üzerinde, dosya yaratma gibi bir işlem gerçekleştiriliyor. Diske tekrar Hex editörle bakılıyor ve ortaya çıkan farklar, sınıflandırılıp, dökümante ediliyor. Bu işlem bir kaşıkla, dağ delmeye benzer ve sonsuza kadar sürer. İşte bu güç koşullara rağmen, bu projeler önemli oranda başarılı. Yine de kat etmeleri gereken yollar var. Türkçe Karakter Problemi NTFS-3G ile ilgili karşılaştığım en önemli problem, Türkçe isim verdiğiniz klasörleri (Örneğin "Klasör_Adı" gibi) göremiyor oluşunuz. Ufak bir ayarla bunun da üstesinden gelebilirsiniz. Terminal'i açın aşağıdaki komutu root olarak verin: root@desktop:~# localedef -i tr_TR -f UTF-8 tr_TR.utf8 Bu komutu girdikten sonra, "locale -a" komutunu verin. Eğer çıkan sonucun en alt kısmında, "tr_TR.utf8" yazıyorsa, işlemi doğru yaptınız demektir. Daha sonra, NTFS biçimli disklerinizi /etc/fstab dosyasına, aşağıdaki gibi kaydedin. (Elbette siz /dev/sda1 yazmayabilirsiniz; sabit diskinize göre bu değer değişecektir.) # /etc/fstab: static file system information. # # <file system> <mount point> <type> ... /dev/sda1 /media/Windows ntfs-3g ... <options> defaults,locale=tr_TR.utf8 <dump> 0 <pass> 0 Daha üst sürümlerinde, bu problemin aşılacağını düşünüyorum. Yine de daha fazla bilgi edinmek isterseniz; NTFS-3G'nin destek adresine bakabilirsiniz. IFS Sürücüleri Şimdiye kadar Linux üzerinden Windows NTFS sürücülerine erişimi inceledik. Bunun farklı bir boyutu da var: Windows üzerinden Linux disklerine erişim... Windows işletim sisteminin normalde desteklemediği dosya sistemlerini, sonradan yüklenen araçlarla www.dersmax.com Windows Bölümlerini okumak ve yazmak 2 Windows Bölümlerini okumak ve yazmak desteklemek mümkündür. Bu tarz araçlara, IFS (Installable File System – Kurulabilir Dosya Sistemi) denir. Windows işletim sistemine ext2, ext3 gibi dosya sistemlerinin desteğini vermek nispeten daha kolaydır. Çünkü bu yapılar, açık kaynak kodla sunulur ve neyin ne olduğunu bulmaca gibi çözmeniz gerekmez. Bu yüzden Windows için ext2/ext3 desteği sunan birçok programla karşılaşabilirsiniz. Benim denediğim en iyi program; Ext2IFS isimli bir projeydi. Windows NT4.0/2000/XP ya da 2003 kullanıyorsanız, Ext2IFS'yi kullanabilirsiniz. Proje sitesinden (http://www.fs-driver.org) 400 KB civarındaki kurulum dosyasını indirin ve özel bir şey yapmadan kurulumu gerçekleştirin. İşlem o kadar basit ki, sadece "İleri" tuşuna basarak bile yükleme işlemini tamamlayabilirsiniz. Daha sonra bilgisayarınızı yeniden başlatmanız istenecektir. İşletim sisteminiz yeniden açıldığında, Bilgisayarım simgesine tıklayın. Eğer Linux dağıtımınızda, ext2 dosya sistemi kullanıyorsanız, bunlar otomatik olarak Windows'a eklenecektir. Eski sürücülerinize ilaveten, yeni sürücüleri, Bilgisayarım altında hemen görürsünüz. ext3 disklerinizi ise sizin eklemeniz gerekmektedir. Merak etmeyin, bu da oldukça kolay bir işlem... ext3 Diskleri Windows'a Eklemek ext2ifs'yi kurduktan sonra, Başlat-> Ayarlar-> Denetim Masası yolunu izleyerek Denetim Masası'nı açın. "IFS Drivers" ikonunu göreceksiniz, buna çift tıklayın. Karşınıza çıkacak ekran, bilgisayarınızda bulunan diskleri ve bu diskler içindeki dosya sistemlerini, işletim sistemlerine göre göstermektedir. Buradan istediğiniz bir ext3 sürücüsüne, dilediğiniz bir sürücü harfi (örneğin I:) verebilirsiniz. Sürücüyü temsil etmesi için bir harf seçtikten sonra biraz beklemeniz gerekmektedir. Bu bekleme esnasında, ext3 dosya sisteminde bulunan dosyalar, Windows'tan erişim için hazırlanır. Yoğun bir disk trafiği yaşanıp, bittikten sonra, Bilgisayarım simgesine tıklayın. Eklemiş olduğunuz ext3 sürücü, karşınıza çıkacaktır. www.dersmax.com Windows Bölümlerini okumak ve yazmak 3 Windows Bölümlerini okumak ve yazmak Artık ext3 diskinizi, Windows'ta, diskinizi dilediğiniz gibi kullanabilirsiniz. Sürücü harfini ileride değiştirmek isterseniz, aynı işlemleri tekrar etmeniz gerekir. ext2 dosya sistemleri için bu işlemleri yapmanız gerekmez; otomatik olarak Windows diskleri ekler. ext2/3 Yazma/Okuma Başarısı Ext2IFS oldukça başarılı bir program. Hatta o kadar ki; ext2 dosya sistemini kullandığınızın farkına bile varmıyorsunuz. Yazma ve okuma işlemleri NTFS'e yakın derecede hızlı ve iyi. Üstelik ext2/3 sürücülerinizi kullanırken, hiçbir problem de çıkmıyor. Çıkan en büyük problem, karakter kodlamasıyla ilgili. Linux, UTF-8 kullanıyor ve bu nedenle dosya/klasör adları Windows'ta bozuk gözükebiliyor. Bu durum İngilizce karakterler için olmasa da, Türkçe karakter kullanan dosya ve klasör adlarında karşınıza çıkacaktır. Dosya isimlerindeki bozuk karakterler biraz can sıkıcı, ama çalışmanızı etkilemeyecektir. Elbette ext2/3 ve NTFS dosya sistemlerinin birbirinden farklı olduğunu unutmamak gerekir. ext2IFS ile, ext2 diskleri, NTFS gibi kullanabiliyor olmamıza karşın, bazı özellikler bulunmuyor. Örneğin NTFS disklerde var olan güvenlik atamalarını burada yapamıyoruz. Ayrıca disk birleştirici programını ext2/3 disklerde kullanamıyoruz. Kısacası ext2ifs projesi, ext2/3 dosya formatındaki disklerin okunması ve yazması konusunda harika bir çözüm olsa da, NTFS disklerinizin yerini alması için üretilmemiş. Yani sistemdeki bütün diskleri ext2 formata çevirip, daha sonra Windows'tan çalışmak pek uygun değil. Hangi Yolu Seçelim? İki işletim sistemi arasında dosya transferine farklı açılardan baktık. Sonuç olarak bir işletim sisteminden diğerine dosya transfer etmek istiyorsak, ne yapmamız gerektiğine gelelim: Linux üzerinden NTFS disklere yazmak hâlen mükemmel değil; oldukça başarılı ama birçok kullanıcıya yeterli gelmeyecektir. Bu yüzden Windows üzerinden Linux disklere yazma seçeneğine ağırlık vermek yerinde olur. Eğer Linux'tan Windows'a aktaracağınız birkaç küçük dosyadan bahsediyorsak, elbetteki NTFS-3G gibi çözümleri kullanabilirsiniz. Fakat Linux'ta indirdiğiniz 6-7 GB tutarındaki filmlerden, müziklerden ya da benzeri dosyalardan bahsediyorsak, işin rengi değişir. Bunları NTFS disklerinize aktarmanız gerekiyorsa, bilgisayarınızı yeniden başlatıp ext2ifs aracılığıyla kopyalamanız daha akıllıca olacaktır. (Gerçi çıkan yeni sürümlerde, bu sorunların kalacağını hiç sanmıyorum.) Yine de gerek Linux'tan Windows disklerine erişimi, gerekse tam tersini denemenizi tavsiye ederim. Her iki yolu da tecrübe edip, kararınızı ona göre vermeniz, daha uygun olur. Komut satırından mount için örnek mount -t ntfs-3g /dev/sda1 /mnt/windows Bağlanacak dosya sistemlerine ait bilgiler /etc/fstab dosyasında bir tablo halinde tutulur. www.dersmax.com Windows Bölümlerini okumak ve yazmak 4 Windows Bölümlerini okumak ve yazmak fstab içeriğine ulaşmak için gedit /etc/fstab fstab üzerinden sisteme adapte etmek için örnek /dev/sda1 /mnt/windows ntfs-3g defaults 0 0 Kaynak www.cagataycebi.com/linux/write_ntfs/write_ntfs.html , www.ntfs-3g.org/ www.dersmax.com Windows Bölümlerini okumak ve yazmak 5