Olağandışı USB dosya sistemi davranışı


0

Başlamak için linux kullanıyorum ve USB'lerimden birinde oldukça ilginç bir şey buldum. Uzun zaman önce, hem FAT32, hem de 8 gb'lik bir parça (Toplamda 16 gb) USB'de yeni bir bölme tablosu hazırladım - Birine Linux linux yükledim ve diğerini depolama için kullandım.

Böylece bir gün yeni bir formata temiz sildim ve üzerine dosya yazmayı denedim. Doğru geldiği yaklaşık 15.2 GB idare edebileceğini söyledi.

Yaklaşık 14GB veri aktarmaya çalıştım ve yazmakta zorlandı - USB daha fazla olduğunu söylese de her zaman yeterli yer olmadığını söyledi.

Elbette programcı içgüdülerim devreye giriyor ve usb'i yeniden yerleştiriyorum ve uğraştığım bölüm boyutunu bulmaya çalışmak için hızlı bir piton yapıştırmaya başlıyorum.

from collections import namedtuple
def disk_usage(path):
  """Return disk usage statistics about the given path.

  Returned valus is a named tuple with attributes 'total', 'used' and
  'free', which are the amount of total, used and free space, in bytes.
  """
  st = statvfs(path)
  free = st.f_bavail * st.f_frsize
  total = st.f_blocks * st.f_frsize
  used = (st.f_blocks - st.f_bfree) * st.f_frsize
  return namedtuple('usage', 'total used free')(total, used, free)

(Yığın taşmasında bulundu)

Sürpriz, sürpriz - 8GB veri ile çalışıyorum. sdb1 O zaman sdbkendi montajım fikrine sahiptim.

Ne bulduğumu tahmin et.

Salt okunur bir ISO linux buldum, tüm dosyaları hala orada.

Böylece içgüdüsel olarak; Denedim rm -rf *ile, sonra sudo. Hiçbiri işe yaramadı, ben de mülkiyeti değiştirmeyi denedim chown, Bu işe yaradı. Sonra okuduğum ve yazabileceğim yeni izinler vermeye çalıştım chmod. Sürücüyü yeniden biçimlendirmeyi bile denemiş olsa bile, tabii ki yeniden biçimlendirdi - Fakat dosyalar hala orada. Bu yüzden birkaç sorum var umarım hepimiz nasıl cevap vereceğimizi bulabiliriz.

1) Etkileri nasıl tersine çevirebilir ve USB'yi tam 16 / 15GB'a tekrar tek bir bölüme geri gönderebilir?

2) Bu prosedür tekrar yapılabilirse - Bu "salt okunur" sistem çalıştırılabilir mi?

3) Bölme tablolarının üzerine yazılması gerektiğinden, dosyalar neden orada?


Özellikle büyük dosyalar yazmaya çalışıyor musunuz? Fat32 için maksimum dosya boyutu 4 GB'dir.
Mokubai

Hayır, büyük dosyalar yazmaya çalışmıyorum, ancak küçük dosyalarda büyük miktarda veri yazmaya çalışıyorum.
Skarlett

1
Bölüm yöneticiniz ne diyor? ddYazmak için tüm anahtar içeriği silmeye çalıştınız /dev/sdbmı?
xenoid

Yanıtlar:


1

Sorunuz belirli anahtar detaylarda% 100 net değil; ancak, hem diski bölümlendirmenin hem de yeni bir dosya sistemi oluşturmanın (diski "biçimlendirme"), diskteki verilerin çoğunun bozulmamış, tek tek dosyalara herhangi bir şekilde erişilemeyen " ayrılmamış" bıraktığını bilmelisiniz . Sektör bazında bir disk ararsanız, eski dosyaları disk bölümlendirme veya dosya sistemi oluşturma işleminden önceki dosyaları kurtarabilirsiniz. PhotoRec gibi araçlar eski dosyaların kurtarılmasını sağlamak için bu gerçeğe dayanmaktadır. Bu, hem geleneksel dönen disk ortamı hem de elektronik ortam (USB flash sürücüler ve SSD'ler) için geçerlidir, ancak bir SSD'de TRIM özelliklerini etkinleştirirseniz, SSD veri kurtarma işlemini zorlaştıran sektörleri yeniden eşleyebilir ve silebilir.

İlgili bölüm tablosu türlerine bağlı olarak (MBR, GPT veya çoğu Linux dağıtım kurucusu tarafından kullanılan Frankenstein'ın canavar melezi biçimi .iso), söz konusu dosya sistemleri ve diske başka ne yazıldığını görebilirsiniz. monte edebilmek için eski dosya sistemi; Bununla birlikte, daha eski bir dosya sistemindeki verilerin bir kısmı imha edilecektir.

Benim şüphe USB sürücü gayet olumlu ve sadece bozulmamış (iki eşit parçaya böler diski) orijinal bölüm tablosunu bıraktım olmasıdır. Sen incelemek ve ne gibi bölümleme yazılımı ile bölümleme tablosunu değiştirebilir - tipik GParted, parted, fdisk, veya gdisk, diğerleri olmasına rağmen, çoğu Linux dağıtımında da. Bu araçların hiçbirinden çıktı göstermediğinizden, diskin şu anki durumunun ne olduğundan emin olamıyorum.


Normal bölümlü komutlarımın hiçbir etkisi olmadı, ben de sürücüyü sıfıra bıraktım ve bu işe yaradı.
Skarlett

-1

Bu yüzden tüm sorularımdan emin değilim, ama işte en iyi vuruşum.

  • İlk olarak, etkileri tersine çevirmek için basit dd if=/dev/zero of=sdX
  • İkincisi ... Bunun neden olduğu hakkında hiçbir fikrim yok.
  • Üçüncüsü, evet, hala MBR'dan çalıştırılabilir.

Bölüm tablosunu aşağıdaki komutlarla yeniden biçimlendirmek, dosyaların sdX'te silinmesini etkilemez

dd if=/dev/zero of=/dev/sdX bs=512 count=1

parted /dev/sdX mktable msdos

parted /dev/sdX mkpart primary partition_type 1 100%

wipefs -a /dev/sdX --force

USB belleğin tamamını silmek, eski hassas verilerin kurtarılamayacağından emin olmak istemediği sürece bir anlam ifade etmiyor. Aslında, bu kötü bir fikir çünkü çubuğun ömrünü bir miktar azaltacak, ancak gereksiz yere. İhtiyacı olan yeni bir bölüm tablosu, diğer cevaba bakınız.
dirkt

Komutlarda, eskiden işe yaramayan usb'i yeniden biçimlendirmek için kullandım.
Skarlett
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.