当我将带有 SD 卡的相机连接到电脑时,收到以下错误消息:
在 /media/chef/3831-6263 安装 /dev/sdg1 时出错:命令行
mount -t "exfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,iocharset=utf8,namecase=0,errors=remount-ro,umask=0077" "/dev/sdg1" "/media/chef/3831-6263"' exited with non-zero exit status 1: stdout:
FUSE exfat 1.1.0' stderr:`错误:文件系统大于底层设备:63847792640 > 63847792128。
但是当我取出 SD 卡并将其放入读卡器时,可以正常读取内容。
我sudo apt-get install exfat-fuse exfat-utils
已经做了。
我正在使用 Ubuntu 15.04。当我使用 14.04 时,它与相机中的卡配合良好。
答案1
另一种方法是编译并安装最新版本的 exFAT。我就是这样做的。
sudo apt-get install libfuse-dev
git clone https://github.com/relan/exfat.git
cd exfat/
autoreconf --install
./configure --prefix=/usr
sudo make install
sudo mount.exfat-fuse /dev/sdc1 /media/pd/
答案2
这是 exfat-fuse 的一个错误。它已在较新版本的 exfat 中修复(https://github.com/relan/exfat)。我不知道这个版本什么时候会在 Ubuntu 中出现。至少现在还没有 15.10。
我libexfat/mount.c
使用 github 中的更改进行了修补,将错误更改为警告。例如从(第 255 行左右):
if (le64_to_cpu(ef->sb->sector_count) * SECTOR_SIZE(*ef->sb) >
exfat_get_size(ef->dev))
{
free(ef->zero_cluster);
exfat_error("file system is larger than underlying device: "
"%"PRIu64" > %"PRIu64,
le64_to_cpu(ef->sb->sector_count) * SECTOR_SIZE(*ef->sb),
exfat_get_size(ef->dev));
exfat_close(ef->dev);
free(ef->sb);
return -EIO;
}
到
if (le64_to_cpu(ef->sb->sector_count) * SECTOR_SIZE(*ef->sb) >
exfat_get_size(ef->dev))
{
/* this can cause I/O errors later but we don't fail mounting to let
user rescue data */
exfat_warn("file system is larger than underlying device: "
"%"PRIu64" > %"PRIu64,
le64_to_cpu(ef->sb->sector_count) * SECTOR_SIZE(*ef->sb),
exfat_get_size(ef->dev));
}
#endif
为了实现这一点,请执行以下操作:
sudo apt-get source exfat-fuse
cd fuse-exfat-1.1.0/
libexfat/mount.c
按照上述方法进行编辑
sudo apt-get build-dep exfat-fuse
dpkg-buildpackage -rfakeroot -uc -b
sudo dpkg -i ../exfat-fuse_1.1.0-2_amd64.deb
您已完成并可以按预期安装 SD 卡。
祝你好运!