如何让USB软盘驱动器工作?

我有一个东芝USB软盘驱动器,我需要在Ubuntu下使用。 当我连接它,并在其中插入一张软盘时,我看不到在Ubuntu 10.10下安装的任何东西。

我怀疑硬件和/或软盘有缺陷,所以我在Windows XP下测试了软盘和软驱本身,一切都很好。

我能够找到以下说明:

  • 将以下行添加到/ etc / modules文件中:

    floppy

  • 输入以下shell命令:

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

这将安装软盘,但我希望这是自动发生的,所以当我将驱动器连接到USB端口时,它会自动安装软盘。

我怎样才能做到这一点? 或者Ubuntu仅适用于内部软盘驱动器?

以下过程在Ubuntu 12.04上立即生效:

备注
df命令显示/ dev / sdd显示最后分配的驱动器正在使用中。 我需要知道这个以找到下一个可用的,它在随后的sudo mount ...命令中使用。 在我的情况下,下一个驱动器将是/ dev / sde。

您需要为自己的系统确定正确的驱动器。 例如,您可能有/ dev / sda,或sdb或sdc。

首先,要查看驱动器信息: df

接下来,运行mkdirmount

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

为了在引导时自动执行,我通常使用Perl脚本,它自动检测和调整并为分区提供稳定的名称。

在这个时间点我不需要这个软盘,因此我没有对它进行优化。 也许命令“ mount ... ”不是最佳的….)

一个更通用但有点原始的解决方案是使用sudo...创建一个包含多行的bash / batch文件,在特定的PC上有几个可能的变体/dev/sd...

然后可能会在“启动应用程序”的设置中调用此文件。 我没试过这个。

另外,这不涉及移除或插入不同软盘的方面。 这可以通过一些自动或至少半自动的方式完成….

我不知道上面的方式是否最佳。 在解决了上述问题后,我只想添加有用的信息。

在具有内置软盘驱动器的旧系统上,驱动器被指定为/ dev / fd0。 不幸的是,Ubuntu的后续版本不会自动挂载这些驱动器,也不会在/ media中为它创建目录。

要安装我的驱动器,我首先必须创建一个目录来安装它, /media/floppy 。 然后我可以使用sudo mount /dev/fd0 /media/floppy挂载它。

确保驱动器中有软盘,否则无法安装! 不要sudo mount ,否则你只能使用root权限访问。

首先,要查看驱动器信息,请运行df

在我的系统上有一个HD,软盘显示为sdbsda是硬盘)

然后安装:

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

例如:

 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 

我写了一个小脚本,当你运行它时会自动检测到驱动器ID,需要一些驴工作。 这并不完美,因为它可能会检测到错误的东西(注意评论),但它似乎对我来说大部分时间都有效:

 #!/bin/bash # mount a usb floppy drive on /media/floppy # NB we _assume_ other drives, eg 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 

要做一个干净的卸载:

 #!/bin/bash # unmount a floppy drive mounted on /media/floppy sudo umount /media/floppy sudo rmdir /media/floppy echo fdd unmounted from /media/floppy 

如果软盘未显示在安装列表中,则可能存在Ubuntu检测软盘驱动器的问题。 我认为在我们能够理解问题及其解决方案之前,我们需要有关该问题的更多信息。 由于这是一个USB设备,您可以使用lsusb日志查看Ubuntu是否检测到该设备。 寻找处理硬件检测问题的好地方是 – https://wiki.ubuntu.com/DebuggingHardwareDetection

您将需要将驱动器插入 – Ubuntu很乐意在下次插入驱动器时将/ dev / sdc或/ dev / sdd重新分配给驱动器,因为这就是我的情况。

由于驱动器上没有文件系统,因此您可能无法获得UUID来唯一标识文件系统。

如http://ubuntuforums.org/showthread.php?t=1641104所示,安装它的最简单方法是:

  1. 识别驱动器的设备,
 sudo df udisks --enumerate 

例如,我的是/ dev / sdc,但只是为了确保:

 udisks --show-info /dev/sdc 
  1. 使用udisks命令安装它
 sudo udisks --mount /dev/sdc