USB-пристрої, які відображаються лише для читання


122

Я використовую Ubuntu 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

Дивіться цю помилку .

Виконайте цю команду, щоб убити Nautilus (Файли):

killall nautilus

45
Нічого собі, я не можу повірити , що працював
— Джед

11
Я буду проклятий, це працює ха-ха
— Текст

6
Я використовую nemo, так і зробив, killall nemoі це працює.
— Окі Ері Рінальді

14
Сумно, що все ще працює в 2018 році (Ubuntu 16.04.3 LTS)
— Ендрю

2
Найстрашніше виправлення, яке я бачив. Досі працює над Ubuntu 18.04
— CodeMonkey

74

Підключивши свій USB-ключ до ноутбука:

  • запустити sudo -i(так що ви не будете постійно вводити свій пароль)
  • запустіть df -Th(щоб побачити, де встановлено USB-накопичувач)
  • від'єднайте USB-накопичувач
  • запустіть dosfsckна пристрої, який ви бачили з попередньої команди. Приклад:dosfsck /dev/sdc1
  • вийміть і приєднайте USB-накопичувач

Проблему слід вирішити зараз.

Тепер для вашого жорсткого диска слідкуйте за відповіддю на це запитання . Мова йде про зовнішній жорсткий диск, але це те саме, що і у вашому випадку.


1
Спасибі за вашу допомогу! Я намагався виконати те, що ви сказали, чи правильно вводити umount / dev / sdb1 для демонтажу моєї usb-палки? Крім того, я не знаю, як користуватися dosfsck. Дякуємо також за посилання
— oodles2do

3
@SimonBremford, якщо ваш USB встановлений, /dev/sdb1звичайно, ваша команда правильна. Для вашого іншого питання просто введіть:dosfsck -a /dev/sdb1

23
Дякуємо за вашу допомогу, однак це не спрацювало. USB-паличка читається лише досі. Я думаю, що це проблема з Ubuntu, а не з самою USB-палкою, оскільки це було так раптово. І той факт, що на це впливає більше ніж один USB-пристрій одночасно.
— oodles2do

3
Іноді найпростіше зробити це перезапустити
— Gayan Weerakutti

2
Було б корисно додати у відповідь, що перезавантаження дійсно потрібне.
— Артем Пеленицин

20

Я отримав таку ж помилку, коли використовував GParted для встановлення таблиці розділів та форматування моєї USB-накопичувача. Після цього всі накопичувачі USB перейшли на "лише для читання".

Але під кореневим копіюванням працювало чудово ...

Випуск зник після перезавантаження машини. Тому я здогадуюсь, що ця проблема може виникнути при використанні GParted.


Дивіться робоче рішення, яке розміщено нижче, Serranoі мій коментар до нього. Як і для мене, походження з'явилося завдяки використанню GPated...
— Антоніо

16

У мене теж була ця проблема. Я отримав помилку під час копіювання на палець usb, я використовую корицю Mint 17.1, ядро ​​3.13.0-43 з файловим менеджером caja.

Коли я переглянув медіа-каталог в терміналі 'dir / media', я побачив, що макет змінився, як правило, ви очікуєте побачити диски, перераховані тут, але тепер вони вказані під вашим іменем користувача, і здогадуєтесь про що? Це ім'я користувача має лише права ROOT.

Що я зробив, це набрати

sudo chown [username] /media/[username]

і

sudo chgrp [username] /media/[username]

