SATA sabit diskini (UDMA'da çalışıyor) Linux'ta PIO moduna değiştiremiyorum


0

PIO modunda çalışmak için SATA 3.5 "sabit disk sürücümde DMA'yı devre dışı bırakmaya çalışıyorum çünkü GNU kurtarma aracıyla hatalı bir diskten bazı kötü sektörleri kurtarmak için

PartedMagic Linux canlı CD kullanıyorum ve onu hdparm ile değiştirmeye çalıştım. Disk UDMA6 kullanıyor, bu yüzden çalıştırıyorum:

hdparm -p4 /dev/sda  

Bana şu hatayı gösterdi (ve sadece PIO4 ile değil, birkaç modla denedim):

Attempting to set PIO mode to 0
HDIO_SET_PIO_MODE failed: Inappropriate ioctl for device

Ayrıca, SystemRescueCD gibi diğer Linux canlı sistemlerini de açılışta çekirdek parametresi libata.dma = 0 ekleyerek denedim . Aynı sonuçlar ve hala bana UDMA6 ile kullandığını gösteriyor ...

Libata.force'u okudum ama emri çok iyi anlamadım. SystemRescueCD'nin önyükleme sırasında aşağıdaki parametreleri denedim ve sistem bu sefer HDD'yi LOL tanımadı (bu nedenle bu komutu bir kenara bıraktım).

libata.dma=0 libata.force=

BIOS seçeneklerine baktım ve herhangi bir DMA seçeneği ya da benzeri bir şey bulamadım ...

Baska öneri?

Kayıt dışı:

Bu eski bir masaüstü bilgisayar (13 yaşında x64 AMD) ve kurtarma işlemini yapacak başka bir bilgisayarım yok (diğer bilgisayarım bir dizüstü bilgisayar ve diski doğrudan anakarta bağlayamıyorum) .)


1. Siz [genellikle?] Bunu bir diskte devre dışı bırakmazsınız. Eski PIO modunu diske konuşacak kontrolörde değiştirirsiniz. Eski masaüstünüz yalnızca klasik IDE konuşuyorsa, bu otomatik olarak hem denetleyici (masaüstü) hem de disk olarak kullanılacaktır. 2. Neden bunu yapmak istiyorsun? 'Bazı kötü sektörleri kurtarmak için' yazan cümleyi okudum ama neden normal AHCI modunda yapmıyorsunuz?
Hennes

PIO moduna ihtiyacınız olduğuna dair hangi göstergeniz var? Bildiğim kadarıyla ddrescue da çalışmalı.
cybernard

Evet, ddrescue DMA modunda mükemmel çalışır. Aslında ben katları kullanarak birçok başarılı görüntü kullandım. Mesele şu ki, Sabit disk imaj adli tıpında, kötü blokları okuma şansınızı arttırmak için daha iyi bir şans elde etmek için diğerlerinden oldukça farklı yaklaşımlarda başarısız disklerle uğraştığınız bazı durumlar var.
NullPointer666

Bu durumlardan biri ... Diskin% 86'sını kurtardım, ancak her defasında bir G / Ç hatasıyla diskin bağlantısını keser ve ddrescue'un tüm sektörleri hurdaya almayan olarak işaretlediğini tespit ettiğim bir alanda sıkışıp kaldım. Farklı seçenekler kullanıyorum (ileri, geri, önbellek yok, atlama blokları ...) ve onaylayabiliyorum: her defasında bir engel bulduğumda HDD'm bağlantım kesiliyor. Önceden tahmin edilen pek çok uzmanın PIO moduna geçtiğini biliyorum çünkü HDD'nizin başarısız olduğu bazı durumlarda daha iyi okumalar alıyorsunuz (örneğin, G / Ç hataları). PIO'yu ayarlamayı hiç denemedim, çünkü görüntüyü oluşturmakta hiç sorun yaşamadım ama her disk bir dünya.
NullPointer666

Ayrıca, zaman ayırdığınız için ikinize de teşekkür ederiz. @Hennes Eski ama o yaşlı hehe değil. Anakart gerçekten güzel ve altı SATA konektörü ile geldi. BIOS'ta bana Birincil ana IDE, İkincil IDE ve 6 SATA Seçeneklerini gösterir. HDD, SATA5 diski olarak tanınır. SATA5 menü girişinde "Extended IDE" seçeneğini (otomatik) görebiliyorum ve devre dışı bırakırsam, disk hala BIOS'un genel menüsünde listeleniyor ancak özellikleri bu menüde kayboluyor (boyut, silindirler ...). Birincil ve ikincil IDE girişlerinin içinde UDMA seçeneğini devre dışı bıraktım (SATA girişlerinde görünmüyor).
NullPointer666

Yanıtlar:


0

PIO / DMA modunun bir diskin kötü sektörleri nasıl okuyacağını nasıl etkilediğinden emin değil.

