Назад | Перейти на главную страницу

Невозможно смонтировать толстый диск в Linux

Это своего рода продолжение Как смонтировать файл образа .bin в Linux но это вообще превратилось в другую проблему, поэтому я решил, что задам новый вопрос с соответствующей информацией, а не буду создавать гигантскую цепочку комментариев.

У меня есть диск 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 -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. Любая помощь приветствуется. Спасибо!

Это проблема языка (набора символов), а не чисто файловой системы.
вам нужен вариант CONFIG_NLS_ISO8859_1 = y.

Обновление для модульности
Учитывая, что ваш ядро ​​уже поддерживает загрузку модулей:
CONFIG_NLS_ISO8859_1=m
make && make modules_install
modprobe nls_iso8859-1