我不知道为什么,但是 Calibre 停止与 Ubuntu 12.04 32 位上的 Kindle 进行通信。
直到前段时间一切都运行正常,但现在每当我连接我的 Kindle 并尝试在设备主内存上发送一些书时,我都会收到此错误:
calibre, version 0.8.38
ERROR: Error: Error communicating with device
[Errno 30] Read-only file system: '/media/Kindle/documents/Blisett, Luther'
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/device.py", line 81, in run
self.result = self.func(*self.args, **self.kwargs)
File "/usr/lib/calibre/calibre/gui2/device.py", line 411, in _upload_books
metadata=metadata, end_session=False)
File "/usr/lib/calibre/calibre/devices/usbms/driver.py", line 260, in upload_books
filepath = self.normalize_path(self.create_upload_path(path, mdata, fname))
File "/usr/lib/calibre/calibre/devices/usbms/device.py", line 1120, in create_upload_path
os.makedirs(filedir)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 30] Read-only file system: '/media/Kindle/documents/Blisett, Luther'
我意识到这是与权限有关的事情,因此我尝试使用 chown: 来更改它们,
sudo chmod a+rwx /media/Kindle
但出现此错误:chmod: changing permissions of 'Kindle': Read-only file system
我怎样才能解决这个问题?
答案1
如果您在将 Kindle 安装为只读模式时遇到问题,则可能是由于文件系统中存在某些错误。
找到您设备的文件夹并输入mount
就我而言,输出是:
/dev/sdc1 on /media/Kindle type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks)
这意味着我必须纠正 /dev/sdc1 上的文件系统
您可以使用 fsck 来做到这一点:sudo fsck.vfat -r /dev/sdc1
如果系统询问您要更正哪个分区,请按 1 选择第一个分区并继续。
卸载你的 Kindle 并拔下并重新插入 USB 线,现在你应该能够将文件从 calibre 发送和复制到你的设备了。
答案2
运行 fsck.vfat 命令后,系统提示我设置了脏位,这可能是由于卸载不彻底造成的。首先我同意清除该位,然后系统提示我纠正第一个分区中的块,但我拒绝了。重新连接 Kindle 后,它干净地挂载为 RW 分区。谢谢你的提示!