읽기 전용으로 표시되는 USB 장치


122

우분투 14.04를 사용하고 있습니다.

8GB FAT32 USB 스틱과 500gb FAT32 HDD가 있습니다. 이 두 가지 모두 갑자기 읽기 전용 장치가되었습니다.

내부에서 디렉토리를 삭제 /media한 다음 다시 작성하여 이름을 바꾸고 해당 디렉토리에 전체 권한을 부여하려고했습니다. 그러나 이것은 작동하지 않았습니다.

결과 mount:

$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro) 
proc on /proc type proc (rw,noexec,nosuid,nodev) 
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) 
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw) 
none on /sys/kernel/debug type debugfs (rw) 
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755) 
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) 
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) 
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) 
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) 
none on /sys/fs/pstore type pstore (rw) 
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=simon)

결과 sudo parted -l:

Model: ATA ST9500325AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size    Type      File system     Flags
 4      1049kB  500GB  500GB   extended
 5      2097kB  496GB  496GB   logical   ext4
 6      496GB   500GB  4238MB  logical   linux-swap(v1)


Model: Verbatim STORE N GO (scsi)
Disk /dev/sdb: 8028MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      24.6kB  8028MB  8028MB  primary  fat32        boot

결과 lsblk:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda4   8:4    0     1K  0 part 
├─sda5   8:5    0 461.8G  0 part /
└─sda6   8:6    0     4G  0 part [SWAP]
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part /media/simon/LYDIA
sr0     11:0    1  1024M  0 rom 

USB 쓰기 테스트 :

$ cd /media/simon/LYDIA
$ touch newfile001
touch: cannot touch ‘newfile001’: Read-only file system 

결과 dmesg:

[  159.366772] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be       corrupt. Please run fsck.
[  159.383252] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.383258] FAT-fs (sdb1): Filesystem has been set read-only
[  159.383571] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.384251] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.384319] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.475111] systemd-hostnamed[2966]: Warning: nss-myhostname is not installed.
Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[  159.480141] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480224] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480497] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480516] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[ 2893.091767] wlan0: deauthenticating from c0:3e:0f:31:21:05 by local choice   (reason=3)

장착했을 때 그것을 질식 시키는가? 어떻게 마운트합니까? 루트로? 파일 관리자의 자동 마운트로 자동 마운트 하시겠습니까?
— davidbaumann

나는 일반적으로 USB 스틱을 꽂은 다음 창이 나타나거나 파일을 열고 끌어다 놓을 수 있습니다. 나는 일반적으로 복사 또는 이와 유사한 것을 위해 터미널을 사용하지 않습니다.
— oodles2do

플러그를 꽂고 열고 결과를 추가 mount하십시오.
— davidbaumann

바보 같이 들리는 것이 아니라 정확히 무엇을 의미합니까? 터미널에 어떤 코드를 넣어야합니까? 그것이 당신이 의미하는 바라면 감사합니다!
— oodles2do

mount정확히;)
— davidbaumann

답변:


248

이 버그를 참조하십시오 .

노틸러스 (파일)를 종료하려면이 명령을 실행하십시오.

killall nautilus

45
와우, 나는 그것이 효과가 있다고 믿을 수 없다
— JeD

11
나는 저주받을 것이다, 이것은 작동한다 haha
— Tek

6
나는을 사용 nemo하고있어서 killall nemo작동합니다.
— Oki Erie Rinaldi 4

14
2018 년에도 여전히 작동하는 것은 슬픈 일입니다 (Ubuntu 16.04.3 LTS)
— Andrew

2
내가 본 이상한 수정. 여전히 우분투 18.04
— CodeMonkey

74

USB 키를 랩톱에 연결할 때 :

  • 실행 sudo -i(항상 비밀번호를 입력하지 않도록)
  • 실행 df -Th(USB 스틱이 장착 된 위치를 확인하기 위해)
  • USB 스틱을 마운트 해제하십시오
  • 실행 dosfsck당신이 당신의 이전 명령에서 본 장치에. 예:dosfsck /dev/sdc1
  • USB 스틱을 분리했다가 다시 연결

