martes, 31 de julio de 2012

Recuperación de discos dañados con herramientas libres

Es curioso ver como últimamente mucha gente confía en sus discos duros USB como métodos de almacenamiento infalible. Es por ello que terminan guardando sus documentos más valiosos en estos discos. Por otro lado, al ser de naturaleza portátil están mucho más expuestos a golpes y caídas que, por ejemplo, los discos de un ordenador de sobremesa. Total, que con un poco de ayuda de la ley de Murphy la gente acaba perdiendo sus datos por un fallo del hardware. En el peor de los casos serán prácticamente irrecuperables, pero la mayoría de las veces, el disco duro sólo tiene unos pocos sectores dañados que harán que el sistema de ficheros sea imposible de utilizar normalmente, pero buena parte de la información será recuperable.

Existen múltiples soluciones comerciales para recuperar discos duros dañados, pero en este caso me centraré en dos herramientas libres que son las que suelo utilizar normalmente con resultados bastante buenos. Las herramientas en cuestión son ddrescue (para volcar el contenido del disco duro, no confundir con dd_rescue, son proyectos distintos aunque tienen un propósito similar) y photorec (para recuperar los ficheros que contiene el sistema de ficheros).

Lo primero que vamos a necesitar es mucha paciencia, leer discos duros dañados suele ser muy lento por lo que puede que nos lleve mucho tiempo (horas o incluso días). Lo segundo es tener instalada una distribución de GNU/Linux (aunque photorec en concreto lo podéis encontrar para casi cualquier sistema operativo). Una vez instalados ddrescue y photorec (los detalles de instalación dependerán de la distribución que tengáis en vuestro sistema) nos pondremos manos a la obra.

En primer lugar volcaremos el contenido del disco duro dañado a un disco duro "sano". Eso lo haremos por varios motivos, uno de ellos es que en caso de fallo mecánico, puede que al disco duro le queden sólo unas cuantas horas de vida, por lo tanto tendremos que obtener la información que contiene lo antes posible. Por otra parte, trabajar con un disco duro dañado suele ser MUY lento, ya que por defecto el disco intenta leer los sectores defectuosos numerosas veces antes de darse por vencido. Para esto utilizaremos ddrescue, que al igual que el comando dd original nos permite volcar el contenido de un dispositivo de bloques a un fichero u otro dispositivo y viceversa. Sin embargo ddrescue nos ofrece opciones adicionales para trabajar con dispositivos defectuosos.

Por tanto en el supuesto de que tuviésemos una partición de un disco defectuoso, a la cual llamaremos /dev/sda1, poderíamos proceder de la siguiente forma:

  1. ddrescue --no-scrape /dev/sda1 archivo_imagen.img archivo.log : con ésto lo que hacemos es volcar todo el contenido de la partición /dev/sda1 al archivo archivo_imagen.img. Además se guarda un fichero de log archivo.log que nos permitirá retomar el volcado más tarde en caso de interrupción o hacer nuevas pasadas. En este caso no se reintentará leer sectores defectuosos para acabar lo más rápido posible. [Actualizado 15/06/2018: en las versiones actuales ya no existe la opción --no-split, por lo que debemos utilizar la opción --no-scrape]
  2. ddrescue --direct --retry-passes=3 /dev/sda1 archivo_imagen.img archivo.log : ahora hacemos un intento más exhaustivo. Intenta leer los sectores defectuosos hasta 3 veces y usa un modo en acceso a disco directo, sin usar los cachés del kernel. En este caso no volverá a leer toda la partición, tan sólo los sectores defectuosos que se especifican en el fichero de log. [Actualizado 15/06/2018: en versiones antiguas se usaba el parámetro --max-retries en vez de --retry-passes]
  3. ddrescue --direct --retrim --max-retries=3 /dev/sda1 archivo_imagen.img archivo.log : si aún quedan sectores por recuperar, podemos utilizar la opción retrim con la que se vuelven a intentar leer los sectores defectuosos en un orden diferente.
