web-dev-qa-db-fra.com

Comment puis-je faire fonctionner un lecteur de disquette USB?

J'ai un lecteur de disquette USB Toshiba que je dois utiliser sous Ubuntu. Lorsque je le connecte et que j'y insère une disquette, je ne vois rien monté sous Ubuntu 10.10.

Je soupçonnais que le matériel et/ou la disquette étaient défectueux et j'ai donc testé la disquette ainsi que le lecteur de disquette lui-même sous Windows XP, et tout allait bien.

J'ai pu trouver les instructions suivantes:

  • Ajoutez la ligne suivante au fichier/etc/modules:

    floppy

  • Entrez les commandes Shell suivantes:

    mkdir /media/floppy
    mount -t vfat /dev/sdc /media/floppy -o uid=1000

Cela montera la disquette, mais j'aimerais que cela se produise automatiquement. Ainsi, lorsque je connecte le lecteur au port USB, la disquette est automatiquement montée.

Comment puis-je faire ce travail? Ou Ubuntu ne fonctionne-t-il qu'avec les lecteurs de disquettes internes?

7
jfmessier

La procédure suivante a fonctionné instantanément sur Ubuntu 12.04:

REMARQUE:
La commande df indique que/dev/sdd indique que d le dernier lecteur attribué utilisé. J'ai besoin de le savoir pour trouver le prochain disponible, qui sera utilisé dans la commande suivante Sudo mount .... Dans mon cas, le prochain lecteur sera/dev/sde.

Vous devrez déterminer le bon lecteur pour votre propre système. Par exemple, vous pourriez avoir/dev/sda, ou sdb ou sdc.

Alors, tout d’abord, pour voir les informations sur le lecteur: df

Ensuite, lancez mkdir et mount:

 mkdir /mt/ee1

 Sudo mount -t vfat /dev/sde /mt/ee1 -o uid=1000

Pour une exécution automatique au démarrage, j'utilise normalement des scripts Perl, qui détectent et s'adaptent automatiquement et attribuent des noms stables aux partitions.

Je n’ai pas besoin de cela à l’heure actuelle pour les disquettes, donc je ne l’optimise pas. Peut-être que la commande "mount ..." n'est pas optimale ....)

Une solution plus générale, mais un peu primitive, serait de créer un fichier bash/batch avec plusieurs lignes comme ci-dessus avec Sudo..., avec plusieurs variantes possibles possibles /dev/sd... sur un PC spécifique.

Il se peut qu’il y ait un appel de ce fichier dans les paramètres de "Applications de démarrage". Je n'ai pas testé cela.

De plus, cela ne traite pas de l'aspect de retirer ou d'insérer une autre disquette. Cela pourrait se faire de manière automatique ou au moins semi-automatique ....

Je ne sais pas si la voie ci-dessus est optimale. Je voulais juste ajouter des informations utiles, après avoir réglé mon propre problème avec les réponses précédentes.

3
Don Pedro

J'ai écrit un petit script qui détecte automatiquement l'ID de lecteur lorsque vous l'exécutez et prend en charge une partie du travail de l'âne. Ce n'est pas parfait car il est possible que cela détecte la mauvaise chose (notez les commentaires), mais cela semble fonctionner la plupart du temps pour moi:

#!/bin/bash
# mount a usb floppy drive on /media/floppy
# NB we _assume_ other drives, e.g. internal hdd and usb devices will have been
#    automatically mounted. most of the time this will be true, but there are
#    no checks in place if this is not so.

# make sure the mount point exists
if ! [ -e /media/floppy ]; then
    Sudo mkdir /media/floppy
fi

# get a list of the available disks
disks=($(udisks --enumerate |\
         sed 's_/org/freedesktop/UDisks/devices/__' |\
         grep 'sd'))

#get a list of mounted devices
mounts=($(mount | grep '/dev/sd' | awk '{print $1}'))

# work out which disk is not mounted (first one found - assume this is the fdd)
for disk in "${disks[@]}"; do
    if ! for mount in "${mounts[@]}"; do echo $mount; done | grep -q $disk 
    then
        Sudo mount -t vfat /dev/$disk /media/floppy -o uid=1000
        echo fdd /dev/$disk mounted on /media/floppy
        break
    fi
done

Pour faire un démontage propre:

#!/bin/bash
# unmount a floppy drive mounted on /media/floppy

Sudo umount /media/floppy
Sudo rmdir /media/floppy
echo fdd unmounted from /media/floppy
2
Bobble

Assurez-vous qu'il y a une disquette dans le lecteur, sinon il n'y a rien à monter! Ne pas Sudo mount sinon vous pouvez uniquement accéder avec les privilèges root.

Tout d’abord, pour voir les informations sur le lecteur, exécutez df.

Sur mon système avec un disque dur, la disquette apparaît sous la forme sdb (sda était le disque dur)

Puis monter:

udisks --mount /dev/sdb --mount-fstype=vfat

par exemple:

fred@Ubuntu1:~$ udisks --mount /dev/sdb --mount-fstype=vfat
Mounted /org/freedesktop/UDisks/devices/sdb at /media/MM259_32BIT
fred@Ubuntu1:~$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1      152030356 9315352 134992252   7% /
udev              890692       4    890688   1% /dev
tmpfs             360384     856    359528   1% /run
none                5120       0      5120   0% /run/lock
none              900956     292    900664   1% /run/shm
/dev/sdb            1424    1397        27  99% /media/MM259_32BIT
2
Paul_L

Sur mes anciens systèmes avec des lecteurs de disquettes intégrés, le lecteur est désigné par/dev/fd0. Malheureusement, les versions ultérieures d’Ubuntu ne montent pas automatiquement ces lecteurs et ne créent pas non plus de répertoire dans/media.

Pour monter mon disque, je dois d'abord créer un répertoire dans lequel monter, /media/floppy. Ensuite, je peux le monter en utilisant Sudo mount /dev/fd0 /media/floppy.

2
charlie-tca

Vous devrez laisser le lecteur branché - Ubuntu se fera un plaisir de réaffecter/dev/sdc ou/dev/sdd au lecteur la prochaine fois que vous le branchez, car c’est ce qui arrive au mien.

Étant donné que le lecteur ne comportera pas de système de fichiers, vous ne pourrez peut-être pas obtenir un UUID pour identifier le système de fichiers de manière unique.

1
Broam

Si la disquette ne figure pas dans la liste de montage, il est possible que la détection de lecteurs de disquette par Ubuntu pose problème. Je pense que nous avons besoin de plus d'informations sur le problème avant de pouvoir théoriser sur le problème et sa résolution. Puisqu'il s'agit d'un périphérique USB, vous pouvez utiliser les journaux lsusb pour voir si le périphérique a été détecté par Ubuntu. Un bon endroit pour rechercher des problèmes de détection de matériel informatique serait - https://wiki.ubuntu.com/DebuggingHardwareDetection

1
Nikhil

Comme indiqué à la page http://ubuntuforums.org/showthread.php?t=1641104 , le moyen le plus simple de le monter est le suivant:

  1. Identifier le périphérique du lecteur,
Sudo df
udisks --enumerate

par exemple, le mien était/dev/sdc, mais juste pour être sûr:

udisks --show-info /dev/sdc
  1. Montez-le avec la commande udisks
Sudo udisks --mount /dev/sdc
1
user15972