문제가 해결되었습니다.

이제 HDD의 경우이 질문에 대한 답변을 따르십시오 . 외장 HDD에 관한 것이지만 귀하의 경우와 동일합니다.


1
당신의 도움을 주셔서 감사합니다! umount / dev / sdb1을 입력하면 USB 스틱을 마운트 해제하는 데 올바른지 입력 한 것입니까? 또한 dosfsck를 사용하는 방법을 모르겠습니다. 링크도 감사합니다
— oodles2do

3
@SimonBremford USB가 /dev/sdb1물론 마운트되어 있으면 명령이 옳습니다. 다른 질문에 대해서는 다음과 같이 입력하십시오.dosfsck -a /dev/sdb1

23
도움을 주셔서 감사하지만 작동하지 않았습니다. USB 스틱은 여전히 ​​읽기 전용입니다. USB 스틱 자체가 아닌 Ubuntu의 문제라고 생각합니다. 그리고 동시에 하나 이상의 USB 장치에 영향을 미친다는 사실.
— oodles2do

3
때로는 가장 쉬운 방법은 다시 시작하는 것입니다
— Gayan Weerakutti

2
재부팅이 실제로 필요하다는 답변을 추가하는 것이 유용합니다.
— Artem Pelenitsyn

20

GParted를 사용하여 파티션 테이블을 설정하고 USB 스틱을 포맷 할 때도 같은 오류가 발생합니다. 그 후 모든 USB 드라이브가 "읽기 전용"상태가되었습니다.

그러나 루트 복사에서 잘 작동했습니다 ...

컴퓨터를 다시 시작한 후 문제가 발생했습니다. 따라서 GParted를 사용할 때이 문제가 발생할 수 있습니다.


아래에 게시 된 작업 솔루션과 이에 Serrano대한 의견을 참조하십시오 . 뿐만 아니라 나를 위해 기원은 사용에서 온 GPated...
— 안토니오

16

나도이 문제가 있었다. USB 스틱에 복사하는 동안 오류가 발생했습니다. Caja 파일 관리자와 함께 Mint 17.1 cinnamon, 커널 3.13.0-43을 사용하고 있습니다.

터미널 'dir / media'의 미디어 디렉토리를 보았을 때 레이아웃이 변경되었음을 알았습니다. 일반적으로 여기에 나열된 드라이브가 표시되지만 이제는 사용자 이름 아래에 나열되며 무엇을 추측합니까? 해당 사용자 이름에는 루트 권한 만 있습니다.

내가 한 것은 타이핑하는 것이 었습니다

sudo chown [username] /media/[username]

과

sudo chgrp [username] /media/[username]

[username]을 사용자 이름으로 바꾸고 USB 스틱을 제거한 다음 기다렸다가 다시 넣습니다. 문제가 해결되었습니다. 이제 쓸 수 있습니다!


나를 sudo chown [username] /media/[username]위해 잘 작동했습니다. 나는 심지어 USB 스틱을 꺼낼 필요가 없었고 (나도 필요하지 않았다 chgrp-나는 Xubuntu 16.04에있다)
— Nicolas

답변 주셔서 감사합니다. 미디어 자체에는 문제가 없지만 장착 지점에 문제가 있기 때문에 허용되는 답변이어야합니다.
— agim

chown도 그룹을 변경할 수 있으며 chown [username]:[groupname] filesrunning chown과 같습니다 chgrp. 참조man chown
— Xen2050

