¿Cómo reparo el recuento actual del sector pendiente?

8

De los datos SMART, muestra que tengo 3 recuentos de sector pendientes. (Ejecutando Ubuntu Maverick).

Intenté seguir un enlace de foros sobre cómo resolver eso , pero no puedo identificar el recuento exacto de sectores para escribir en ese sector. Ejecuté la autocomprobación completa desde la Utilidad de Discos, pero la Utilidad de Discos no muestra el número de sector exacto en Maverick, aunque no estoy seguro de las versiones anteriores. ¿Ha cambiado esto en Maverick?

¿Cómo identifico el sector y soluciono el recuento pendiente? ¿Es seguro ese consejo en los foros?

PD: Tengo otros problemas con el "recuento de sectores reasignados", por lo que busqué en Google, no es reparable ... ¿Hay alguna forma de evitar que aumente?

Vish
fuente
1
Captura de pantalla de los datos SMART: foopics.com/showfull/e20ea820cbed11ae2d99e13a9fe642d1 Hrm ..! PD: debe permitir más de un hipervínculo, o al menos un enlace de imagen para nuevos usuarios: - /
Visite el
¿Ejecutó la prueba "larga"?
TJ L
1
Sí, probé el "extendido", pero no obtengo los números del sector informados. ¿O tal vez no estoy buscando en el lugar correcto después de ejecutar la prueba?
Visite

Respuestas:

7

Este es en realidad un comentario largo ;-)

OMI, el sistema de archivos debería encargarse automáticamente a su debido tiempo, especialmente porque ha ejecutado la autocomprobación. Como puede ver, indica que la reasignación se realiza en caso de falla de escritura, por lo que la próxima vez que intente escribir en ella, se reasignará.

¿Podría indicar el propósito más grande detrás de hacer esto? Además de la preocupación sobre los bloques que requieren reasignación, ¿hay alguna otra molestia / problema que intente resolver al hacer esto?

La sugerencia en la publicación de ubuntuforums que ha citado es segura siempre que sepa exactamente qué sector ha fallado y tenga una razón convincente para solucionarlo. Por lo general, el sector # no se informa ni siquiera mediante programas de verificación de archivos, ya que el sistema de archivos lo extrae y maneja internamente.

Pero si debe encontrar los bloques defectuosos ofensivos, puede utilizar los siguientes pasos:

  1. Tenga en cuenta el archivo del dispositivo correspondiente al sistema de archivos. Esto es de la forma / dev / hdc o / dev / sdb dependiendo del tipo de disco. Esto se muestra en la Utilidad de Discos ( System -> Administration -> Disk Utility). Si hace clic en el nombre del disco en la lista que se muestra en el panel del lado izquierdo, el nombre del dispositivo se puede leer en "Dispositivo:" a la derecha.

  2. Desmonta todos los sistemas de archivos en ese disco. El siguiente comando no debería devolver ninguna salida.

    mount | grep -i <device-name>
    
  3. Ejecute el siguiente comando

    badblocks -sv -b 512 <device-name>
    

    Nota El -b 512objetivo es alinear el tamaño de bloque a 512 para que pueda usar el número informado por este comando como entrada ddcomo se explica en la publicación del foro

No recomendaría todo lo anterior, ya que de todos modos se ocupa de las operaciones normales del disco.

koushik
fuente
1
Gracias por la respuesta detallada. Esos tres sectores pendientes existieron durante mucho tiempo, casi más de 6 meses, esa es la razón por la que quería arreglar esos sectores pendientes. Y esos sectores están en mi partición principal / doméstica, ¿cómo hago esto en línea? Usted mencionó desmontar todas las particiones, ¿debería hacerlo desde un CD en vivo?
Visite
Dado que es la partición de inicio para su instalación, desearía realizar los pasos anteriores desde livecd. Asegúrese de que todas las particiones del disco estén desmontadas (incluido el intercambio de cualquier partición de intercambio).
koushik
Eso es extraño, he estado teniendo el recuento pendiente durante casi 6 meses con ext4, pero cuando lo reinstalé con brtfs no desapareció. Por eso estaba preocupado. Por su consejo, consideré esperar un par de semanas antes de hacer algo. Ahora, de repente, todos se han ido! Así que supongo que esperar fue lo mejor. :-) Sin embargo, parecía resolverse más rápido con btrfs.
Visite
1

En el peor de los casos, siempre puede hacer esto: desmonte el disco o la matriz y detenga cualquier matriz.

dd if=/dev/sdX of=/dev/sdX iflag=direct,sync oflag=direct,sync

Tomará mucho tiempo, pero debería funcionar.

Lo ideal sería consultar la lista de defectos de crecimiento del disco duro (glist), pero no he descubierto cómo hacerlo.

Jim Mills
fuente
1

Parece que la conv=noerroropción ayuda. Cuando hay un error de E / S, parece que esta opción obliga dda volver a intentarlo hasta que complete la lectura / escritura. Creé un archivo fuente con el siguiente comando para cada uno de los bloques defectuosos encontrados por el comando badblocks (dado por Kaushik arriba), y borró el "Conteo del sector pendiente actual" ("esperando ser reasignado") a cero desde 5.

sudo dd bs=512 count=1 conv=noerror ibs=512 obs=512 if=/dev/sda of=/dev/sda iflag=direct,sync oflag=direct,sync skip=3186809 seek=3186809
Vis
fuente