私はUbuntu 14.10サーバー(ヘッドレス)を実行しています。
複数のデバイスで使用するために再フォーマットする必要がある一連のUSBフラッシュドライブがあります。 3つのデバイスを正常にマウントし、フォーマットし、ファイルをコピーして削除しました。 4番目のパーティションをマウントした後、システムはそのドライブの最初のパーティションがすでにマウントされていると思います。以前にサーバーに接続したことはありません。パーティションをまったくマウントまたはマウント解除することはできません。この時点ではどこかで私のせいだと思いますが、状況を正常に戻すことはできません。
装備
USBドライブは2つのパーティションと空の8MBヘッダーでフォーマットされています。この表は特殊機器に使用されるため必要です。デバイスあたりのサイズ約2GB
USB Partition table (to-be): [-EMPTY 8MB-|-- >1.1GB FAT 16--|--751MB FAT16--]
USBデバイスには、事前フォーマットされたExt4またはFat16パーティションが少なくとも1つ必要です。
状態
新しいUSBデバイスを接続しました。デバイスのマウントに失敗しました。
$ sudo mount sdb1
mount: can't find sdb1 in /etc/fstab
$ ls /media # Mounting a partition defaults to here
<empty>
$ pmount sdb1
Error: device /dev/sdb1 is already mounted to /media/sdb1
$ ls /media
<empty>
df
/dev/sdb1
まったく表示されない
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 944392620 35959148 860437980 5% /
none 4 0 4 0% /sys/fs/cgroup
udev 8183068 4 8183064 1% /dev
tmpfs 1638852 5640 1633212 1% /run
none 5120 0 5120 0% /run/lock
none 8194244 0 8194244 0% /run/shm
none 102400 4 102396 1% /run/user
/dev/sda1 523248 3436 519812 1% /boot/efi
fdisk
デバイスを正しく表示
Disk /dev/sdb: 1.9 GiB, 1993342976 bytes, 3893248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5651d77f
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2353151 2351104 1.1G 83 Linux
/dev/sdb2 2353152 3893247 1540096 752M 6 FAT16
GParted
デバイス(サイズ、パーティション、テーブルなど)が正しく表示されますが、マウントされたとおりに表示さsdb1
れます。パーティションを削除してext4でフォーマットすることはできますが、Fat16ではフォーマットできません。
私できるただし、存在するすべてのファイルをsdb2
マウントして確認します。pmount
削除、パーティショニング、削除は常に成功します。他のデバイス(たとえば)を接続すると、sdc
問題なく変更できます。このデバイスを交換しても問題なくsdc
アクセスsdb
できます。
sdb1
以前のデバイスを台無しにして正しく削除しなかったため、この問題が発生したとします。また、実行時にエラーが表示されないmkfs.vfat
ため、問題があると仮定します。mkfs.ext3,mkfs.ext4
この問題を解決する方法はありますか?私の(唯一の)解決策はシステムを再起動することですか?私たちは複数のデータ収集とデータホスティングサービスを実行しているので、これを避けたいと思います。
解決策
非常にありがとうスティーブ彼の簡単な解決のため。すべての検索で私はこれを見つけることができませんでした。
df
、、、が機能しない場合は、fdisk -l
次umount -l
の手順をpumount
確認する必要があります。/etc/mtab
ファイルには次の内容が含まれています。
/dev/sda2 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,nodev,noexec,nosuid 0 0
sysfs /sys sysfs rw,nodev,noexec,nosuid 0 0
none /sys/fs/cgroup tmpfs rw,uid=0,gid=0,mode=0755,size=1024 0 0
. . .
systemd /sys/fs/cgroup/systemd cgroup rw,nosuid,noexec,nodev,none,name=systemd 0 0
/dev/sdb1 /media/sdb1 ext4 rw,nodev,nosuid,noexec,errors=remount-ro,user 0 0
最後の行が問題の原因です。削除するだけですべての問題が解決されます。
これを試す前に、他のガイド/ソリューションを試してください。他のサービスがこのパーティションを積極的に読み取り/書き込み/ロックしようとすると、これがあなたのシステムまたはデバイスに与える影響についてはわかりません。
答え1
umount -f /media/sdb1
またはを試してくださいumount -l /media/sdb1
。
他のすべての方法が失敗した場合は、問題/etc/mtab
のあるインストール項目を手動で編集して削除できます。