3

Я получил ISO, который содержит регистрозависимые имена файлов / каталогов.

При монтировании в моей системе Ubuntu 12.04 с использованием mount -o loop все имена файлов строчные. Существует опция с именем map=off , но при ее использовании все имена файлов пишутся в верхнем регистре. В ходе моего исследования я обнаружил, что по умолчанию ISO9660 не поддерживает имена файлов с учетом регистра. Тем не менее, есть расширение под названием Joliet, которое делает. Мой iso, кажется, использует joliet, так как он имеет чувствительные к регистру имена файлов при монтировании в windows/mac os x. Mkisofs это также поддерживает Joliet.

Однако я не смог найти способ смонтировать ISO с помощью joliet. Как я могу это сделать?

Редактировать:
Dmesg ведет журнал [ 149.293945] ISO 9660 Extensions: Microsoft Joliet Level 1 . Не уверен, почему это не используется, хотя.

Edit2: вы можете найти ISO здесь: http://sourceforge.net/projects/cloverefiboot/files/Bootable_ISO/CloverISO-1914.tar.lzma/download

1 ответ1

2

Сначала убедитесь, что расширения Joliet включены для вашего ядра. Я полагаю, что это так, как вы используете Ubuntu, но все равно проверьте, чтобы быть уверенным:

grep -i joliet /boot/config-`uname -r`

Это должно вернуть эту строку:

CONFIG_JOLIET=y

Если файл отсутствует, попробуйте поискать joliet в /proc/config.gz . У меня нет этого файла в моей системе, я повторяю то, что читаю здесь .

Теперь, при условии, что у вас включена поддержка joliet, я предполагаю, что у вас есть диск, который не является Joliet. Я попытался повторить вашу проблему, создав веселую iso из двух файлов, чувствительных к регистру:

$ ls foo/
Aaaaa  Bbbbb

$ genisoimage -J -R -o foo.iso foo/
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 323
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
181 extents written (0 MB)

$ sudo mount ./foo.iso baz/
mount: warning: baz/ seems to be mounted read-only.  <-- ignore this, not a problem
$ ls baz
Aaaaa  Bbbbb

Другими словами, если изображение было создано с использованием расширений Joliet, оно должно быть смонтировано с учетом регистра по умолчанию. Я действительно не эксперт по файловым системам изображений, но, возможно, проблема не в Джолиет, а в чем-то совершенно ином. Можете ли вы установить регистр с учетом регистра, если вы выполните те же действия, которые я делал выше?


РЕДАКТИРОВАТЬ:

Я скачал ваш iso и получил то же поведение, которое вы описали, я не могу установить его с учетом регистра. Я нашел возможную причину, хотя. Я запустил isoinfo как для вашего файла, так и для моего:

$ isoinfo -d -i Clover-1914-X64.iso | grep Joliet
Joliet with UCS level 1 found
$ isoinfo -d -i foo.iso | grep Joliet
Joliet with UCS level 3 found

Я понятия не имею, в чем разница между уровнями 1 и 3 Джолиет, но я подозреваю, что именно поэтому ваш iso не работает должным образом. Это может, по крайней мере, дать вам новый путь исследований.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .