The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Как примонтировать в Linux раздел с образа диска, записанного в файл
Имеем полный образ USB Flash, полученный после 

   dd if=/dev/sdb of=usb.img

Перед монтированием, необходимо выяснить смещение относительно начала образа:

   fdisk usb.img
   Command (m for help): p

   Disk usb.img: 0 MB, 0 bytes
   63 heads, 62 sectors/track, 0 cylinders
   Units = cylinders of 3906 * 512 = 1999872 bytes
   Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
   usb.img1               1         701     1369022    6  FAT16

Смещение будет = число секторов на дорожке * размер сектора * начальная дорожка раздела
Итого: 62 * 512 * 1 = 31744

Монтируем в директорию ./0

   mount -o loop,offset=31744 usb.img ./0

Добавлено из комментариев:

   [root@host /]# kpartx -av `losetup -sf /tmp/sdb.img`
   add map loop2p1 : 0 401562 linear /dev/loop2 63
   add map loop2p2 : 0 7984305 linear /dev/loop2 401625
   [root@host /]# mount /dev/mapper/loop2p2 ./0

Стоит отметить что данный способ гораздо проще в использовании, но требует
поддержки ядром loopback, devicemapper и наличия kpartx.
Но зато не надо ничего вычислять в уме.
 
07.06.2008
Ключи: mount, disk, flash, fdisk, partition / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / Монтирование

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.2, angra (ok), 22:23, 07/06/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сначала создаем проблему(вместо sdb1 сняли sdb), а потом героически преодолеваем. Это был совет на тему: как еще можно потрахаться с линуксом?

     
     
  • 2.3, Аноним (-), 09:18, 08/06/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Сначала создаем проблему(вместо sdb1 сняли sdb), а потом героически преодолеваем. Это был
    >совет на тему: как еще можно потрахаться с линуксом?

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

     
     
  • 3.6, angra (ok), 22:20, 08/06/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Если снимается целиком, то обычно и нужно целиком. Умозрительную ситуацию можно конечно придумать, но ИМХО в данном случае практического смысла ноль.
     
     
  • 4.11, Аноним (-), 16:50, 10/06/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Если снимается целиком, то обычно и нужно целиком. Умозрительную ситуацию можно конечно
    >придумать, но ИМХО в данном случае практического смысла ноль.

    Целиком снимается, чтобы таблицу разделов сохранить, и не факт что нет желание при этом получить доступ к информации в разделах. А практический пример зачем это понадобилось я уже приводил - нужно получить доуступ к содержимому виртуальной машины qemu и нужно скопировать один файлик с комплекта драйверов, который производитель определенной железяки любезно распространяет только в виде полного образа флеэшки.

     
  • 2.9, User294 (ok), 15:27, 10/06/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Сначала создаем проблему(вместо sdb1 сняли sdb), а потом героически преодолеваем. Это был
    >совет на тему: как еще можно потрахаться с линуксом?

    Вывод: если захотеть создать себе геморрой - это можно!А так - еще бывают отформатированные как дискета флешки, там нет MBR, сразу логический диск.Монтируются без всякого секса из образа командой mount.

    Строго говоря, флешки с несколькими разделами (когда и имеет смысл весь описанный тут секс) - очень редкое явление природы.Как верно замечено при желании найти себе геморрой на ровном месте - линукс и это позволяет.Но вот зачем его искать?!?

     
     
  • 3.12, СуперАноним (?), 11:29, 13/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет, не редкое. Если нужно и документы таскать, чтоб и на Вынь читались, и для Линя какие-либо файлы, чтоб атрибуты и регистр символов в именах правильно сохранялись, нужно минимум два раздела: vfat и ext2.
     
  • 3.13, СуперАноним (?), 11:36, 13/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет, не редкое. Если нужно и документы таскать, чтоб и на Вынь читались, и для Линя какие-либо файлы, чтоб атрибуты и регистр символов в именах правильно сохранялись, нужно минимум два раздела: vfat и ext2.
     

  • 1.4, латентный вендузятник (?), 10:01, 08/06/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    никогда не заморачивался на тему что такое offset (хотя приходилось монтировать образы дисков по нагугленным примерам), а тут вдруг случайно узнал что это и как оно высчитывается  =) спасибо!
     
  • 1.5, аноним (?), 15:45, 08/06/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Офигительно. А если раздела два? А если это образ жесктого диска? А если там LVM и внутренние разделы fdisk'ом не видны? Ну что за хаки десятилетнй давности, е-мае..

    /sbin/kpartx /dev/sdb и mount /dev/mapper/sdb-1 (или что там получилось на выходе). Потом делаем kpartx -d /dev/sdb и созданные файлы в /dev/mapper пропадут. Так же можно поступать с LVM-разделами, не прописанными в системе (особенно удобно для заглядывания внутрь LVM-разделов виртуализированных системах, когда с хоста видет только общий образ диска, а нужно залезть на одну из файловых систем внутри).

     
     
  • 2.7, Аноним (-), 12:40, 09/06/2008 [^] [^^] [^^^] [ответить]  
  • +/
    То что написано не работает с образами дисков.
    Тоже самое только с файлом (который есть полный образ винта):
    kpartx -av 'losetup -sf /tmp/sdb.img'
     

  • 1.8, Ne01eX (??), 06:15, 10/06/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>Смещение будет = число секторов на дорожке * >>размер сектора * начальная дорожка раздела

    Итого: 62 * 512 * 1 = 31744

    Для первого раздела это верно, а для второго разве не:

    число секторов на дорожке * размер сектора + начальная дорожка раздела?.

    Имхо.

     
     
  • 2.10, User294 (ok), 15:31, 10/06/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Смещение будет = число секторов на дорожке * >>размер сектора * начальная дорожка раздела
    >Итого: 62 * 512 * 1 = 31744
    >Для первого раздела это верно, а для второго разве не:
    >число секторов на дорожке * размер сектора + начальная дорожка раздела?.
    >Имхо.

    Если честно, убил бы причастных к всему этому за CHS адресацию.Антиквариатище, мля... уже не осталось ни тех цилиндров ни тех головок - они теперь сугубо абстрактные и виртуальные понятия существующие для совместимости с досоподобным хламом в основном :\

     

  • 1.14, riv1329 (?), 14:10, 11/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Гораздо более изящное решение: http://designinfo.ru/content/%D0%BE%D1%82%D0%BE

    В крадце:
    1) losetup -v /dev/loop0 /file.img
    2) kpartx -a -v /dev/loop0
    3) file -s /dev/mapper/loop*
    4) mount /dev/mapper/loop0p1 /mnt/partition1
    Для LVM добавляем
    5) vgscan
    6) vgchange -ay

    Разбираем
    7) vgchange -an имя_группы (*если был LVM)
    8) kpartx -d /dev/loop0
    9) losetup -d /dev/loop0

     
  • 1.15, Слакварявод (?), 12:19, 03/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    проще вычислить, чем искать эту вашу kpartx
     
  • 1.16, Zabava23 (?), 01:13, 02/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо
     
  • 1.17, netmaster (?), 20:13, 04/01/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А у меня нету kpartx. Дебиан 5 без иксов. Снял образ /dev/sda, пока флэшка в руках была. А о /dev/sda1 уже потом подумал, когда образ монитироваться не захотел (флэшку уже увезли).
    ---------------------------------
    servant:/home/ftp/smb# fdisk flashdd.img
    You must set cylinders.
    You can do this from the extra functions menu.

    Command (m for help): p

    Disk flashdd.img: 0 MB, 0 bytes
    256 heads, 29 sectors/track, 0 cylinders
    Units = cylinders of 7424 * 512 = 3801088 bytes
    Disk identifier: 0xc3072e18

          Device Boot      Start         End      Blocks   Id  System
    flashdd.img1   *           2        2119     7861185    c  W95 FAT32 (LBA)
    -----------------------------------
    Получается 29*512*2=29696, но с ,offset=29696 не монтируется. sfdisk -l flashdd.img тоже ничё не прояснил, кроме файловой системы (его я до попадания сюдя заюзал). Пришлось сделать
    hd flashdd.img | more и пролистать до начала первого раздела, как на http://rln.nnov.ru/index.php?ind=reviews&op=entry_view&iden=203
    ----------------------------------
    00407e00  eb 58 90 4d 53 44 4f 53  35 2e 30 00 02 08 20 00  |.X.MSDOS5.0... .|
    ----------------------------------
    00407e00 из четырёхбайтового хекса перевёл в десятичное и получил 4226560 байт (4 метра, 4*1024*1024, флэшка 8-гиговая). после этого примонтировал с ,offset=4226560

    Статья всё равно нужна. Мало-ли у кого и по какой причине есть образ диска, к которому надо заглянуть в раздел. Без этой возможности только раскатывать образ на какой-нить диск и монтировать раздел оттуда, что требует подопытного устройства.

     
     
  • 2.18, netmaster (?), 22:01, 04/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Упс, про "4 метра, 4*1024*1024" я кажется в расчётах ошибся. Остальное в силе.
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру