martes, 13 de mayo de 2014

Como recuperar el sistema de archivos de un pendrive.

¿Por qué mi pendrive está montado cómo sólo lectura?
















Vamos a desmontar y desconectar físicamente el dispositivo que está montado en: "/media/KINGSTON"

(para determinar en que directorio está montado el pendrive basta ejecutar mount sin parámetros):

**********************************************************
# umount /media/KINGSTON
**********************************************************

Luego de desmontar y desconectar el pendrive, abrimos el log de mensajes del kernel utilizando tail, para poder ver qué informa el kernel Linux cuando conectamos el dispositivo:

**********************************************************
# tail -f /var/log/messages
**********************************************************

Al conectar el dispositivo comienzan a aparecer los siguientes mensajes en la salida de tail:
**********************************************************
julio@sistemas ~ $ tail -f /var/log/messages
May 13 11:39:40 sistemas kernel: [15263.660817] scsi 21:0:0:0: Direct-Access     Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
May 13 11:39:40 sistemas kernel: [15263.661497] sd 21:0:0:0: Attached scsi generic sg2 type 0
May 13 11:39:40 sistemas kernel: [15263.668097] sd 21:0:0:0: [sdb] 15753216 512-byte logical blocks: (8.06 GB/7.51 GiB)
May 13 11:39:40 sistemas kernel: [15263.669426] sd 21:0:0:0: [sdb] Write Protect is off
May 13 11:39:40 sistemas kernel: [15263.673113]  sdb: sdb1
May 13 11:39:40 sistemas kernel: [15263.831397] sd 21:0:0:0: [sdb] Attached SCSI removable disk
May 13 11:39:43 sistemas pulseaudio[2571]: ratelimit.c: 97 events suppressed
May 13 11:40:13 sistemas nautilus: Nautilus-Actions Tracker 2.29.4 initializing...
May 13 11:40:14 sistemas nautilus: Nautilus-Actions Menu Extender 2.29.4 initializing...
May 13 11:42:15 sistemas kernel: [15419.164054] usb 1-5: USB disconnect, address 24
May 13 11:42:52 sistemas kernel: [15456.016022] usb 1-5: new high speed USB device using ehci_hcd and address 25
May 13 11:42:52 sistemas kernel: [15456.155344] usb 1-5: configuration #1 chosen from 1 choice
May 13 11:42:52 sistemas kernel: [15456.161931] scsi22 : SCSI emulation for USB Mass Storage devices
May 13 11:42:57 sistemas kernel: [15461.176977] scsi 22:0:0:0: Direct-Access     Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
May 13 11:42:57 sistemas kernel: [15461.177644] sd 22:0:0:0: Attached scsi generic sg2 type 0
May 13 11:42:57 sistemas kernel: [15461.184749] sd 22:0:0:0: [sdb] 15753216 512-byte logical blocks: (8.06 GB/7.51 GiB)
May 13 11:42:57 sistemas kernel: [15461.185522] sd 22:0:0:0: [sdb] Write Protect is off
May 13 11:42:58 sistemas kernel: [15461.189514]  sdb: sdb1
May 13 11:42:58 sistemas kernel: [15461.411200] sd 22:0:0:0: [sdb] Attached SCSI removable disk
May 13 11:46:04 sistemas kernel: [15647.608136] usb 1-5: USB disconnect, address 25
May 13 11:46:08 sistemas kernel: [15652.192025] usb 1-5: new high speed USB device using ehci_hcd and address 26
May 13 11:46:08 sistemas kernel: [15652.330658] usb 1-5: configuration #1 chosen from 1 choice
May 13 11:46:08 sistemas kernel: [15652.337094] scsi23 : SCSI emulation for USB Mass Storage devices
May 13 11:46:14 sistemas kernel: [15657.336847] scsi 23:0:0:0: Direct-Access     Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
May 13 11:46:14 sistemas kernel: [15657.337520] sd 23:0:0:0: Attached scsi generic sg2 type 0
May 13 11:46:14 sistemas kernel: [15657.338134] sd 23:0:0:0: [sdb] 15753216 512-byte logical blocks: (8.06 GB/7.51 GiB)
May 13 11:46:14 sistemas kernel: [15657.340757] sd 23:0:0:0: [sdb] Write Protect is off
May 13 11:46:14 sistemas kernel: [15657.344896]  sdb: sdb1
May 13 11:46:14 sistemas kernel: [15657.580003] sd 23:0:0:0: [sdb] Attached SCSI removable disk
**********************************************************

Para reparar el sistema de archivos, primero vamos a determinar el nombre de la partición donde se encuentra alojado (abrimos otra terminal):
**********************************************************
# mount | grep vfat

que nos muestra:

/dev/sdb1 on /media/KINGSTON type vfat (rw,nosuid,nodev,uhelper=udisks,uid=500,gid=500,shortname=mixed,dmask=0077,utf8=1,flush)
**********************************************************

