Salt okunur olarak gösterilen USB aygıtları


122

Ubuntu 14.04 kullanıyorum.

8GB FAT32 USB bellek ve 500 GB FAT32 HDD'm var; bunların ikisi birden aniden salt okunur aygıtlar haline geldi.

İçindeki dizini silmeyi /mediave sonra tekrar oluşturmayı, yeniden adlandırmayı ve bu dizine tam izinler vermeyi denedim . Ancak bu işe yaramadı.

Sonuçları 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)

Sonuçları 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

Sonuçları 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 yazma testi:

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

Sonuçları 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)

monte edildiğinde, onu boğmak? Nasıl monte edersiniz? Kök olarak mı? Dosya yöneticisinin automount ile otomatik montaj?
davidbaumann

Ben normalde usb çubukları taktım ve sonra pencereyi açtım ya da dosyaları açıp sürükleyip bırakmam benim için uygun. Normalde terminali herhangi bir fotokopi veya benzeri bir şey için kullanmıyorum.
oodles2do

mountLütfen fişini takın, açın ve lütfen sonucunu ekleyin .
davidbaumann

Aptalca konuşmak istemem ama tam olarak ne demek istiyorsun? Terminale hangi kodu koyayım? Eğer yapmak istediğin buysa. Teşekkürler!
oodles2do

mounttam olarak;)
davidbaumann

Yanıtlar:


248

Bu hatayı görün .

Nautilus'u (Dosyalar) öldürmek için bu komutu çalıştırın:

killall nautilus

45
Vay canına, bunun işe yaradığına inanamıyorum
JeD

11
Lanet olsun, bu haha ​​çalışır
Tek

6
Kullanıyorum nemo, yaptım killall nemove işe yarıyor.
Oki Erie Rinaldi

14
2018'de hala çalıştığı üzücü (Ubuntu 16.04.3 LTS)
Andrew,

2
En garip düzeltme gördüm. Hala Ubuntu'da çalışıyor 18.04
CodeMonkey

74

USB anahtarınızı dizüstü bilgisayarınıza taktığınızda:

  • Çalıştır sudo -i(şifrenizi her zaman yazmamanız için)
  • çalıştırmak df -Th(USB çubuğunuzun nereye monte edildiğini görmek için)
  • USB belleğinizi çıkarın
  • dosfsckönceki komutunuzdan gördüğünüz cihazı çalıştırın . Örnek:dosfsck /dev/sdc1
  • USB çubuğunu çıkarın ve yeniden takın

Şimdi sorun çözülmeli.

Şimdi, HDD'niz için lütfen bu sorunun cevabını izleyin . Harici bir HDD ile ilgili ancak durumunuz için aynı şey.


1
Yardımınız için teşekkürler! Ne söylediğini yapmaya çalıştım, usb çubuğumu sökmek için umount / dev / sdb1 yazarak doğru mu? Ayrıca, dosfsck'in nasıl kullanılacağını bilmiyorum. Bağlantı için de teşekkürler
oodles2do

3
@SimonBremford eğer USB'niz /dev/sdb1elbette monte edildiyse komutunuz doğru. Diğer sorunuz için, aşağıdakini yazın:dosfsck -a /dev/sdb1

23
Yardımlarınız için teşekkürler, ancak işe yaramadı. USB bellek sadece hala okunur. Bence aniden olduğu gibi görmek, usb çubuğun kendisinden çok Ubuntu ile ilgili bir sorun. Ve aynı anda birden fazla usb cihazdan etkilendiği gerçeği.
oodles2do

3
Bazen yapılacak en kolay şey yeniden başlatmaktır
Gayan Weerakutti

2
Gerçekten bir yeniden başlatma gerektiğinin cevabını eklemek faydalı olacaktır.
Artem Pelenitsyn

20

GParted kullanarak bölüm tablosunu ayarlamak ve USB çubuğumu biçimlendirmek için aynı hatayı aldım .. bundan sonra tüm USB sürücüleri "salt okunur" konumuna geçti.

Ancak kök kopyalama altında iyi çalıştı ...

Makine yeniden başlatıldıktan sonra sorun giderildi. Bu yüzden GParted kullanırken bu problemin ortaya çıkabileceğini tahmin ediyorum.


Aşağıdaki çalışma çözümüne Serranove bu konudaki yorumuma bakın . Benim için de köken kullanmaktan geldi GPated...
Antonio

