Ubuntuで使用する必要がある東芝USBフロッピードライブがあります。接続してフロッピーディスクを挿入しても、Ubuntu 10.10の下には何もマウントされていません。
ハードウェアやフロッピーディスクに欠陥があるのではないかと疑っていたので、フロッピーディスクとフロッピードライブ自体をWindows XPでテストしましたが、すべて問題ありませんでした。
次の指示を見つけることができました。
/ etc/modulesファイルに次の行を追加します。
floppy
次のシェルコマンドを入力します。
mkdir /media/floppy
mount -t vfat /dev/sdc /media/floppy -o uid=1000
これでフロッピーがマウントされますが、これが自動的に行われるようにするため、ドライブをUSBポートに接続すると、フロッピーが自動的にマウントされます。
この作業を行うにはどうすればよいですか?または、Ubuntuは内部フロッピードライブでのみ動作しますか?
次の手順は、Ubuntu 12.04ですぐに機能しました。
備考:df
コマンドは、/ dev/sddがd使用中の最後に割り当てられたドライブであることを示していることを示しています。次の利用可能なものを見つけるためにこれを知る必要があり、それは後続のSudo mount ...
コマンドで使用されます。私の場合、次のドライブは/ dev/sdeになります。
ご使用のシステムに適したドライブを決定する必要があります。たとえば、/ dev/sda、sdb、またはsdcがあります。
そのため、最初に、ドライブ情報を表示するには:df
次に、mkdir
およびmount
を実行します。
mkdir /mt/ee1
Sudo mount -t vfat /dev/sde /mt/ee1 -o uid=1000
ブート時の自動実行には、通常、Perlスクリプトを使用します。Perlスクリプトは、自動的に検出して適応し、パーティションに安定した名前を付けます。
現時点では、フロッピーの場合、これは必要ありません。したがって、最適化しませんでした。おそらく、コマンド「mount ...
」は最適ではありません。..)
より一般的ではありますが、少し原始的な解決策は、特定のPCで複数の可能性のあるバリアントSudo...
を使用して、上記のように/dev/sd...
で複数行のbash/batchファイルを作成することです。
次に、「スタートアップアプリケーション」の設定でこのファイルの呼び出しが行われる場合があります。私はこれをテストしませんでした。
また、これは、別のフロッピーディスクを取り外したり挿入したりする側面には対応していません。これは、自動または少なくとも半自動で行うことができます。
上記の方法が最適かどうかわかりません。上記の回答で自分の問題を解決した後、役立つ情報を追加したかっただけです。
実行時にドライブIDを自動検出し、いくつかのロバ作業を実行する小さなスクリプトを作成しました。間違ったものを検出する可能性があるため(コメントに注意してください)、これは完全ではありませんが、ほとんどの場合はうまくいくようです:
#!/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
クリーンアンマウントを行うには:
#!/bin/bash
# unmount a floppy drive mounted on /media/floppy
Sudo umount /media/floppy
Sudo rmdir /media/floppy
echo fdd unmounted from /media/floppy
ドライブにフロッピーディスクがあるか、マウントするものがないことを確認してください! Sudo mount
をしないでください。さもないと、root権限でしかアクセスできません。
最初に、ドライブ情報を表示するには、df
を実行します。
1つのHDを搭載したシステムでは、フロッピーはsdb
(sda
はハードドライブでした)として表示されます
次にマウントする:
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
フロッピードライブが組み込まれている古いシステムでは、ドライブは/ dev/fd0として指定されています。残念ながら、Ubuntuの今後のリリースでは、これらのドライブが自動的にマウントされることも、/ mediaにディレクトリが作成されることもありません。
ドライブをマウントするには、まずマウントするディレクトリ/media/floppy
を作成する必要があります。その後、Sudo mount /dev/fd0 /media/floppy
を使用してマウントできます。
ドライブを接続したままにしておく必要があります。Ubuntuは、次回プラグインするときに/ dev/sdcまたは/ dev/sddを再割り当てします。
ドライブにはファイルシステムがないため、ファイルシステムを一意に識別するUUIDを取得できない場合があります。
マウントリストにフロッピーが表示されない場合、Ubuntuがフロッピードライブを検出する際に問題がある可能性があります。問題とその解決について理論化する前に、問題に関する詳細な情報が必要だと思います。これはUSBデバイスなので、lsusbログを使用して、デバイスがUbuntuによって検出されたかどうかを確認できます。ハードウェア検出の問題を扱うのに適した場所は次のとおりです- https://wiki.ubuntu.com/DebuggingHardwareDetection
http://ubuntuforums.org/showthread.php?t=1641104 に示すように、これをマウントする最も簡単な方法は次のとおりです。
Sudo df udisks --enumerate
たとえば、私のものは/ dev/sdcでしたが、念のため:
udisks --show-info /dev/sdc
Sudo udisks --mount /dev/sdc