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