- Konum
- BERTUNA
-
- Üyelik Tarihi
- 2 Haz 2020
-
- Mesajlar
- 5,352
-
- MFC Puanı
- 16,350
ÖnSöz
Bilginin taşınmasında oldukça kolaylık sağlayan USB Flash diskler bazen bilgisayar tarafından tanınmayabilirler. Sisteme taktığınızda, otomatik olarak bulunup kullanıma girmesi gereken cihazlar, bir takım hatalar nedeniyle kullanılamaz hale gelmiş olabilir. Bu yazıda, Linux kullanıcılarının, USB Onarma için kullanabilecekleri 2 yöntemden bahsedeceğiz.
Bu çıktıda görüldüğü gibi, bizim üzerinde çalışacağımız cihaz sdb1 olarak adlandırılmış. Yazının devamında anlatılacak yöntemlerde bu ifade kullanılacaktır.
Komut çıktısında görüldüğü gibi sdb1 USB Onarma yapılmak istenen cihazda, Dirty bit , yani "bilgisayardan hatalı çıkarmadan kaynaklı problem" tespit edilmiştir. Bunun sonucunda 1) Remove dirty Bit ve 2)No action seçenekleri kullanıcıya sorulmaktadır. 1 Numaralı seçeneği kullanarak problemi düzeltebilirsiniz.
if=/dev/zero : input file, yani verinin okunacağı adresi belirtir. Burada veri zero dosyasından okunmaktadır. /dev/zero Linux tarafından kullanılan özel bir cihaz türüdür. İçerisinden zero değerler okunur ve hedefe yani of ile tanımlanan alana yazılır.
of=/dev/sdb : output file, if=/dev/zero parametresi ile okunan veriler, burada belirtilen hedefe (/dev/sdb ) yazdırılır.
sudo mkfs.msdos -f 32 /dev/sdb1
sudo mkfs.ext4 -f /dev/sdb1
sudo mkfs.ntfs -f /dev/sdb1
Bilginin taşınmasında oldukça kolaylık sağlayan USB Flash diskler bazen bilgisayar tarafından tanınmayabilirler. Sisteme taktığınızda, otomatik olarak bulunup kullanıma girmesi gereken cihazlar, bir takım hatalar nedeniyle kullanılamaz hale gelmiş olabilir. Bu yazıda, Linux kullanıcılarının, USB Onarma için kullanabilecekleri 2 yöntemden bahsedeceğiz.
Önemli: Burada anlatılan yöntemlerden ikincisi, diskinizdeki verileri silmektedir. USB Onarma işlemi yapılacak diskte önemli verileriniz varsa, öncelikle Photorec ve Testdik uygulamalarıyla veri kurtarma işlemi yapmanızı tavsiye ediyoruz.
Hazırlık
USB onarma işlemini yapacağınız cihazınızı bilgisayarınıza taktınız. Sistem tarafından USB cihaza bir disk ismi ve numarası verilir. Bu ifadeyi öncelikle bilmemiz gerekmektedir. Yanlış bir ifade kullanırsanız, istenmeyen sonuçlar ortaya çıkabilir. Komut satırından lsblk komutunu verin. Tüm disklerin isimleri listelenecektir.
Bash:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 55,9G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda3 8:3 0 195,3G 0 part
├─sda4 8:4 0 339,5G 0 part
├─sda5 8:5 0 326G 0 part /home
└─sda6 8:6 0 14,9G 0 part
sdb 8:16 1 14,5G 0 disk
└─sdb1 8:17 1 14,5G 0 part /media/umut/YENI BIRIM
sr0 11:0 1 1024M 0 rom
Bu çıktıda görüldüğü gibi, bizim üzerinde çalışacağımız cihaz sdb1 olarak adlandırılmış. Yazının devamında anlatılacak yöntemlerde bu ifade kullanılacaktır.
1.Yöntem: Bozuk Sektör ve Bit Değerlerini Temizleme
Bazen USB cihazınızın bir takım sektörlerindeki veriler bozulur. Bu bozuk değerler okuma hatasına yol açar. Özellikle doğru şekilde bilgisayardan ayrılmayan cihazlarda bu problem yaşanmaktadır. USB onarma ihtiyacı olan cihazınızda ilk önce bu ihtimali deneyin. Aşağıdaki örnekte sudo fsck /dev/sdb1 komutu çalıştırılmış ve fsck aracı kullanılarak sdb1 cihazının dosya sistemi kontrol edilmiştir. Siz komut içerisinde sdb1 yerine kendi sisteminizin verdiği adı lsblk komutuyla tespit edip kullanmalısınız.
Bash:
sudo fsck /dev/sdb1
fsck from util-linux 2.27.1
fsck.fat 3.0.28 (2015-05-16)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Perform changes ? (y/n) y
/dev/sdb1: 1942 files, 699119/1892224 clusters
Komut çıktısında görüldüğü gibi sdb1 USB Onarma yapılmak istenen cihazda, Dirty bit , yani "bilgisayardan hatalı çıkarmadan kaynaklı problem" tespit edilmiştir. Bunun sonucunda 1) Remove dirty Bit ve 2)No action seçenekleri kullanıcıya sorulmaktadır. 1 Numaralı seçeneği kullanarak problemi düzeltebilirsiniz.
2.Yöntem: Diski Formatlama
Bazen, 1.Yöntemde anlatılan fsck komutu ile USB Onarma işlemi işe yaramaz. Diskin tamamını formatlamanız gerekebilir. Bunun için kullanacağınız en uygun araç dd komutudur. Aşağıdaki komut örneğinde, diskimizin tüm veri bitlerinin üzerine zero yani 0 değeri yazılarak temizlenmektedir. Biz komutta sdb ifadesini kullandık. Siz kendi cihazınızın adını, sonundaki rakam olmadan yazmalısınız.
Bash:
sudo dd if=/dev/zero of=/dev/sdb
if=/dev/zero : input file, yani verinin okunacağı adresi belirtir. Burada veri zero dosyasından okunmaktadır. /dev/zero Linux tarafından kullanılan özel bir cihaz türüdür. İçerisinden zero değerler okunur ve hedefe yani of ile tanımlanan alana yazılır.
of=/dev/sdb : output file, if=/dev/zero parametresi ile okunan veriler, burada belirtilen hedefe (/dev/sdb ) yazdırılır.
Yeni Dosya Sistemini Oluşturma
Yukarıda gerçekleştirdiğimiz, tüm diske sıfır değerleri yazdırma işleminden sonra diskin yeni dosya sistemini oluşturmamız gerekiyor. Diskimizin hangi dosya sistemine sahip olmasını istiyorsak, ona göre aşağıdaki komutlardan bir tanesini seçerek uyguluyoruz.Fat32
Oluşturacağınız dosya sistemi hem Windows, hem Linux İşletim sistemleri tarafından tanınır.sudo mkfs.msdos -f 32 /dev/sdb1
Ext4
Oluşturacağınız dosya sistemi Linux işletim sistemleri tarafından tanınır. Windows İşletim Sistemi kullanan cihazlar tanımaz, okuyamaz.sudo mkfs.ext4 -f /dev/sdb1
NTFS
Oluşturacağınız dosya sistemi hem Windows, hem Linux İşletim sistemleri tarafından tanınır.sudo mkfs.ntfs -f /dev/sdb1
Kaynak :
Bash:
https://siberoloji.github.io/