Requisiti

È stata creata un'immagine di un disco rigido. Il disco rigido è partizionato. Si desidera montare una delle partizioni dal file immagine.

Il problema

Linux può usare /dev/loop? per trasformare un file immagine in un dispositivo a blocchi che può essere montato. Tuttavia, i dispositivi /dev/loop? non riconoscono le partizioni.

La soluzione

Durante il montaggio, si possono usare le opzioni offset= e sizelimit= per limitare l'area del file immagine quando si monta usando il loopback. Se si posiziona quest'area esattamente sui confini di una partizione, è possibile montarla.

È possibile determinare la dimensione e la posizione delle partizioni con sfdisk (in questo esempio l'immagine di una chiavetta USB con una sola partizione):

root@linux# sfdisk -d /tmp/image
# Partitionstabelle von /tmp/image
unit: sectors

/tmp/image1 : start=       32, size=    20448, Id=83, bootable
/tmp/image2 : start=        0, size=        0, Id= 0
/tmp/image3 : start=        0, size=        0, Id= 0
/tmp/image4 : start=        0, size=        0, Id= 0

I dati sono in blocchi di 512 byte. La conversione può essere effettuata ad esempio dalla shell. Il montaggio viene eseguito con il seguente comando:

root@linux# echo $((32 * 512)) $((20448 * 512))
16384 10469376
root@linux# mount -o loop,offset=16384,sizelimit=10469376 /tmp/image /mnt

Linux knowledge

Questi articoli sono stati scritti dal fondatore di Checkmk molti anni fa.
Tuttavia, sono ancora validi e quindi li conserviamo sul nostro sito web.
Da allora Mathias ha sviluppato un software di monitoraggio chiamato Checkmk.

Scopri di più