16

Bende de bu problem vardı. USB belleğime kopyalarken bir hatayla karşılaştım, Mint 17.1 tarçın, çekirdek 3.13.0-43'ü caja dosya yöneticisi ile kullanıyorum.

'Dir / media' terminalindeki medya dizinine baktığımda, düzenin değiştiğini gördüm, normalde burada listelenen sürücüleri görmeyi beklersiniz, ama şimdi kullanıcı adınız altında listeleniyorlar ve tahmin et ne oldu? Bu kullanıcı adının yalnızca KÖK izinleri var.

Yaptığım şey yazmaktı

sudo chown [username] /media/[username]

ve

sudo chgrp [username] /media/[username]

[kullanıcı adı] yerine kullanıcı adınızı koyduğunuzda, usb çubuğu çıkardınız, beklediniz ve sonra tekrar yerine koydum, sorun çözüldü, şimdi yazabilirim!


Benim için iyi sudo chown [username] /media/[username]çalıştı. USB bellek çubuğunu çıkartmak zorunda bile değildim (ihtiyacım yoktu chgrp- Xubuntu 16.04'um)
Nicolas

Cevabınız için teşekkürler. Bu, kabul edilen cevap olmalıdır, çünkü medyanın kendisiyle değil, montaj noktasıyla ilgili bir sorun var.
agim

chown grubu da değiştirebilir, chown [username]:[groupname] fileskoşmaya eşdeğerdir chownve sonra chgrp. Bakınızman chown
Xen2050

1
@ Xen2050, daha da iyisi, chown [username]: filesçünkü “chown”, kullanıcıların giriş grubuna varsayılan olacaktır.
Lucas

@Lucas teşekkürler bu daha iyi. manSayfada zekice gizlenmiş , ancak sayfada görünür info[adam ve bilgi sayfaları eşleşirse çok iyi olurdu ...]
Xen2050

11

Ubuntu'da da aynı problemi yaşıyorum ve şimdiye kadar verilen cevapların hiçbiri benim için işe yaramadı. İşte denedim:

  • GParted kullanarak cihazı biçimlendirin. Bölümleme tablosunu yeniden oluşturmayı bile başardım.
  • İle cihazı kontrol edin fsck. Sorun bulunamadı.
  • Bağlama noktasının izinleri düzeltildi. Bağlama noktasının kök ait olduğunu, ancak kendimi sahibini yaptıktan sonra bile, yalnızca komut satırından aygıta yazabiliyorum (yine de GUI'den dosya oluşturamadım).

Ben bir USB bellek bağlamak zaman, altına monte alır /media/<username>/<label>/, nerede <username>adımı ve <label>USB stick veya depolama aygıtının etikettir.

İzinlere tekrar baktım:

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

+İzinlerin sonunda dikkat edin . Bu benim için yeni ve daha önce hiç farketmedim. Bu, dizinin Erişim Kontrol Listesi (ACL) adı verilen genişletilmiş izinleri olduğu anlamına gelir (bu soruya bakın ). Bu dizinin ACL ayrıntılarını listeledik:

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

Gördüğünüz gibi, user:<username>:r-xkullanıcı adıma ek bir giriş var , bu sadece bana okuma erişimi sağlıyor. Bunu basit bir komutla düzelttim:

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

USB aygıtımı çıkardım, tekrar taktım ve sorun çözüldü.


1
TAMAM. Teşekkürler, çözüm buydu. Ancak sonunda restart your computer, tam erişime sahip olmanız gerekir mounted USBs. Buna değer bir nokta daha inanıyorum ki, bu sorun creating a new gpt partition tablebir USB stickile birlikte oldu GParted. Daha sonra tüm USB'lerim etkilendi. Kesinlikle çocuklar GPartedfarklı davranmalı ...
Antonio

9

Gparted kullanarak formatladım. Bu diskteki tüm verileri sildi ve sonuçta da sorunu düzeltti.


1
Evet, işe yarıyor. msdosTür olarak yeni bir partiton tablosu yaratmalı ve daha sonra fat32 ile büyük bir bölüm oluşturmalısınız.
vskubriev

1
Bence bu cevap bir saplama. Lütfen genişletin.
Léo Léopold Hertz 준영

6

mountSadece koştuğunuzda sda5 (sizin /) monte edildi, ve okuma-yazma ( rw) idi, bu yüzden ona yazabilmelisiniz. Normalde gibi dizinlerin çoğunda /sys, /binroot tarafından (Size gereken tek şey sadece yazılabilir olan sudoilk), ancak ev klasörü düzenli kullanıcıya yazılabilir olmalıdır.

Ana klasörünüzde herhangi bir dosya oluşturabilir misiniz? Belki de GUI dosya yöneticiniz salt okunur olduğunu düşünerek takılıyor, bir terminalde bakarsanız çalışır? Örneğin, bu komutlar işe yarıyor mu ?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

Bunlar başarıyla çalışırsa, HD'nize yazabilirsiniz (sda5).


USB sürücü için, takılıp takıldıktan sonra, onu mountbulmaya ( /dev/sdb1 ...çizgi) bakın ve ()' s'deki montaj seçeneğinin rw(okuma-yazma) olup olmadığına bakın, sonra yazabilmeniz gerekir. Eğer öyleyse ro(salt okunur) bunu deneyin ve değişip değişmediğine bakın:

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

Dosya sistemi (fs) 'nin olduğu gibi monte edilebileceği hataları varsa, robunun içinde dmesg& içinde de mesajlar bulunmalıdır /var/log/syslog. Günlüklerin gösterdiği şey:

[  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

Bu, fs'nin nasıl bozulduğuna dair bir ipucu içerir - "uygun şekilde sökülmemiş", bir şeyi çıkarmadan önce her zaman çıkarmanız gerekir. Çoğu dosya yöneticisi bu konuda yardımcı olacak bir "çıkar" a sahiptir.

dmesgGünlük aynı zamanda bunu düzeltmek için nasıl ki: fsckfs hataları düzeltmek için deneyebilirsiniz, bunun doğru çek programı almaya çalışır veya birlikte açıkça bir seçim olabilir fsck.vfatya fsck.[other]basarak TABsonra fsck.seçenekleri listelenmelidir.

  • Bir FAT sistemi için (genellikle iki kez çalıştırmanız gerekir, ilk seferde tüm hataları her zaman düzeltmez)
    • fsck.vfat -vaV [device] otomatik olarak çalışmalı (-a) ve daha fazla bilgi göstermeli (-v) ve "doğrulama" geçişi yapmalı (-V) ya da sadece:
    • fsck.vfat -a [device]

NOT : Bu dosya sisteminin sabit kalacağını garanti etmeyecek, tekrar bozulabilir ve nedenini tam olarak bilmek imkansız olabilir. USB sürücülerini çıkarmadan önce daima çıkarın / "çıkartın".

Not Bir fs eğer olarak bağlarrw , ama sonra hatalar görülür & o alır otomatik olarak yeniden montero , bağlama komutu verebilir hala astığımda raporrw . Bu dosyaya bakmak less /proc/mountsgenellikle daha güvenilir bilgiler göstermelidir (bkz. man mount).


Bir şey monte edilmişse, rwancak yine de üzerine dosya ekleyemiyor / silemiyor / düzenleyemiyorsanız, dosyaların sahibi olmayabilir. Bazı fs chownsahiplerinin sahibi olabilirsiniz, ancak sdb1'deki gibi bir FAT32 fs bu izinlere sahip değildir; mount seçeneğiyle monte edildiğinde ayarlanırlar uid=value(değer sizin kullanıcı adınızdır, echo $UIDveya ile öğrenin id -u) sonra bunu deneyebilir ve daha sonra çalışıp çalışmadığını görebilirsiniz:

sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • Not: Bazen, dosya sistemine / sürücüye yazmanıza izin veren mount değişikliğini "farketmesi" için gui dosya yöneticinizi yeniden başlatmanız gerekebilir, ancak bir terminal her zaman çalışmalıdır.

Yukarıda işe yaramazsa Veya, denemek sudo suherhangi bir şey (ile USB dosyalara yazabilir olmadığını görmek için, "hale" köküne touch, echovs.)?


Cevabınız için teşekkürler, newfile001 komutlarını yaptım ve bir cevap olarak "şeyler" aldım. Ayrıca, mount komutundan usb stick için parantez içinde rw vardır, bu yüzden okuma-yazma yapabilmeliyim. Cevabınızın sonundaki komutları yeni denedim, ancak işe yaramadı, hala salt okunur bir cihaz.
oodles2do

En azından HD çalışıyor ... USB yazılabilir olmalı ... eğer cdbir USB klasörüne yazarsanız, echo stuff >> newusbfilebenzer veya herhangi bir dosya yazabilir misiniz ? Ya da echo stuff | sudo tee newusbfile? Ya da ilk sudo su"kök" olmak, sonra yankı, kedi vb.
Xen2050

Cd komutlarını USB klasörüne nasıl yaparım? Sanırım az önce / media /
simon'a

USB takılı değilse, / media / simon / LYDIA sadece boş bir klasördür (eğer oradaysa). Bunu, ona astığımda klasör ile görebilirsiniz astığımda sonra mountveya lsblkdaha sonra, cd mounted_folderve dosyaları yazmayı deneyin mkdir, vb ... gibi sudo susiz de kök olarak yazabilirsiniz eğer ... görmek
Xen2050

Tüm yardımlarınız için teşekkürler, sadece usb dosyasına bir dosya yazmaya çalıştım ama işe yaramadı, bu salt okunur bir dosya sistemi diyor. Kodu soruya ekledim, böylece ne yaptığımı görebilirsin.
oodles2do

4

Goto Diskleri .

USB sürücünüzü seçin.

Ek bölüm seçenekleri üzerine tıklayın ve Bölümü Biçimlendir seçeneğini seçin .

Ardından Sıfırlarla (yavaş) mevcut verilerin üzerine yaz silme seçeneğini seçin ve FAT yazın .

İnternette aradıktan sonra birçok şey denedim ama bu benim için çalıştı.


1
Bu, sürücüdeki tüm verileri siler.
cst1992

Ya NTFS'ye ihtiyacım olursa? NTFS için aynı şey benim için işe yaramadı.
Vadim Kotov


0

Hızlı düzeltme yöntemleri:

Yöntem 1

Bazen görevi genellikle yaptığım sıkıntı olmadan bash ile başarabiliriz (sudo gerekmez)

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

Ancak bazen, dosya tarayıcısını kullanmam gerektiğinde,

sudo nautilus /media/$USER/mydrive/

Not: Bu hızlı bir düzeltmedir, sadece başka bir cevabın işe yaramadığı için sinirlenirseniz kullanın

Yöntem 2

İşletim Sistemini Yeniden Başlatın


0

stratejileri aşağıda deneyin

  1. /etc/fuse.conf superuser olarak düzenle

    değiştirmek #user_allow_otheriçinuser_allow_other

  2. Harici cihazlar için yazma desteğini etkinleştir

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

0

Bunun nedeni, dosya sisteminizin NTFS olması ve güvenli olmayan bir durumda olması, belki de disklerinizi Windows'ta kullanıyor olmanızın nedeni, nedenlerinden biri pencereleri hazırda bekletme veya hızlı bir şekilde yeniden başlatmanızdır. Bu nedenle, aşağıdaki adımlardan birini kullanın:

  1. Aşağıdaki komutu kullanarak medyanın bağlantısını kesin, pencerelere gidin (belki İkili önyükleme modu veya belki başka bir bilgisayarda) ve hazırda bekletme modlarında veya hızlı yeniden başlatmada değil, pencereleri tamamen kapatın,

    sudo umount /media/"your media label"

daha sonra tekrar Linux’a gelin ve medyanızı bu komutu kullanarak bağlayın:

'sudo mount -o rw,mount /your media'
  1. macO kullanıyorsanız, ortamınızı mac cihazınıza takın ve bu komutu kullanın:

    'sudo / usr / sbin / diskutilJournal / Volumes / ortamın adını devre dışı bırak'


0

Tek ihtiyacınız olan 3 komutu izlemektir.

  1. df -Th

sonuç - görüntü tanımını buraya girin

  1. umount /media/user/KINGSTON (bu yola monte edilir)
  2. dosfsck -a /dev/sdb1 (bu Dosya sistemi yolu)

0

Bir Pendrive'a yazma izni vermek için terminalde (ubuntu) aşağıdaki komutları çalıştırın.

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

    • "/ media / madusanka / KINGSTON" ilk komut tarafından verilen "Üstü" değeridir
  3. sudo dosfsck -a /dev/sdb1

    • "/ dev / sdb1", ilk komut tarafından verilen "Dosya Sistemi" değeridir.
  4. Şifrenizi girin

  5. Pendrive'ı yeni bir dosya yapıştırarak veya oluşturarak kontrol edin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.