web-dev-qa-db-fra.com

Créer un périphérique de boucle pour le système de fichiers ext4

J'ai créé et formaté un fichier en tant que système de fichiers ext4 et j'essaie de le monter en tant que périphérique en boucle. Initialement, il n'y avait pas d'entrées loopX dans /dev, alors j'en ai créé une comme ceci:

root:~# mknod -m640 /dev/loop0 b 7 0
root:~# chown root:disk /dev/loop0

Le nœud a été créé:

root:~# ls -l /dev/loop0
brw-r----- 1 root disk 7, 0 Aug 26 14:32 /dev/loop0

Si j'essaie de lier le périphérique de boucle au fichier, une erreur se produit:

root:~# losetup /dev/loop0 /root/virtual.ext4
/dev/loop0: Operation not permitted

J'ai essayé de définir les autorisations sur o777, mais cela ne résout pas le problème.

Qu'est-ce qui pourrait causer ce problème et comment puis-je le résoudre?

1
just.kidding

Vous vous en sortez dans le mauvais ordre.

Essaye ça:

Commencez par créer le périphérique de boucle:

Sudo losetup /dev/loop0 /root/virtual.ext4

Deuxièmement, créez un point de montage pour le périphérique, en remplaçant <newdir> par un nom de répertoire approprié.

Sudo mkdir /mnt/<newdir>

Troisièmement, montez le périphérique. Vous devrez utiliser les options appropriées si vous souhaitez l’utiliser en tant que périphérique RW.

Sudo mount /dev/loop0 /mnt/<newdir>

Inversez le processus pour supprimer le périphérique:

Sudo umount /mnt/<newdir>
Sudo rm -r /mnt/<newdir>
Sudo losetup -d /dev/loop0

copié presque textuellement à partir de http://www.walkernews.net/2007/07/01/create-linux-loopback-file-system-on-disk-file/

2
Charles Green

J'ai compris quel était le problème, mon fournisseur VPS a compilé le noyau sans la prise en charge des modules; je ne peux donc pas utiliser de périphérique en boucle, et il ne semble pas y avoir de moyen de changer cela.

1
just.kidding

Exemple:

boucle Sudo mount -t ext4 -o /media/USER/DISK/linux.img/media/USER/YourDIR

ou

Sudo mount -t ext4 -o loop /YourLinux.img/YourUserCreatedDIRectory

0
user1537722