Le partage des fichiers (Linux-Windows)

Dans cet article, nous allons voir comment avoir accès aux fichiers des autres systèmes à partir de Linux. Nous allons donc d'abord voir comment monter une partition quelconque sous Linux et dans un second temps, comment créer un répertoire de partage sous VirtualBox avec Linux comme système invité ... Ainsi sera abordée, la notion de partage de fichier entre différentes partitions mais aussi entre systèmes virtuels et systèmes hôtes. 

Partie 1 : Monter une partition :
 


Dans cette partie, nous allons voir comment monter une partition. Pour monter une partition, il faut d'abord savoir où ce trouve les partitions, ces dernières ce trouvent toutes dans le répertoire /dev et leur nom commence souvent par sda (venant du disque dur Sata).


Pour voir la liste des partitions,
 
vous pouvez faire la commande fdisk -l ou encore cfdisk (en faisant bien attention à ne pas les supprimées par inadvertance, q pour quitter) en root. La deuxième commande à l'avantage de permettre certaines manipulations sur ces partitions mais aussi à l'avantage de montrer le type de système de fichier (ext3 pour Linux, FAT32 ou NTFS pour Windows), ce qui nous permettra de les identifier.

Pour monter une partition, il faut ensuite faire mount chemin_de_la_partion point_de_montage en root. Le chemin de la partition doit ressembler à /dev/sda2 par exemple (il faut vérifier le type de partition (primaire, etc), et le système de fichier grâce à la commande cfdisk vue plus haut). Le point de montage est un répertoire dans lequel sera montée la partition, c'est dedans que vous trouverez les fichiers de cette partition. On utilise souvent le répertoire /mnt comme point de montage pour les partition (ce répertoire étant spécialement conçus pour ça).

Pour démonter la partition, il faudra ensuite faire umount chemin_de_la_partition en root et en étant en dehors du point de montage.

Un exemple : On va monter une partition Windows :

On regarde d'abord la commande cfdisk (gardez cette console ouverte tout au long des manipulations):

[ ~] su -
root's passwd :
[ /root] cfdisk

On obtient un truc ressemblant à ceci (j'ai du modifier, mon disque ne possédant pas de partition Windows, mais bon ça devrait ressembler à ceci) :

                                      cfdisk 2.12r
               Disk Drive: /dev/sda
        Size: 120034123776 bytes, 120.0 GB
Heads: 255   Sectors per Track: 63   Cylinders: 14593

Name   Flags    Part Type    FS Type   [Label]     Size (MB)
-------------------------------------------------------------
sda2   Boot     Primary      Linux ext3            10248.70
sda1            Primary      Linux swap / Solaris  1028.16
sda4            Primary      NTFS                  19906.52
sda3            Primary      Linux ext3            106764.14

[Bootable]  [ Delete ]  [  Help  ]  [Maximize]  [ Print  ]
[  Quit  ]  [  Type  ]  [ Units  ]  [ Write  ]

On s'aperçoit que la partition dont le système de fichier correspond à celui de Windows est la partition sda4, c'est donc celle si qu'il faudra monter, faites donc q

[ /root] mount /dev/sda4 /mnt
[ /root] cd /mnt
[ /mnt] ls
Windows
Document and Settings
...

Vous avez ici tout le contenu de la partition Windows. Vous pouvez aussi y accéder graphiquement sous GNOME ou KDE (après avoir fait mount /dev/sda4 /mnt) dans Poste de travail => Système de fichier => mnt.

Après avoir fait ce que vous souhaitez sur cette partition (copier des fichiers, supprimer, etc), vous n'avez plus qu'à la démonter :
 
 
[ /mnt] cd
[ /root] umount /dev/sda4
 
Remarques :

- Il faut sortir du point de montage pour démonter une partition.
- Vous pouvez faire des scripts pour automatiser ces tâches.
 
 

Partie 2 : Créer un répertoire de partage avec VirtualBox (Linux comme système invité)


 

VirtualBox, c'est quoi ?

VirtualBox est une machine virtuelle, sur les hôtes Windows, GNU/Linux 32 et 64 bits et Mac OS X supportant de nombreux systèmes dont Windows (dont Vista), Linux, Open Solaris, OpenBSD et FreeBSD comme systèmes invités. Elle a été créée par InnoTek (ancienne compagnie allemande de logiciels qui a ensuite été rachetée par Sun), VBox continue d'évoluer avec Sun.


Création du dossier de partage :


Je précise que cette méthode à marché pour 4 distributions distinctes (Fedora 6 et 7, Mandriva spring 2008 et Ubuntu 7.10) comme systèmes invités, avec la version 1.6.2 de VirtualBox sous Windows Vista basic.


Pour créer ce répertoire de partage, voici ce qu'il faut faire : après avoir crée le dossier qui servira de répertoire  de partage (nous l'appellerons "partage") , entrez le chemin C:UsersVotreNomDocuments dans l'onglet "répertoires partagés" des préférences de votre machine virtuelle sous VBox (sous Windows). Faites ensuite les étapes suivantes sur votre console (sous Linux) :

[ ~]$ cd /mnt/

[ /mnt]$ sudo mkdir partage


puis écrivez ce script :

#!/bin/sh
echo "montage du partage NTFS local"
sudo mount -t vboxsf partage /mnt/partage -o rw,uid=y,gid=y


Remarques:


- pour connaître les valeurs uid et gid (notées pour l'instant y), faites id en console.
- une fois le script terminé, donnez lui des droits d'exécutions avec la commande chmod+x nom_du_script
-
Vous pouvez aussi lancer la commande
sudo mount -t vboxsf partage /mnt/partage -o rw,uid=y,gid=y à chaque fois mais ce sera plus embêtant ...

Enfin créez un nouveau répertoire dans "Mes documents" sous Windows, vous y aurez des droits d'écriture et il pourra servir de répertoire de transfert (il sera d'ailleurs appelé "transfert") .

Remarques :

- Cette méthode ne fonctionne que sous Linux (elle ne fonctionne pas sous Open Solaris par exemple)
- Cette méthode fonctionne aussi avec Linux comme système invité et aussi comme système hôte (ou un autre unix-like), il suffira juste d'adapter le chemin du dossier partage sous Vbox
- Il faut exécuter le script à chaque démarrage
- Pour ouvrir le dossier "partage", allez dans poste de travail/système de fichiers/mnt de Linux
- Vous ne pourrez pas explorer les dossiers systèmes comme Mes documents, mais vous pourrez ouvrir le dossier "transfert" (qui ne sera pas en lecture seule) à partir du dossier "Documents" (qui sera en lecture seule).


Article d'InfosLinux   Contrat Creative Commons