无法在 Linux 中挂载 Fat 驱动器

无法在 Linux 中挂载 Fat 驱动器

这是如何在 Linux 中挂载 .bin 映像文件但它变成了一个完全不同的问题,所以我想我会提出一个包含相关信息的新问题,而不是制作一个巨大的评论链。

我有一个驱动器,我认为是 fat32,但我无法安装:

> file-sk: /dev/dm-2: x86 boot sector, code offset 0x58, OEM-ID "BSD 4.4",
sectors/cluster 64, heads 255, sectors 3907024821 (volumes > 32 MB) , FAT (32 bit),
sectors/FAT 476816, reserved3 0x1000000, reserved 0x1, serial number 0x5cb415f7,
label: "SOURCE-PSE " DOS executable (COM), boot code –

当我尝试挂载时,它给出文件系统/坏块错误,这是 dmesg

> mount -o ro -t vfat /dev/dm-2 /mnt/bsp2
mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop1p1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

> dmesg | tail
[155824.015650] FAT: IO charset iso8859-1 not found

用户 osgx 告诉我,找不到 iso 的原因是它未加载到内核中。我的内核配置如下:http://pastebin.com/j7iS7RF3

我列出了我能找到的相关模块,并对它们全部进行了 modprobe。

> modprobe -l | grep fs
kernel/fs/nfs_common/nfs_acl.ko
kernel/fs/nls/nls_cp437.ko
kernel/fs/binfmt_misc.ko
kernel/fs/configfs/configfs.ko
kernel/fs/fscache/fscache.ko
kernel/fs/squashfs/squashfs.ko
kernel/fs/fat/fat.ko
kernel/fs/fat/vfat.ko
kernel/fs/fat/msdos.ko
kernel/fs/isofs/isofs.ko
kernel/fs/nfs/nfs.ko
kernel/fs/exportfs/exportfs.ko
kernel/fs/nfsd/nfsd.ko
kernel/fs/lockd/lockd.ko
kernel/fs/cifs/cifs.ko
kernel/fs/ufs/ufs.ko
kernel/fs/autofs4/autofs4.ko
kernel/fs/xfs/xfs.ko
kernel/fs/btrfs/btrfs.ko

我认为最重要的一个是 isofs。但是当我运行 modinfo 时,它显示它只是 iso9660。由于我假设我需要 iso8559-1(或 7),我猜它不可用?它在内核配置中明确列出,我认为这m意味着它将作为模块安装,但我没有看到这些 iso 类型可用。任何帮助都将不胜感激。谢谢!

答案1

这是一个语言(字符集)问题,而不是纯文件系统问题。
您需要选项 CONFIG_NLS_ISO8859_1=y。

模块化更新
鉴于您的内核已经支持模块加载:
CONFIG_NLS_ISO8859_1=m
make && make modules_install
modprobe nls_iso8859-1

相关内容