Linux OS : Windows Bölümlerini okumak ve yazmak

advertisement
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
Download