1
chown [username]: files`chown``이 기본적으로 사용자 로그인 그룹으로 설정되므로 @ Xen2050이 더 좋습니다 .
— Lucas

@ 루카스 감사합니다. 그것은 man페이지에 영리하게 숨겨져 있지만 페이지에서 볼 수 있습니다 info[man & info 페이지가 일치하면 정말 좋을 것입니다 ...]
— Xen2050

11

나는 우분투에서 같은 문제를 겪어 왔으며 여기에 주어진 대답 중 어느 것도 나를 위해 일하지 않았다. 내가 시도한 것은 다음과 같습니다.

  • GParted를 사용하여 장치를 포맷하십시오. 심지어 성공하지 않고 파티션 테이블을 다시 만들려고했습니다.
  • 로 장치를 확인하십시오 fsck. 문제가 발견되지 않았습니다.
  • 탑재 지점의 권한을 수정했습니다. 마운트 지점이 루트 소유 였음이 밝혀졌지만, 자신을 소유자로 만든 후에도 명령 줄을 통해서만 장치에 쓸 수있었습니다 (GUI에서 파일을 만들 수는 없음).

나는 USB 스틱을 연결하면, 그것은 아래에 장착됩니다 /media/<username>/<label>/여기서 <username>사용자 이름과 <label>USB 스틱 또는 저장 장치의 레이블입니다.

나는 권한을 다시 보았다.

$ ls -ld /media/<username>
drwxrwx---+ 2 <username> <username> 4096 Mar  4 18:32 /media/<username>

주목 +권한의 끝에서. 그것은 나에게 새로운 것이며 전에는 눈치 채지 못했습니다. 이는 디렉토리에 ACL (Access Control List)이라는 확장 권한이 있음을 의미합니다 (이 관련 질문 참조 ). 이 디렉토리에 대한 ACL 세부 사항을 나열했습니다.

$ getfacl /media/<username>
# file: <username>/
# owner: <username>
# group: <username>
user::rwx
user:<username>:r-x
group::---
mask::r-x
other::---

보시다시피, user:<username>:r-x내 사용자 이름에 대한 추가 항목이있어 읽기 권한 만 부여합니다. 나는 간단한 명령으로 이것을 고쳤다.

setfacl -m u:<username>:rwx /media/<username>

USB 장치를 분리했다가 다시 연결했는데 문제가 해결되었습니다.


1
승인. 고마워, 이것이 해결책이었다. 그러나 결국 restart your computer에는에 액세스 할 수 있어야합니다 mounted USBs. 내가 생각할만한 또 다른 요점은이 문제는에서 끝났다 creating a new gpt partition table는 것 USB stick입니다 GParted. 결과적으로 모든 USB가 영향을 받았습니다. 에있는 사람 GParted은 다르게 행동해야한다 ...
— Antonio

9

Gparted를 사용하여 형식을 지정했습니다. 디스크의 모든 데이터가 지워지고 문제가 해결되었습니다.


1
예, 잘 작동합니다. msdos유형 으로 새 partiton 테이블 을 작성한 다음 fat32를 사용하여 하나의 큰 패리티 턴을 작성 해야합니다 .
— vskubriev

1
이 답변은 스텁이라고 생각합니다. 확장하십시오.
— Léo Léopold Hertz 준영

6

mountsda5 (your /) 만 마운트 되었을 때 읽고 쓰기 ( rw)되었으므로 쓸 수 있어야합니다. 일반적으로, 같은 디렉토리의 대부분은 /sys, /bin루트 (당신이 필요로하는 것에만 쓸 수 있습니다 sudo첫번째),하지만 홈 폴더는 일반 사용자에게 쓰기 가능해야한다.

홈 폴더에 파일을 만들 수 있습니까? 어쩌면 gui 파일 관리자가 읽기 전용이라고 생각할 수도 있습니다. 터미널에서 시도하면 작동합니까? 예를 들어, 이러한 명령이 작동합니까?

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

성공적으로 작동하면 HD (sda5)에 쓸 수 있습니다.


USB 드라이브의 경우, 플러그를 꽂고 마운트 한 후 해당 드라이브 mount를 찾아 ( /dev/sdb1 ...라인) 살펴보고의 마운트 옵션 ()이 rw(읽기-쓰기) 인지 확인한 후 쓸 수 있어야합니다. 그것이 ro(읽기 전용) 있다면 이것을 시도하고 그것이 변경되는지 확인하십시오 :

sudo mount -o remount,rw /dev/sdb1 /media/simon/LYDIA

파일 시스템 (fs)에 오류가있는 경우로 마운트 될 수 ro있으며 dmesg&에 메시지가 있어야합니다 /var/log/syslog. 이것은 당신의 로그가 보여주는 것입니다 :

[  159.366772] FAT-fs (sdb1): Volume was not properly unmounted. Some data may  
be corrupt. Please run fsck.
[  159.383252] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.383258] FAT-fs (sdb1): Filesystem has been set read-only

여기에는 fs가 어떻게 손상 될 수 있는지에 대한 단서가 포함됩니다. "올바로 마운트 해제되지 않았습니다"는 무엇이든 분리하기 전에 항상 마운트 해제해야합니다. 대부분의 파일 관리자에는이를 도와주는 "꺼내기"가 있습니다.

dmesg: 로그는 또한 그것을 해결하는 방법을 말한다 fsck는 바로 체크 프로그램을 선택하려고 FS 오류를 수정하려고하거나 명시 적으로 하나를 선택할 수 있습니다fsck.vfat 또는 fsck.[other]누른 TAB후하는 fsck.옵션을 나열합니다.

  • FAT 시스템의 경우 (종종 두 번 실행해야하며 항상 모든 오류를 처음 수정하지는 않습니다)
    • fsck.vfat -vaV [device] 자동으로 작동 (-a)하고 더 많은 정보를 표시 (-v)하고 "확인"패스 (-V)를 수행해야합니다.
    • fsck.vfat -a [device]

참고 : 이렇게하면 파일 시스템이 고정 된 상태로 유지된다고 보장 할 수 없으며 다시 손상 될 수 있으며 정확한 이유를 알 수 없을 수도 있습니다. USB 드라이브를 제거하기 전에 항상 마운트 해제 / "꺼내기"하십시오.

참고 FS의 경우 와 같은 마운트rw ,하지만 오류가 볼 수 있습니다 및이됩니다 자동으로 다시 마운트ro , 마운트 명령이 있습니다 아직 장착 보고서rw . 이 파일을 살펴보면 less /proc/mounts일반적으로보다 신뢰할 수있는 정보가 표시됩니다 (참조man mount ).


무언가가 마운트 rw되었지만 여전히 파일을 추가 / 삭제 / 편집 할 수없는 경우 파일의 소유자가 아닐 수 있습니다. 일부 fs에서는 chown소유자가 될 수 있지만 sdb1과 같은 FAT32 fs에는 해당 권한이 없습니다. 마운트 옵션으로 마운트 할 때 설정됩니다 uid=value(값은 사용자 ID, echo $UID또는로 배우십시오 id -u). 이를 시도하고 나중에 작동하는지 확인할 수 있습니다.

sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • 참고 : 때로는 파일 시스템 / 드라이브에 쓸 수있는 마운트 변경을 "알려"주기 위해 gui 파일 관리자를 다시 시작해야 할 수도 있지만 터미널은 항상 작동해야합니다.

위에서 작동하지 않는 경우 또는 시도 sudo su아무것도 (와 USB에 파일을 읽고 쓸 수 있는지 확인하기 위해, "가"루트 touch, echo등)?


귀하의 답변에 감사드립니다. newfile001 명령을 수행했으며 응답으로 "stuff"를 받았습니다. 또한 마운트 명령에서 USB 스틱의 브래킷에 rw가 있으므로 읽을 수 있습니다. 방금 답변 끝에 명령을 시도했지만 작동하지 않았지만 여전히 읽기 전용 장치입니다.
— oodles2do December

적어도 HD가 작동하고 있습니다 ... USB는 쓰기 가능해야합니다 ... cdUSB 폴더에 있다면 echo stuff >> newusbfile비슷한 파일을 쓸 수 있습니까? 아니면 echo stuff | sudo tee newusbfile? 아니면 먼저 sudo su루트가 된 다음 에코, 고양이 등이됩니까?
— Xen2050

cd 명령을 USB 폴더로 어떻게합니까? 방금 / media / simon에 넣은 것 같았지만 USB는 / media / simon / LYDIA
— oodles2do December

USB가 마운트되지 않은 경우 / media / simon / LYDIA는 빈 폴더입니다 (있는 경우). 마운트 된 후에는 마운트 된 폴더가 mountor lsblk인 위치를 cd mounted_folder확인한 다음 파일 mkdir등 sudo su을 작성하고 루트로 쓸 수 있는지 확인할 수 있습니다.
— Xen2050

모든 도움을 주셔서 감사합니다. 파일을 USB 파일에 쓰려고 시도했지만 작동하지 않았습니다. 읽기 전용 파일 시스템이라고합니다. 질문에 코드를 추가하여 내가 한 일을 볼 수 있습니다.
— oodles2do

4

이동 디스크 .

USB 드라이브를 선택하십시오.

추가 파티션 옵션을 클릭하고 파티션 포맷을 선택하십시오 .

그런 다음 지우기 0으로 기존 데이터 덮어 쓰기 (느리게)를 선택 하고 FAT를 입력하십시오 .

인터넷에서 검색 한 후 많은 것을 시도했지만 이것은 나를 위해 일했습니다.


1
드라이브의 모든 데이터가 지워집니다.
— cst1992

NTFS가 필요한 경우 어떻게합니까? NTFS에서도 마찬가지입니다.
— Vadim Kotov


0

빠른 수정 방법 :

방법 1

때때로 우리는 내가 겪는 어려움없이 bash에서 작업을 수행 할 수 있습니다 (Sudo 필요 없음)

mkdir /media/$USER/mydrive/myfolder
cp -r src/ /media/$USER/mydrive/myfolder

그러나 때로는 파일 브라우저를 사용해야 할 때

sudo nautilus /media/$USER/mydrive/

참고 : 이것은 빠른 수정입니다. 위의 다른 답변이 작동하지 않아 좌절하는 경우에만 사용하십시오

방법 2

OS 재부팅


0

아래 전략을 시도하십시오

  1. 수퍼 유저로 /etc/fuse.conf 편집

    변경 #user_allow_other에user_allow_other

  2. 외부 장치에 대한 쓰기 지원 활성화

    • sudo apt-get install ntfs-config
    • sudo ntfs-config

0

파일 시스템이 NTFS이고 안전하지 않은 상태에 있기 때문입니다. 아마도 Windows에서 디스크를 사용하고있을 수 있습니다. 그 이유 중 하나는 창을 최대 절전 모드로 설정하거나 빠르게 다시 시작했기 때문입니다. 따라서 다음 단계 중 하나를 사용하십시오.

  1. 아래 명령을 사용하여 미디어를 마운트 해제하고 Windows (이중 부팅 모드 또는 다른 컴퓨터)로 이동하여 최대 절전 모드 나 빠른 다시 시작이 아닌 창을 완전히 종료하십시오.

    sudo umount /media/"your media label"

그런 다음 Linux로 다시 와서 다음 명령을 사용하여 미디어를 마운트하십시오.

'sudo mount -o rw,mount /your media'
  1. macOs를 사용하는 경우 매체를 Mac 장치에 연결하고 다음 명령을 사용하십시오.

    'sudo / usr / sbin / diskutil disableJournal / Volumes / name-of-media'


0

필요한 것은 3 가지 명령을 따르는 것입니다.

  1. df -Th

결과- 여기에 이미지 설명을 입력하십시오

  1. umount /media/user/KINGSTON (이것은 경로에 마운트됩니다)
  2. dosfsck -a /dev/sdb1 (이것은 파일 시스템 경로입니다)

0

터미널 (ubuntu)에서 다음 명령을 실행하여 Pendrive에 쓰기 권한을 부여하십시오.

  1. df -Th
  2. umount /media/madusanka/KINGSTON

    • "/ media / madusanka / KINGSTON"은 첫 번째 명령으로 제공되는 "마운트 온"값입니다.
  3. sudo dosfsck -a /dev/sdb1

    • "/ dev / sdb1"은 첫 번째 명령으로 제공되는 "파일 시스템"값입니다.
  4. 비밀번호를 입력하십시오

  5. 붙여 넣거나 새 파일을 만들어 Pendrive를 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.