giovedì 31 luglio 2008

Se non è automatico...lo montiamo a mano!!!


Capita, a chi è nuovo in ambito Linux, di collegare un drive USB (HD, lettori mp3, ecc...) e di avere la brutta sopresa di non vedere apparire l'icona del dispositivo sul desktop. Proviamo a capire cosa significa quella icona sul Desktop, ovvero impariamo a montare una partizione in Ubuntu.
Io vi mostro come faccio io:
supponiamo di collegare un HD esterno USB e che sul Desktop non compaia l'icona dell'HD appena collegato;
  • Con il comando lsusb verifico se il dispositivo risulta collegato (infatti l'output è un elenco di tutte le porte usb e delle relative periferiche eventualmente collegate)
  • Con il comando sudo fdisk -l verifico le partizioni viste da Ubuntu. Le prime dell'elenco dovrebbero essere quelle relative all'HD del nostro PC, mentre quelle più in basso quelle relative ad esempio ad HD esterni.

:~$ sudo fdisk -l

Disco /dev/sda: 80.0 GB, 80026361856 byte
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindri of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd53d826f

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 4438 35648203+ 83 Linux
/dev/sda2 4439 4699 2096482+ 82 Linux swap / Solaris
/dev/sda3 4700 9729 40403475 b W95 FAT32

Disco /dev/sdb: 80.0 GB, 80026361856 byte
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindri of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1c8d1f48

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 * 1 9729 78148161 7 HPFS/NTFS


Questo è l'output del comando fdisk -l sul mio portatile quando ho inserito un HD esterno. Notiamo le prime 3 partizioni (sda1, sda2, sda3) sono relative all' HD interno, infatti la prima è la partizione in cui vi è la root, la seconda è lo swap e la terza è una partizione FAT32 che utilizzo come "garage" dati.
Poniamo la nostra attenzione sul disco esterno /dev/sdb, in cui vi è la partizione sdb1. Il comando fdisk ci sta dicendo che sdb è un "device" di tipo HD. Può capitare (senza analizzare i motivi) che la partizione /dev/sdb1 (in questo caso) non venga montata automaticamente. Vediamo i principali comandi da terminale che ci permettono di montare il drive in una directory qualunque, esempio in /mnt che è una directory vuota della root, su cui possiamo tranquillamente montare partizioni.
Il comando per montare /dev/sdb1 in /mnt è:

sudo mount /dev/sdb1 /mnt

Prima di scollegare fisicamente il drive diamo il comando:

sudo umount /dev/sdb1 /mnt

Se precedentemente abbiamo utilizzato il nostro HD ad esempio con Windows e lo abbiamo scollegato senza premere sulla famosa "Rimozione sicura dell'hardware" il notro Ubuntu non sarà in grado di montare automaticamente il drive, perchè Windows lascia dei file temporanei che non permenttono il montaggio. Menomale che il pinguino non si ferma mai davanti a nulla, e invece di ricollegare il drive su Windows e "rimuoverlo in maniera sicura", montiamolo con la forza bruta!!!

sudo mount /dev/sdb1 /mnt -o force

Con questi semplici comandi non ci dovremmo fermare più davanti ad HD non montati. Naturalmente l'approccio è diverso nel caso in cui la periferica non viene riconosciuta, in quel caso bisogna tentare strade alternative.

5 commenti:

LZ ha detto...

Il mio problema è che Ubuntu non vede un disco usb (formattato ext3), ho eseguito "lsusb" e constatato che mi vede il dispositivo ma se poi eseguo "sudo fdisk -l" mi vengono elencate le sole partizioni del disco rigido interno, da cosa può dipendere, che posso fare ora?

La ringrazio

Anyon ha detto...

Collega l'Hard Disk alla porta usb e su un terminale digita il comando

lsusb

e postami il risultato.

Poi digita

sudo fdisk -l

e postami il risultato.

Poi ancora

dmesg

e postami il risultato.
Vedrò cosa posso fare....ciao!

Anonimo ha detto...

Zeno
zenosempreboni@libero.it
grazie

Anonimo ha detto...

sto cercando di arrivare ai files di un mio hd esterno... ubuntu lo riconosce ma come cerco di aprirlo mi da questo messaggio:

Error mounting: mount exited with exit code 12: Failed to read last sector (1953523119): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdb1': Invalid argument
The device '/dev/sdb1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

cosa significa? ne sto uscendo pazzo, non riesco a capire quale sia il problema, in più ho ubuntu da soli 2 giorni... aiutoooooo
Marco

SithMcFly ha detto...

Qualcuno potrebbe darmi una mano con un HD WD elements che non funziona?
ho provato a farlo montare sul pc di un amico che ha ubuntu e mi viene fuori questa schermata:

Error mounting /dev/sdb1 at /media/nomenclator/Elements: Command-line 'mount-t "ntfs" -o
"uhelper=udisks2,nodev,nosuid,uid=1OOO,gid=1000" "/dev/
sdb1" "/media/nomenclator/Elements" ' exited with non-zero exit status 13: ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Failed to read of MFT, mft=6 count=1 br=-1: Input/output error
Failed to open inode FILE_Bitmap: Input/output error
Failed to mount '/dev/sdb1 ': Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter
IS very
important! If the device is a SoftRAID/FakeRAID then first
activate
it and mount a different device under the /dev/mapper/
directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid'
documentation
for more details.

grazie mille in ogni caso