#linux #ext4 #fat32 #flash_память
Хотелось-бы сделать странную флешку: чтобы на ней был ext[234] и FAT32 одновременно.
Но не с двумя разделами, а с одним разделом, то есть, сделать что-то типа (/dev/sdf
— это флешка):
Создаем файл badblocks, в нем указываем блоки, идущие подряд, а суммарный объем этих
bad-блоков совпадает с разделом FAT32.
Форматируем флешку целиком в ext[234] с указанием файла badblocks (mkfs.ext4 -b badblocks
/dev/sdf).
Через fdisk (fdisk /dev/sdf) создаем единственный primary-раздел, который находится
в области, отмеченной в badblocks.
Форматируем /dev/sdf1 в FAT32
Понятно, что в linux-е мне такой флешку придется монтировать руками, зато под виндою
она подхватится автоматически.
Возможно, существует какой-нибудь HOWTO на эту тему, просто с первой попытки не нашел.
Ответы
Ответ 1
для того, чтобы операционная система ms/windows могла примонтировать раздел со своей
«родной» файловой системой fat, вовсе не требуется тех ухищрений, что изложены в вопросе.
необходимо и достаточно, чтобы этот раздел был первым на usb-storage (aka «флэшка»),
у которой установлен removable bit.
все остальные разделы, какая бы там ни была файловая система, для ms/windows (без
каких-нибудь специализированных средств) остаются «вне поля зрения» — воспринимается
только первый раздел.
Ответ 2
Полагаю, что речь об этом приёме. Способ заключается в переключении между двумя таблицами
разделов, в каждой из которых по одному разделу. В одной из них раздел при создании
файловой системы получил на вход крупную последовательность "битых блоков", обходящую
местонахождение раздела из второй таблицы.
На флэшке виден в каждый момент только один из этих двух, переключение происходит
посредством... перезаписи таблицы разделов.
Предполагается, что в обычном состоянии флэшка содержит таблицу разделов, с которой
видна только файловая система с "зелёным" пространством. Когда "тихо и спокойно", можно
записать на флэшку другую таблицу разделов (pro tip: её можно хранить в последнем секторе
диска, только надо его обходить остальными инструментами) и тем самым получить доступ
к "секретному разделу", потеряв доступ к основному. "Сделав дело", можно вернуть исходную
таблицу разделов обратно, вернув флэшку в обычное состояние.
Какие файловые системы будут на внешнем и внутреннем разделах, совершенно неважно
(лишь бы файловая система умела обходить стороной "плохие" блоки). Windows вполне может
видеть оба раздела при условии перезаписи таблицы разделов (и осознании этого факта
операционной системой) и совместимой файловой системы на них (например, FAT32). То
есть, если вы забудете вернуть исходную таблицу разделов на место, Windows в этом случае
успешно увидит секретный раздел.
Такой раздел не стоит делать большим, потому что "плохие блоки" в рамках файловой
системы обычно числятся как "всегда занятые" во всяких графических инструментах. Так
что если диск пуст (нет файлов и папок, в т. ч. скрытых), а на нём занято существенное
количество места (заметно больше, чем на диске всего "сырого места" минус структуры
ФС), то это может быть сигналом того, что на диске имеется подобная штука.
Ответ 3
Вот тут есть довольно-таки старая, но весёлая инструкция. Или не то?