1

Как я могу смонтировать определенный диапазон блоков с блочного устройства (или байтового диапазона из файла), или, по крайней мере, представить его как устройство цикла без загрузки полной MBR/GPT?

У меня есть несколько случаев использования соответствующих:

  • Учитывая жесткий диск со сломанным MBR/GPT, я хочу , чтобы смонтировать раздел , для которого начала / конца сектор известно (а также размером блока, конечно), но dd «ИНГ это первый не вариант, в зависимости от размера раздела например

  • У меня есть резервный образ полного диска (с таблицей разделов) в файле, я хочу смонтировать из него определенный раздел, не выставляя все разделы как устройства

  • Я хочу сделать некоторую опрометчивую стеганографию, спрятав ФС в блочном устройстве или файле с начальным / конечным смещением, чтобы сделать его менее очевидным (я знаю, что это не очень хороший вариант из-за энтропии и сопоставлений доступа, здесь не смысл)

Последний вариант использования - это скорее взлом, вдохновленный первым и вторым вариантами использования, которые являются реальными проблемами, с которыми я столкнулся.

Я нашел несколько связанных вопросов, например:

Но (действительными) ответами на эти вопросы часто являются раздел dd или воссоздание MBR, что здесь не вариант.

1 ответ1

3

Под этим уже связанным вопросом есть комментарий:

Я нашел ответ, который использует losetup с опциями -o и --sizelimit .

Также современное mount может сделать это. О шлейфовых устройствах в man mount:

Этот тип монтирования знает о четырех опциях, а именно: loop , offset , sizelimit и encryption , которые действительно являются опциями для losetup .

Таким образом, синтаксис выглядит так:

mount -o offset=OFFSET,other,options,here /image/file /mnt/foo

где OFFSET в байтах. Обычно известно смещение в 512-байтовых секторах. Если начальный сектор, например, 2048 то это полезно:

mount -o offset=$((512*2048)),other,options,here /image/file /mnt/foo

На практике вам вряд ли понадобится sizelimit с mount поскольку монтируемая вами файловая система знает свой собственный размер.

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