де ви замінили [ім'я користувача] своїм іменем користувача, вилучили USB-паличку, почекали, а потім поставити його назад, проблема вирішена, я зараз можу написати їй!


Для мене sudo chown [username] /media/[username]добре працювали. Мені навіть не довелося брати usb stick і в (і мені це не потрібно chgrp- я на Xubuntu 16.04)
— Nicolas

Дякую за вашу відповідь. Це має бути прийнятою відповіддю, оскільки насправді немає проблеми з самими носіями інформації, а з моментом монтажу.
— агім

чуун може також змінити групу, chown [username]:[groupname] filesеквівалентний бігу chownі тоді chgrp. Дивітьсяman chown
— Xen2050

1
@ Xen2050, ще краще, chown [username]: filesоскільки `chown`` за замовчуванням для групи входу користувачів.
— Лукас

@Lucas спасибі, що краще. Це спритно приховано на manсторінці, але видно на infoсторінці [було б дуже приємно, якщо сторінки чоловіка та інформації збігаються ...]
— Xen2050

11

У мене були ті ж проблеми з Ubuntu, і жоден із наведених тут відповідей не працював на мене. Ось що я спробував:

  • Відформатуйте пристрій за допомогою GParted. Я навіть намагався заново створити таблицю розділів, не маючи успіху.
  • Перевірте пристрій за допомогою fsck. Проблем не знайдено.
  • Виправлено дозволи точки монтажу. Виявляється, точка монтажу була власністю root, але навіть після того, як я став власником, я міг записувати на пристрій лише командний рядок (я все одно не міг створювати файли з графічного інтерфейсу).

Коли я підключаю USB-накопичувач, він встановлюється внизу /media/<username>/<label>/, де <username>моє ім’я користувача та <label>є мітка USB-накопичувача або пристрою зберігання даних.

Я знову переглянув дозволи:

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

Зауважте +в кінці дозволів. Це для мене нове, і я раніше цього не помічав. Це означає, що каталог має розширені дозволи, які називаються Список контролю доступу (ACL) (див. Це пов'язане питання ). Я перерахував деталі 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себе повинні поводитись інакше ...
— Антоніо

9

Я відформатований за допомогою Gparted. Це видалило всі дані на диску, і виявилося, що це також усунуло проблему.


1
Так, це працює. Необхідно створити нову таблицю розділів як msdosтип, а потім створити один великий парітон з fat32.
— vskubriev

1
Я думаю, що ця відповідь є заглушкою. Будь ласка, розгорніть його.
— Лео Леопольд Герц 준영

6

Коли ви запускали mountтільки sda5 (ваш /), був змонтований, і він був прочитаний-написати ( rw), тому ви повинні мати можливість писати на нього. Як правило, більшість з цих каталогів , як /sys, /binтільки записується корінь (ви повинні були б sudoпершим), але ваша домашня папка повинна бути записуваної до звичайному користувачеві.

Чи можете ви створити будь-які файли в домашній папці? Можливо, ваш менеджер файлів gui застряг, думаючи, що вони доступні лише для читання, якщо ви спробуєте в терміналі, чи працює це? Наприклад, чи працюють ці команди ?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

Якщо вони працюють успішно, ви можете записати на свій HD (sda5).


Для USB-накопичувача, після того, як він підключений та встановлений, подивіться, mountщоб знайти його ( /dev/sdb1 ...рядок) і подивіться, чи є варіант монтування в ()'s 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 , команда mount може все-таки повідомити, що він встановленийrw . Переглядаючи цей файл із, less /proc/mountsяк правило, має відображатися більш достовірна інформація (див. man mount).


Якщо щось встановлено, rwале ви все ще не можете додавати / видаляти / редагувати файли на ньому, можливо, ви не є власником файлів. У деяких fs ви можете chownстати власником, але FAT32 fs, як у sdb1, не має цих прав; вони встановлюються, коли він монтується за допомогою параметра монтажу uid=value(значення - це ваш користувальницький текст, дізнайтеся його за допомогою echo $UIDабо id -u), тоді ви можете спробувати це і побачити, чи працює він згодом:

sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • Примітка. Іноді вам може знадобитися перезапустити свій файловий менеджер gui, щоб він міг "помітити" зміну кріплення, яка дозволяє писати у файлову систему / диск, але термінал повинен завжди працювати.

Або , якщо вище не працює, спробуйте sudo su«стати» корінь, щоб побачити , якщо що - небудь може записувати файли на USB (з touch, echoі так далі)?


Дякую за вашу відповідь, я виконав команди newfile001, і я отримав "матеріал" у відповідь. Крім того, в команді mount є rw в дужці для usb stick, тому я повинен мати можливість читати-записувати до нього. Я просто спробував команди в кінці вашої відповіді, але це не спрацювало, це все-таки пристрій лише для читання.
— oodles2do

Принаймні, HD працює ... USB має бути записаним ... якщо ви знаходитесь cdу папці USB, чи можете ви записувати будь-які файли з echo stuff >> newusbfileподібними? Або echo stuff | sudo tee newusbfile? Або спочатку запустіть, sudo suщоб "стати" корінцем, потім відлуння, кішка тощо?
— Xen2050

Як зробити команди CD у папку USB? Я думаю, що я щойно зробив це в / media / simon, і він спрацював, але USB є / media / simon /
— LYDIA

Якщо USB не встановлений, то / media / simon / LYDIA - це лише порожня папка (якщо вона навіть є). Після його встановлення ви можете побачити, де розміщена папка mountабо lsblk, а потім cd mounted_folderспробуйте записати файли mkdirтощо тощо, а також sudo suпобачити, чи можете ви також писати як root…
— Xen2050

Дякуємо за всю вашу допомогу, я просто спробував записати файл у файл usb, але це не вийшло, він говорить, що це файлова система лише для читання. Я додав код до питання, щоб ви могли бачити, що я зробив.
— oodles2do

4

Готові диски .

Виберіть USB-накопичувач.

Клацніть на Додаткові параметри розділу та виберіть Формат розділу .

Потім виберіть «Стерти» Перезаписати наявні дані нулями (повільно) та введіть FAT .

Я спробував багато речей після пошуку в Інтернеті, але це працювало для мене.


1
Це видалить усі дані на диску.
— cst1992

Що робити, якщо мені потрібен NTFS? Те саме для NTFS не працювало для мене.
— Вадим Котов


0

Швидкі методи виправлення:

Спосіб 1

Іноді ми можемо виконати завдання з Баша без проблем, як правило, я роблю (судо не потрібно)

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

Однак іноді, коли мені потрібно використовувати браузер файлів,

sudo nautilus /media/$USER/mydrive/

Примітка. Це швидке виправлення, використовуйте його лише в тому випадку, якщо ви засмучені, оскільки жодна інша відповідь вище не спрацювала

Спосіб 2

Перезавантажте ОС


0

спробуйте нижче стратегії

  1. редагуйте /etc/fuse.conf як суперпользователь

    зміни #user_allow_otherнаuser_allow_other

  2. включити підтримку запису для зовнішніх пристроїв

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

0

Це тому, що ваша файлова система - NTFS, і вона знаходиться в небезпечній статистиці, можливо, ви використовуєте свій диск у Windows, одна з причин полягає в тому, що ви перезимували в Windows або швидко перезавантажили його. Тому використовуйте один з цих кроків:

  1. відключіть носій за допомогою наведеної нижче команди, перейдіть до Windows (можливо, в режимі подвійного завантаження або, можливо, на іншому комп’ютері) і повністю вимкніть вікна, не перебувайте в сплячому режимі чи швидкому перезапуску,

    sudo umount /media/"your media label"

потім знову приходьте до Linux і змонтуйте ваш медіа за допомогою цієї команди:

'sudo mount -o rw,mount /your media'
  1. якщо ви використовуєте macOs, підключіть носій до свого Mac-пристрою та скористайтеся цією командою:

    'sudo / usr / sbin / diskutil disabledJournal / Томи / ім'я медіа'


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" - це значення "Filesystem", яке задається першою командою.
  4. Введіть ваш пароль

  5. Перевірте Pendrive, вставивши або створивши новий файл.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.