Zu diesem Zeitpunkt keine Antwort für dieses Problem.
Normalerweise entscheidet sich der Kernel nach einigen Problemen mit dem Lesen oder Schreiben, um das Gerät zu blockieren, dafür, das Flag für GANZES GERÄT als schreibgeschützt zu setzen. Danach bewirken alle Schreibvorgänge auf einer Partition / einem Dateisystem, die / das sich auf diesem Gerät befindet, dass es zusammen mit dem Gerätestatus als schreibgeschützt geschaltet wird, da keine Schreibvorgänge möglich sind.
Beispiel von dmesg: Dies ist eine Simulation für Gast-Linux unter Windows 8 mit VirtualBox, wenn die Defragmentierung ein Gast-Geräte-Image erstellt:
[11903.002030] ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen
[11903.003179] ata3.00: failed command: READ FPDMA QUEUED
[11903.003364] ata3.00: cmd 60/08:00:a8:77:57/00:00:00:00:00/40 tag 0 ncq 4096 in
[11903.003385] res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[11903.004074] ata3.00: status: { DRDY }
[11903.004248] ata3: hard resetting link
[11903.325703] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[11903.327097] ata3.00: configured for UDMA/133
[11903.328025] ata3.00: device reported invalid CHS sector 0
[11903.329664] ata3: EH complete
[11941.000472] ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen
[11941.000769] ata3.00: failed command: READ FPDMA QUEUED
[11941.000952] ata3.00: cmd 60/08:00:c8:77:57/00:00:00:00:00/40 tag 0 ncq 4096 in
[11941.000961] res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[11941.001353] ata3.00: status: { DRDY }
[11941.001504] ata3: hard resetting link
[11941.320297] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[11941.321252] ata3.00: configured for UDMA/133
[11941.321379] ata3.00: device reported invalid CHS sector 0
[11941.321553] ata3: EH complete
[11980.001746] ata3.00: exception Emask 0x0 SAct 0x11fff SErr 0x0 action 0x6 frozen
[11980.002070] ata3.00: failed command: WRITE FPDMA QUEUED
[11980.002255] ata3.00: cmd 61/18:00:28:23:59/00:00:00:00:00/40 tag 0 ncq 12288 out
[11980.002265] res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
-------------------
There are many other errors, like "lost write page", "Journal has aborted", "Buffer I/O error", "hard resetting link" and many others.
Danach montieren Ursache:
mount / -o remount,rw
mount: cannot remount block device /dev/sda1 read-write, is write-protected
weil das GANZE gerät sda rootfs hält ist sda1 READONLY.
Nach meiner Erfahrung tritt dies in folgenden Situationen auf:
- Die Festplatte ist wirklich beschädigt. Zurückgegebene Schreibprobleme hängen vom Zustand der Festplatte ab
- Der Hostcomputer ist überlastet, und das Timeout für das Schreiben der virtuellen Festplatte des Linux-Gastcomputers ist abgelaufen
- FC-Kabel oder SAN-Gerät (Array-Festplatten über Fibre Channel) sind überlastet
- Momentan unterbrochene Verbindung über FC oder FCoE. Möglicherweise verlorenes / Timeout-FC-Paket
In diesen Situationen ist das Gerät wirklich schreibgeschützt, aber der Linux-Kernel markiert dieses Gerät intern als schreibgeschützt und wird als schreibgeschützt verwendet. Dies ist eine Kernelfunktionalität zur Schadensverhütung, die jedoch nur ab 1. Punkt verwendet werden kann.
Die Frage ist. Wie kann man dem Kernel manuell mitteilen, dass ein Festplattenblockgerät normal funktioniert?
Ohne dies dient der Kernel als schreibgeschütztes Gerät, wie 'CD-ROM', und kein anderer Befehl hat die Möglichkeit, ordnungsgemäß zu funktionieren, einschließlich mount / remount -o read-write, fsck und andere.
Nicht verwendbare Ansvers, die sich als Spam von Leuten qualifizieren, die helfen wollen, aber die Problematik nicht verstehen:
- Versuchen Sie erneut, als Lese- / Schreibzugriff zu aktivieren (unmöglich, Gerät ist RO).
- fsck this (wofür? Gerät ist RO, keine Reparatur möglich)
- 'Ich weiß es nicht' (zuerst mit Verstand, aber unbrauchbar)
- "Tauschen Sie Ihr Gerät aus" * (normalerweise liegt das Problem an einer anderen Stelle)
Hat jemand eine Formel für die Frage oben? Schalterflag für beschreibbares Blockgerät, das es vom schreibgeschützten in den schreibgeschützten Zustand zurücksetzt? Zu diesem Zeitpunkt scheint niemand zu wissen, wie.
Es gibt einige Problemumgehungen, die jedoch normalerweise semiusfähig oder unbrauchbar sind:
- Das Entfernen des Moduls unterstützt den Zugriff auf die angegebene Festplatte oder das Speicherarray. Leider behält normalerweise ein beschädigtes Gerät rootfs bei, oder der Treiber behält sowohl ein beschädigtes Gerät als auch ein Gerät, das rootfs enthält
- Entfernen Sie den FC-Zugriff auf das Gerät und verbinden Sie es erneut (fctools), nicht immer möglich, funktioniert nicht immer.
- Starten Sie die GANZE Maschine neu. Normalerweise ist nur dies immer möglich und wir sind immer dazu gezwungen.
An den Punkten 1. und 2. teilen wir dem Kernel mit, dass wir das Gerät vollständig trennen und erneut verbinden. Kernel hat dies als Beitritt zu einem neuen, ordnungsgemäß funktionierenden Gerät erkannt. Wir können dies mit einem USB-Gerät simulieren und die Stromversorgung kurzzeitig unterbrechen. Punkt 3. ist die letzte Chance und funktioniert normalerweise. Aber warum sollten wir alle neu starten? Leider haben wir zu jedem Zeitpunkt alle Zeitschriftenaktualisierungen und schmutzigen Puffer verloren.
Beachten Sie, in den gleichen Situationen habe ich keine Probleme mit Windows (Desktop und Server).
Antworten:
versuche es mit
blockdev --setrw
oderhdparm -r 0
quelle
fsck
schreibgeschütztes Dateisystem zu erstellen, bevor es erneut bereitgestellt werden kann.Wie Jose Luis Martin vorgeschlagen hat, blockdev zu verwenden, besteht mein zweiter Schritt darin, ein Remount-Verfahren für rw und forcefsck durchzuführen
(vorausgesetzt, sda ist Ihre Festplatte)
quelle
fsck
vor dem zu laufenmount
, da es sonst nicht möglich ist, ohne zu mountenfsck
. (Zumindest in meinem Fall.)date +%Y%m%d-%H%M%S
touch: kann nicht berühren? / tmp / 20170722-221904 ?: Nur-Lese-Dateisystem # # mount -o remount, rw / dev / xvda1 [137010.709883] EXT4 -fs Fehler (Gerät xvda1): ext4_remount: 4824: Abbruch durch Benutzermount erzwungen: Block Gerät / dev / xvda1 kann nicht erneut gemountet werden, schreibgeschützt `Überprüfe diese Wiki-Seite, sie erklärt den Fehler, den libata ausgelöst hat:
https://ata.wiki.kernel.org/index.php/Libata_error_messages
Nach dem, was ich oben sehe, haben Sie ein Timeout-Problem und laut dem genannten Dokument:
Möglicherweise möchten Sie ACPI deaktivieren (überprüfen Sie anhand Ihrer Distribution, wie es funktioniert) oder Ihren Kernel auf bekannte Fehler überprüfen und möglicherweise aktualisieren, falls dies nicht die neueste Version ist (oder ein Downgrade durchführen).
quelle
sudo hdparm -I /dev/sdX | grep locked
sagt das? Es muss heißen: 'nicht gesperrt'. Es zeigte diese rätselhaften Zeitüberschreitungen in der Vergangenheit, wenn eine Festplatte durch ein ATA-Kennwort gesperrt wurde (aufgrund einer vorherigen Sicherheitslöschung und eines späteren Systemabsturzes, der dazu führte, dass die Sicherheitspw nicht mehr gelöscht wurde). Dieses Passwort-Zeug hat wirklich große Auswirkungen , auch auf Ihre Nerven. :) Selbst die Standard-Tools, die von Ihrem Festplattenhersteller geliefert werden, verhalten sich verrückt, als ob die Festplatte kurz vor dem Tod steht, wenn das Passwort aktiv ist. Der Täter für unzählige Haarbüschel, die im Laufe der Jahre herausgerissen wurden.Starten Sie Windows 10 neu, rufen Sie die Energieoptionen auf und schalten Sie das schnelle Herunterfahren aus. dann auf linux neustarten ..gbamm alles in ordnung.
Das schnelle Herunterfahren in Windows 10 hält einige Dateien im Ruhezustand und das Laufwerk wird teilweise verwendet. also linux sieht genauso beschäftigt aus.
quelle