[gull] [Q] monter une "sous-partition"?

Félix Hauri felix at f-hauri.ch
Sat Jul 18 10:52:49 CEST 2009


On Fri, Jul 17, 2009 at 02:45:17PM +0200, sneaky56 at gmx.net wrote:
> Bonjour,
> 
> Je commence avec kvm. J'ai une partition du guest (/dev/sdb5, 10GB) que j'ai 
> réservé pour un guest. Dans le guest (kvm -hda /dev/sdb5), j'ai donc un disque 
> de 10GB que je partitionne en 2 (swap + /).
Je ne connais pas KVM, mais je connais un peu le partitionnement sous PC.
> 
> Maintenant ma question: est-il possible de monter (en read-only) depuis le host 
> la partition root (/) du guest?
Tu dois pouvoir faire ce que tu veux, depuis le host...

> Je tourne du Debian testing et fdisk me donne (sur le host):

> Disk /dev/sdb: 500.1 GB, 500107862016 bytes
> 255 heads, 63 sectors/track, 60801 cylinders
> Units = cylinders of 16065 * 512 = 8225280 bytes
> ...
> /dev/sdb5            1046        2351    10490413+  83  Linux
Les informations importantes sont:
La taille d'un cylindre: 8225280 bytes
La taille d'un secteur: 255 heads * 512 = 130560
La position de ta partition sdb5: 1046 * 8225280 bytes...

> # fdisk -l /dev/sdb5
> 
> Disk /dev/sdb5: 10.7 GB, 10742183424 bytes
> 255 heads, 63 sectors/track, 1305 cylinders
> Units = cylinders of 16065 * 512 = 8225280 bytes
>      Device Boot      Start         End      Blocks   Id  System
> /dev/sdb5p1               1          62      497983+  82  Linux swap / Solaris
> /dev/sdb5p2              63        1305     9984397+  83  Linux
Et là, taille secteur idem, début de partition au cylindre 63.

> Inutile de préciser que je n'ai aucun device /dev/sdb5p2.
C'est là que cela devient marrant!

Il faut utiliser ``loop'' avec l'option ``òffset'':

Tu peux monter une partition située n'importe ou sur sdb en faisant:
(avec ``ro'' le mount se fera en ``read-only'')
# mount -o loop,ro,offset=XXXX -t ext3 /dev/sdb /meskvm/guestcopy
ou, à peine moins délicat (ou dangereux):
# mount -o loop,ro,offset=XXXX -t ext3 /dev/sdb5 /meskvm/guestcopy
Préciser le fs (ext3 pour l'exemple) et surtout calculer XXXX avec
précision!.

Dans ton cas, tu n'utilises pas la 1ère partition, t'as du bol!
Cela devrait être plus simple: la première partition ne commence
pas au début du disque dur (reservation pour secteur de boot),
mais au 2ème secteur. d'ou l'importance de connaitre la taille
d'un secteur.

Dans ton cas, tu ne devrais pas en avoir besoin:

Quelque chose comme:
!!! ATTENTION !!! Comme d'hab, je décline toutes responsabilité sur
les conséquence de l'application plus ou moins fidèle de ce qui suit!
# mount -o loop,ro,offset=$((63*255*512*63)) -t ext3 /dev/sdb5 /pointdemontage

Si cela ne se passe pas bien, renvoie nous la sortie de
# dmesg | tail

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list