해결책

해결책

저는 Ubuntu 14.10 서버(헤드리스)를 실행하고 있습니다.

여러 장치에서 사용하기 위해 다시 포맷해야 하는 USB 플래시 드라이브 세트가 있습니다. 세 개의 장치를 성공적으로 마운트하고, 포맷하고, 파일을 복사하고, 제거했습니다. 네 번째 파티션을 마운트한 후 시스템은 해당 드라이브의 첫 번째 파티션이 이미 마운트되어 있다고 생각합니다. 이전에 서버에 연결한 적이 없습니다.파티션을 전혀 마운트하거나 마운트 해제할 수 없습니다.이 시점에서는 어딘가에서 내 잘못이라고 생각하지만 상황을 정상으로 되돌릴 수는 없습니다.


장비

USB 드라이브는 두 개의 파티션과 빈 8MB 헤더로 포맷됩니다. 이 표는 특수 장비에 사용되기 때문에 필요합니다. 장치당 크기 약 2GB

USB Partition table (to-be): [-EMPTY 8MB-|-- >1.1GB FAT 16--|--751MB FAT16--]

USB 장치에는 사전 포맷된 Ext4 또는 Fat16 파티션이 하나 이상 있어야 합니다.

상태

새로운 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문제가 되는 설치 항목을 수동으로 편집하여 제거할 수 있습니다.

관련 정보