mardi 11 août 2009

Monter des disques USB au boot sous Ubuntu 9.04

Les disques USB sont reconnus automatiquement par Ubuntu 9.04, mais ils ne sont montés qu'au moment où on y accède par l'interface graphique utilisateur (soit en cliquant sur l'icône du disque sur le bureau, soit en sélectionnant le volume dans le menu "Places"). Du moins, c'est le cas avec mes disques formatés en NTFS.

Cela peut poser un problème si des programmes lancés au démarrage de la machine ont besoin d'accéder à ces disques. Voici une façon simple (comme d'hab) de monter des disques précis au démarrage d'Ubuntu ou de Xubuntu :

Tout d'abord, branchez les disques qui vous intéressent. Puis ouvrez un terminal et tapez :

ls -l /dev/disk/by-label
olivier@olivier-laptop:~$ ls -l /dev/disk/by-label
total 0
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 Data -> ../../sda8
lrwxrwxrwx 1 root root 10 2009-08-07 22:07 Icy\x20disc -> ../../sdb1
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 Swap -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 Win -> ../../sda1
Notez les noms de device correspondants aux disques USB. Ici il s'agit de sdb1 pour "Icy disc".

Faites ensuite :

ls -l /dev/disk/by-uuid
olivier@olivier-laptop:~$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 0A14ADCF14ADBDD7 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 2AE0D78AE0D75AA1 -> ../../sda8
lrwxrwxrwx 1 root root 10 2009-08-08 00:
07 4d504ef5-e4ba-47c1-b22f-01fcc26beb7b -> ../../sda7
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 4f3d8797-142b-4329-a3de-092597117c7a -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 6E6C92096C91CBE9 -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-08-07 22:07 AEF05572F05541AF -> ../../sdb1
lrwxrwxrwx 1 root root 10 2009-08-08 00:07 e48cadc8-d635-4d67-bb8d-64e0febce336 -> ../../sda9
Notez les UUID correspondant à vos disques. Ici, il s'agit de :

AEF05572F05541AF (sdb1)

Cet UUID est un identifiant unique qui permet de retrouver le disque même s'il a été renommé ou branché dans un ordre différent sur les prises USB.

Il ne reste plus qu'à éditer /etc/rc.local :

sudo mousepad /etc/rc.local

pour y rajouter cette ligne (avant le "exit 0" fina l) :
[ -e /dev/disk/by-uuid/AEF05572F05541AF ] && gnome-mount -d /dev/disk/by-uuid/AEF05572F05541AF
Et voilà. Au prochain boot, votre disque sera monté, s'il est branché, avec la même commande qui est appelée lorsque vous y accédez par le biais de l'interface graphique (Gnome ou XFCE). De cette façon, vous pourrez ensuite démonter le disque avec un clic droit comme d'habitude, opération qui aurait été impossible si on avait utilisé la commande "mount" habituelle.

EDIT : pour pouvoir démonter le disque, il reste en fait un petit réglage à faire. En effet, le rc.local est exécuté par root et lorsqu'on essaye de démonter un disque USB monté par un autre utilisateur, Ubuntu nous en empêche.

Lancez l'utilitaire de réglage d'autorisations (sous Xubuntu, Applications -> System -> Authorizations, ou "polkit-gnome-authorizations" dans un terminal).

Cliquez dans la colonne de gauche sur la règle "org/freedesktop/hal/storage/Unmount file systems mounted by others", puis cliquez sur le bouton "Grant". Sélectionnez votre nom d'utilisateur et validez.

Vous aurez maintenant le droit de démonter tout disque monté par un autre utilisateur.

4 commentaires:

  1. De façon très étrange, ça me donne une soudaine et furieuse envie de supprimer ma partition Linux fraîchement installée.

    Bon... Sérieusement, cette info me sera sans doute utile un jour. Merci !

    RépondreSupprimer
  2. En fait, je me suis rendu compte qu'on ne pouvait pas démonter le disque ensuite, car il a été monté par root et on n'a pas le droit de démonter un disque monté par un autre utilisateur.

    Quand j'aurai le temps, je continuerai à chercher une solution à ça...

    RépondreSupprimer
  3. Je viens de réaliser que je m'addressais aux utilisateurs de Xubuntu francophones qui ont installé leur OS en anglais. Ça doit pas faire des masses.

    RépondreSupprimer