Ama bunu dene.

  • BIOS'ta AHCI'yi devre dışı bırakın.

  • Canlı CD'nizdeki çekirdek sürümü nedir? Debian canlı CD'si gibi mümkün olduğu kadar yeni bir şey kullanmayı deneyin (olması gerekir ddrescueve hdparmüzerinde - eğer olmazsa, bunları yapabilirsiniz apt-get install.) hdparmLinux çekirdeği çok eskiyse bazı özellikler ilginç olabilir.

  • Çanta açık ve sürücü güç kablosu takılı olmayan önyükleme sistemi. Canlı CD'nin önyüklenmesini bekleyin, sonra güç kablosunu dikkatlice takın. Sürücü devre kartına dokunmazsanız (yalnızca kenarlarından tutun ve bilgisayarın üstü gibi statik olmayan yükseltilmiş bir yüzeye ayarlayın) ve statik elektriğe sahip değilseniz (sürücüyü kullanmadan önce kasanın metal parçasına dokunun), SATA sürücüler için güvenlidir ). Bu, BIOS'un önyükleme sırasında gönderdiği ve müdahale ettiği tüm ATA güvenlik komutlarını atlar. Sürücü bağlandıktan sonra görünmüyorsa, bu soru için kabul edilen cevabın ne söylediğini yapmayı deneyin .

DÜZENLEME: göre bu PIO modu desteklemiyor olabilir SATA (SATA geçmek gelmeden önce PIO bir EIDE şeydi). Ancak BIOS'ta AHCI'yi devre dışı bırakırsanız, kontrol cihazı EIDE'yi taklit ediyor, bu yüzden hala çalışabilir.


Yukarıdaki açıklamalarda da belirttiğim gibi, disklerinizde bazı okuma veya G / Ç hataları sunuyorum, aynı zamanda harici diskinizi doğrudan bağlarsanız USB HDD hatalarıyla daha iyi başa çıkabildiğiniz gibi denetleyicideki DMA'yı devre dışı bırakarak daha iyi şanslar alabilirsiniz anakartınızın SATA konektörünüz. Yavaş ama biraz ışık getirebilir ... Asla böyle alternatif yöntemler yapmam gerekmiyor ... şimdiye kadar. Bu arada, AHCI'yi bios'ta devre dışı bırakma seçeneğim yok, sadece JMicron Raid denetleyici seçeneğinde ACHI'yı seçebilirim (otomatik), ancak Raid ile ilgili olduğunu ve bu bilgisayarda RAID kullanmadığını farz ediyorum.
NullPointer666

Sürücünün bir hata üretmesine neden olan ddrescue'ye sektörden (başka bir dosyaya yazdıktan sonra bunları yeniden biraraya getirdikten sonra) başlamasını söylemeniz gerekebilir. Bundan sonraki tüm sektörler sürücünün bir hata bildirmesine neden olursa, garip bir şey oluyor ...
LawrenceC

USB HDD’leri doğrudan SATA’ya bağlamak arasında bir fark var (bu, özellikle cihaz yazılımında hatalar olan ucuz bir Çin’de varsa SATA-USB köprüsünü kaldırır) ve DMA’dan PIO moduna geçiş (sadece HDD’nin EC’sine yardımcı olan hasar görmüştür).
dirkt

Sistemi yeniden başlattım, böylece diskim tekrar doğru bir şekilde algılandı ve soruna farklı yönde atladım, ilk kötü bloğu atladım ve alanın sonu denenmemiş olarak işaretledim (çünkü bunun garip olduğunu düşündüm ve muhtemelen son bloğun olmadığını Kötü bir blok: Haklıydım, etraftaki tüm alanları kurtardım, ancak ilk kötü blok diskin bağlantısını kesmesine neden oldu.Tümler güzelce gitti ama sonra diğer kötü blokları buldum ve aynısını yaptım (alanın geri kalanının hurdaya çıkmamış olarak işaretlenmesiyle) ve etki alanının son bloğu olarak badblock olarak) Biliyorum ki, muhtemelen sadece badblock'un ilk bloğu olduğunu biliyorum
NullPointer666

Ama ne olur ne zaman bir badblock HDD tanınmaz (G / Ç hatası) ve ddrescue geri kalanını hurdaya çıkarılmayan olarak işaretleyerek kendi kendine durur ... ve açıkça bilgisayarı yeniden başlatmam gerekir. bu arada, bu görüntü kurtarma olayını başlattım çünkü smart bana 1 yeniden tahsis edilen sektör olduğunu ve diskin bir gün başarısız olacağını söyledi ... 3 gb soldaki görüntü kurtarma işlemini sürdürmek için tekrar denemeyi denedim. PIO olayı ve öğrenme olayı için diğer yaklaşımlar. Her neyse, muhtemelen benim bölümleme tablomu görüntüde bozulmamış ve neredeyse mükemmel bir resme sahibim ....
NullPointer666
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.