Ahora que tenemos una imagen del disco defectuoso, lo que queremos es volver a montar el sistema de ficheros, para intentar recuperarlo tal y como estaba en un principio. Para ello seguiremos los siguientes pasos:
  1. Creamos un dispositivo de tipo loopback con el comando losetup: losetup /dev/loop0 archivo_imagen.img
  2. Ahora podemos chequear el sistema de ficheros, para ello usaremos: e2fsck -y -v /dev/loop0
  3. Si todo va bien deberíamos poder montar esa imagen un directorio, por ejemplo /mnt/ejemplo : mount -o loop archivo_imagen.img /mnt/ejemplo
  4. Si se ha podido montar sin problemas, podemos echar un vistazo que están todos nuestros archivos y copiarlos a donde deseemos. Es posible que debido a algún sector defectuoso algún fichero esté corrupto. Si lo deseamos también podemos volcar esta imagen en una nueva partición (que debe ser del mismo tamaño) con el comando dd.
  5. Si no se ha podido montar, tendremos que recuperar los datos "a la desesperada", para ello utilizaremos photorec, que es un software que analiza una partición en busca de ficheros de un formato reconocible (jpg, mp3, pdf...). Es muy útil para recuperar información de sistemas de ficheros dañados, aunque como inconveniente, no es capaz de recuperar los nombres de los ficheros ni la estructura de directorios. Podéis encontrar un tutorial paso a paso de cómo utilizar photorec en el siguiente enlace: Photorec paso a paso.

Referencias:
http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html
http://www.forensicswiki.org/wiki/Ddrescue
http://www.cgsecurity.org/wiki/PhotoRec_ES

viernes, 11 de junio de 2010

Retoque por frecuencias en gimp

Después de ver el magnífico tutorial de retoque por separación de frecuencias de FLEXmanta en OjoDigital, me dispuse con emoción a ponerlo en práctica en Gimp, pues no dispongo de licencia de photoshop y uso principalmente GNU/Linux. Mi gozo en un pozo cuando me encontré que en gimp no existía una herramienta similar a "aplicar imagen" ni el modo de mezcla de capa "luz lineal". Sin embargo, finalmente encontré un método para lograr resultados sino iguales, muy parecidos.

Disculpadme si meto la pata con algunos conceptos

Entonces, partiendo de una capa "Fondo":


  • 1. Crearemos un paso alto "a la antigua", a mano, para ello duplicamos la capa fondo 2 veces, a las que llamaramos "Copia superior" y "Copia inferior".

  • 2. En la "Copia superior" aplicamos un desenfoque gausiano, con el radio que queráis, para hacer pruebas ponemos 10, luego, lo más seguro que usemos un radio más fino.

  • 3. Invertimos los colores de la "Copia superior".

  • 4. Ponemos la capa "Copia superior" en modo "Combinar granulado".

  • 5. Combinamos la "Copia superior" con la "Copia inferior" con el comando "Combinar hacia abajo".

  • 6. La capa resultante la renombramos a "alta", ya tenemos el paso alto listo, vamos a por el bajo.

  • 7. Duplicamos la capa "Fondo", renombramos la copia a "baja" y le aplicamos un filtro gausiano del mismo radio que aplicamos antes, 10 en este caso. Ya tenemos el paso bajo listo.

  • 8. En este punto ponemos la capa "alta" en modo "Combinar granulado".

  • 9. Si habeis seguido correctamente todos los pasos, podeis observar que obtenemos la imagen original. Lo podeis comprobar subiendo la capa "fondo" hasta arriba de todo y ponerla en modo "diferencia", el resultado debería ser una imagen completamente negra, pues las dos imágenes son idénticas.



Llegados aquí, podemos aplicar cualquiera de las técnicas que nos explicó FLEXmanta en su videotutorial. Podemos aumentar el contraste en la capa "alta" y obtendremos un aumento de nitidez, podemos clonar/sanear impurezas conservando la textura de la piel de una modelo, podemos llevarnos la textura a otra imagen....