Por lo tanto desmontamos el dispositivo /dev/sdb1:
**********************************************************
# umount /dev/sdb1
**********************************************************

IMPORTANTE!!! Es necesario asegurarse que el sistema de archivos esté desmontado antes de intentar repararlo.

Para verificar y reparar el filesystem utilizamos la herramienta fsck.msdos ya que se trata de un sistema de archivos VFAT.

Si el sistema de archivos es NTFS se debe utilizar fsck.ntfs:
**********************************************************
Nota al respecto:
ntfsfix que es una utilidad del paquete ntfsprogs  que ya está disponible con una instalación estándar de Ubuntu.

Usted puede hacer un enlace simbólico entre fsck.ntfs y ntfsfix :

sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs-3g

Usted puede contar más en las herramientas basadas en Linux para recuperar su instalación y datos que las herramientas basadas en Windows de Windows.
También he experimentado que Linux te permite hacer cosas como poner signos de interrogación en sus nombres de archivo; esto está oficialmente permitido por las normas de NTFS, pero aquí está la broma: el controlador de Windows no lo soporta!

Me gustaría apuntar a otras utilidades "Linux-based Rescue" / "Repair Live-CDs" (o USB)"
Fin de Nota al respecto
**********************************************************


dosfsck - comprobar y reparar sistemas de archivos MS-DOS
**********************************************************
fsck.msdos -awvV /dev/sd1b
**********************************************************

Explicación de los parámetros utiliazados:

-a: Reparar automáticamente el sistema de archivos. Sin la intervención del usuario es necesario.
Cada vez que hay más de un método para resolver un problema,Se utiliza el método menos destructivo.

-w: Escribir cambios en disco inmediatamente.

-v: modo detallado. Genera un poco más de salida.

-V: Realizar un pase de verificación. La comprobación del sistema de archivos se repite después de la primera ejecución. El segundo paso nunca debería reportar algún error corregibles.
Puede tomar mucho más tiempo que la primera pasada, porque la primera pasada puede haber generado larga lista de modificaciones que tienen que ser escaneada para cada lectura de disco.


La salida del comando muestra lo siguiente, dependiendo de cuan dañado esté el sistema de archivos:

**********************************************************
dosfsck 3.0.9 (31 Jan 2010)
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
Checking we can access the last sector of the filesystem
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
  65:01/00
  Not automatically fixing this.
Boot sector contents:
System ID "THREES  "
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
      8192 bytes per cluster
        32 reserved sectors
First FAT starts at byte 16384 (sector 32)
         2 FATs, 32 bit entries
   7570432 bytes per FAT (= 14786 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 15157248 (sector 29604)
   1891673 data clusters (15496585216 bytes)
63 sectors/track, 32 heads
        63 hidden sectors
  30296385 sectors total
Starting check/repair pass.
Cluster 1470591 out of range (228497476 > 1891674). Setting to EOF.
Cluster 1470593 out of range (15148248 > 1891674). Setting to EOF.
Cluster 1470595 out of range (33642170 > 1891674). Setting to EOF.
Cluster 1470597 out of range (50061838 > 1891674). Setting to EOF.
Cluster 1470599 out of range (5006860 > 1891674). Setting to EOF.
Cluster 1470601 out of range (5849983 > 1891674). Setting to EOF.
Cluster 1470603 out of range (213087397 > 1891674). Setting to EOF.
Cluster 1470605 out of range (112942055 > 1891674). Setting to EOF.
Cluster 1470607 out of range (183090718 > 1891674). Setting to EOF.
Cluster 1470609 out of range (34862787 > 1891674). Setting to EOF.
Cluster 1470611 out of range (133720333 > 1891674). Setting to EOF.
Cluster 1470613 out of range (50845958 > 1891674). Setting to EOF.
Cluster 1470615 out of range (90824247 > 1891674). Setting to EOF.

**********************************************************

Al finalizar, la herramienta fsck.msdos ha reparado el sistema de archivos y es posible desconectar y reconectar el dispositivo para asegurarse de que sea montado, como corresponde.

**********************************************************

Por otro lado... si queremos formatear de manera total nuestro pendrive:

**********************************************************
sudo mkfs.vfat -F 32 -n Mi_Memoria /dev/sdc1
**********************************************************

Con la opción -F 32 le decimos que será formateada como Fat32, y con la opción -n le ponemos una etiqueta o nombre al dispositivo.
¿Sencillo verdad?

Edito: Se me olvidaba decir que para ejecutar esta operación, el dispositivo tiene que estar desmontado.






martes, 6 de mayo de 2014

Río Gallegos recordó a tripulantes del Crucero General Belgrano

Actos Armada Argentina - 2 de Mayo de 2014. Ría Local de Río Gallegos.
Agrupación de cicloturismo Kosten Aiken estuvo presente.