jueves, 3 de diciembre de 2009

En defensa de los derechos fundamentales en Internet

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que:

1. Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
2. La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
3. La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
4. La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
5. Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
6. Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
7. Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
8. Exigimos que el Gobierno garantice por ley la neutralidad de la Red, en España ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
9. Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
10. En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

Este manifiesto, elaborado de forma conjunta por varios autores, es de todos y de ninguno. Se ha publicado en multitud de sitios web. Si estás de acuerdo y quieres sumarte a él, difúndelo por Internet.

lunes, 2 de noviembre de 2009

Driver de ext2/ext3 para Windows 7

From



Recientemente he adquirido un nuevo portátil, un Acer Timeline 1810TZ. Estoy bastante contento con él, equilibrado en todos los aspectos. Es más potente que un netbook con atom y más ligero que un portátil corriente. Así mismo tiene unas generosas 8 horas de autonomía aproximadamente. Aunque tristemente, 2 de esas horas se quedan por el camino al pasar de Windows 7 a GNU/Linux.

Sí este portátil trae Windows 7, que después de probarlo, he comprobado que es una especie de Windows Vista aligerado con la barra de KDE3. De tal modo que decidí arrinconar la partición de de Windows 7 por si algún día lo necesito para algo. El problema estaba en mi partición dedicada al directorio /home que compartía con windows mediante el driver ext2 ifs. Este driver funciona bien en XP y Vista pero lleva un tiempecillo sin actualizar y por algún motivo no era capaz de leer mi partición del home. Buscando un poco, encontré una alternativa que desconocía, ext2 fsd, un driver libre (el ifs es freeware) que puede no ser tan maduro como el ifs pero tiene un desarrollo más activo, más opciones de configuración y parece suficientemente estable.

Así que ya sabéis, ext2 fsd es una opción para despedirse de esas particiones y pendrives en FAT/NTFS :-)

sábado, 25 de julio de 2009

Breve introducción a emacs

No hace mucho he dado una breve charla acerca del manejo básico de emacs. Aquí os dejo las transparencias en pdf por si alguien está interesado en aprender a utilizar este fantástico editor.

Presentacionemacs.pdf

Procuro explicar los conceptos básicos que hacen diferente a emacs desde lo más básico así que no os asustéis ;)

martes, 7 de julio de 2009

Razones para odiar a internet explorer

No sé como aún existe gente (según las estadísticas, la mayoría) que pueda utilizar el navegador internet explorer. Para un desarrollador resulta realmente frustrante que los cambios que se realicen en una web funcionen en todos los navegadores (dígase firefox, konqueror, derivados de webkit, opera...) excepto en explorer, que interpreta las css como le viene en gana.

Pero si aún por lo menos fuese internet explorer 7 (el cual por lo menos soporta pngs con transparencia), pero no, aún existe una base importante de usuarios ignorantes que utilizan el vetusto y ponzoñoso internet explorer 6. El cual requiere de truculentos apaños no-standard para soportar los dichosos pngs con transparencias.

Pero no sólo eso, en ocasiones los divs flotantes desbordan de forma extraña a otros divs vecinos. Ah! olvidada que por la época del ie6 todo el mundo utilizaba tablas para hacer eso, así que supongo que en microsoft nadie le dió importancia. Tampoco me explico por qué algunos links fantasma se renderizan correctamente pero luego no funcionan.

Las nuevas versiones de ie tampoco solucionan mucho, y siguen pecando de los mismo errores. Siguen erre que erre con sus "estándares". Tal vez tengan miedo de hacer un navegador correctamente y que miles de páginas desarrolladas en su día SÓLO para internet explorer dejen de funcionar, implicando así a webs de bancos, compañías telefónicas, organismos públicos, etc. que quedarían inutilizadas. No sé si sentir ira o lástima hacia esos desarrolladores...

Hala! ya lo he soltado!

domingo, 1 de febrero de 2009

Salida de emergencia

Y recordad, en caso de emergencia romped el viorio con martillo...