Hello,

Ce coup-ci, je viens avec un autre point qui m'embête assez, je m'explique:
J'ai 4 disques durs SATA, 2 qui sont sur le contrôleur du chip de la carte mère et deux qui sont sur un contrôleur Promise.
Lors de l'installation de Fedora, je n'avais que les deux premiers disques SATA (connectés sur le chip de la carte mère), ces deux-ci nommés respectivement sda et sdb.
Par la suite j'ai installé un lecteur de cartes USB interne, ce qui m'a donné quatre lecteurs supplémentaires nommés de sdc à sdf. Jusque là pas de soucis !
Mais un peu plus tard, j'ai dû rajouter deux disques SATA (sur le contrôleur Promise ce coup-ci), ces deux-ci ont été nommés sdg et sdh. C'est à ce moment-là que les choses se compliquent :roll:
En effet, j'ai également un disque dur externe en USB et une clé USB. Hors, lorsqu'un des deux périphériques reste connecté lors du démarrage de Fedora il prend le nom sdg ! Et donc, cela perturbe par la suite mon fstab pour le montage des disques... ? Redémarrage sans le périphérique USB pour avoir accès à tous mes disques et ensuite seulement le brancher.

Je me demandais si il n'y avait pas moyen de forcer le nommage des disques et ainsi de donner à mes deux disques SATA connectés sur le contrôleur Promise les noms sdc et sdd ? De cette façon, plus de problèmes par la suite.

J'ignore si la chose est faisable ou si c'est distribué "aléatoirement" ou par ordre de détection lors du boot ?

Merci d'avance pour votre aide !
:-? C'est pas UDEV qui gère ça ? (Je sais pas trop là, désolé)
En checkant un peu dans les pages de man et d'après ce que j'ai compris, ce serait en effet bien UDEV qui gèrerait l'histoire via un paquet de fichiers de "configuration".
Par curiosité, j'ai été un peu voir ce qu'il y avait dans ces fichiers et un m'a l'air assez intéressant, à savoir celui-ci: /etc/udev/rules.d/50-udev.rules et plus précisément du côté de la ligne 275 chez moi.
Je laisse un petit extrait car je suis pas sûr de comprendre ce que ça fait:
#######################################
# Persistent block device stuff - begin
#######################################
# persistent disk links: /dev/disk/{by-id,by-uuid,by-label,by-path}
# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>

ACTION!="add", GOTO="persistent_end"
SUBSYSTEM!="block", GOTO="persistent_end"

# skip rules for inappropriate block devices
KERNEL=="ram*|loop*|fd*|nbd*|gnbd*", GOTO="persistent_end"

# never access removable ide devices, the drivers are causing event loops on open()
BUS=="ide", DRIVER!="ide-cdrom", SYSFS{removable}=="1",    GOTO="persistent_end"
BUS=="ide", KERNEL=="hd*[0-9]", SYSFS{../removable}=="1", GOTO="persistent_end"

# by-id (hardware serial number)
KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
KERNEL=="hd*[0-9]", IMPORT{parent}=="ID_*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"

KERNEL=="sd*[!0-9]|sr*", SYSFS{ieee1394_id}=="*", ENV{ID_SERIAL}="$sysfs{ieee1394_id}", ENV{ID_BUS}="ieee1394"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/usb_id -x"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/scsi_id -g -x -s %p -d $tempnode"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/scsi_id -g -x -a -s %p -d $tempnode"
KERNEL=="dasd*[!0-9]", IMPORT{program}="/lib/udev/dasd_id --export $tempnode"
KERNEL=="sd*[!0-9]|sr*|dasd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"

# for partitions import parent information
KERNEL=="sd*[0-9]|dasd*[0-9]", IMPORT{parent}=="ID_*"
KERNEL=="sd*[0-9]|dasd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"

# by-path (shortest physical path)
KERNEL=="*[!0-9]|sr*", ENV{ID_TYPE}=="?*", IMPORT{program}="/lib/udev/path_id %p", SYMLINK+="disk/by-path/$env{ID_PATH}"
KERNEL=="sr*", GOTO="persistent_end"
KERNEL=="*[0-9]", IMPORT{parent}=="ID_*"
KERNEL=="*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"

# by-label/by-uuid (filesystem properties)
KERNEL=="*[!0-9]", SYSFS{removable}=="1", GOTO="persistent_end"
IMPORT{program}="/lib/udev/vol_id --export $tempnode"
ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"

# BIOS Enhanced Disk Device
KERNEL=="*[!0-9]", IMPORT{program}="/lib/udev/edd_id --export $tempnode"
KERNEL=="*[!0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"

LABEL="persistent_end"

#####################################
# Persistent block device stuff - end
#####################################
PS: La ligne 275 est la ligne
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/usb_id -x"
Si tu monte tes partitions avec leur étiquette plutôt que leur périphérique tu ne devrais pas avoir de problème.

A+
Merci pour cette solution, cela fonctionne presque parfaitement, en effet un des deux disques est en NTFS et ntfs-3g ne veut rien savoir au démarrage (même message):
[magicrhesus@Kerberos ~]$ mount /windows
ntfs-3g: Cannot mount 'LABEL=Windows': Aucun fichier ou répertoire de ce type

ntfs-3g 1.516 - Third Generation NTFS Driver

Copyright (C) 2005-2006 Yura Pakhuchiy
Copyright (C) 2006-2007 Szabolcs Szakacsits

Usage:    ntfs-3g <device|image_file> <mount_point> [-o option[,...]]

Options:  ro, force, locale=, uid=, gid=, umask=, fmask=, dmask=,
          streams_interface=. Please see details in the manual.

Example:  ntfs-3g /dev/sda1 /mnt/win -o force,locale=en_EN.UTF-8

Ntfs-3g news, support and information:  http://ntfs-3g.org
Voici mon fstab:
[root@Kerberos ~]# cat /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
LABEL=/home             /home                   ext3    defaults        1 2
proc                    /proc                   proc    defaults        0 0
sysfs                   /sys                    sysfs   defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/sdb1               /multimedia             ext2    defaults,users  1 2
LABEL=Windows           /windows                ntfs-3g silent,umask=0000,utf8=true,users 0 0
LABEL=Videos            /videos                 ext3    defaults,users  1 2
#/dev/sdg1              /windows                ntfs-3g silent,umask=0000,utf8=true,users 0 0
#/dev/sdh1              /videos                 ext3    defaults,users  1 2
Le label de /dev/sdg1:
[root@Kerberos ~]# ntfslabel /dev/sdg1
Windows
Je ne sais pas si le truc des label est incompatible avec ntfs-3g ?
Il me renvoie ceci (c-à-d rien :-D)
[root@Kerberos ~]# ntfslabel -v /dev/sdg1 Windows
[root@Kerberos ~]#
Pas l'air d'y avoir d'erreurs en tout cas
Okay,
maintenant

ton entréé fstab : # echo "LABEL=Windows /Windows ntfs-3g defaults 0 0" >> /etc/fstab
puis;
# mount LABEL=Windows
Mon nouveau fstab:
[root@Kerberos ~]# cat /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
LABEL=/home             /home                   ext3    defaults        1 2
proc                    /proc                   proc    defaults        0 0
sysfs                   /sys                    sysfs   defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/sdb1               /multimedia             ext2    defaults,users  1 2
#LABEL=Windows          /windows                ntfs-3g silent,umask=0000,utf8=true,users 0 0
LABEL=Videos            /videos                 ext3    defaults,users  1 2
#/dev/sdg1              /windows                ntfs-3g silent,umask=0000,utf8=true,users 0 0
#/dev/sdh1              /videos                 ext3    defaults,users  1 2
LABEL=Windows           /windows                ntfs-3g defaults        0 0
Le résultat de la commande mount:
[root@Kerberos ~]# mount LABEL=Windows
ntfs-3g: Cannot mount 'LABEL=Windows': Aucun fichier ou répertoire de ce type

ntfs-3g 1.516 - Third Generation NTFS Driver

Copyright (C) 2005-2006 Yura Pakhuchiy
Copyright (C) 2006-2007 Szabolcs Szakacsits

Usage:    ntfs-3g <device|image_file> <mount_point> [-o option[,...]]

Options:  ro, force, locale=, uid=, gid=, umask=, fmask=, dmask=,
          streams_interface=. Please see details in the manual.

Example:  ntfs-3g /dev/sda1 /mnt/win -o force,locale=en_EN.UTF-8

Ntfs-3g news, support and information:  http://ntfs-3g.org
Bonjour,
J'ai testé le montage par l' UUID (ça marche avec du vfat), ça ne marche pas non plus avec ntfs-3g.
liho wrote:Bonjour,
J'ai testé le montage par l' UUID (ça marche avec du vfat), ça ne marche pas non plus avec ntfs-3g.
Donc, pour le moment, il n'y a aucune solution à ce genre de problèmes avec ntfs-3g ? Tant pis, on va attendre :-D
Il serait sans doute utile de poster une RFE (Request For Extension = demande d'évolution) au projet ?

A+
C'est sur que ça pourrait être intéressant, je veux bien m'en charger mais je n'ai pas vu d'endroit sur le site de ntfs-3g pour le faire, juste le "problem submissions".
J'écris quand même là ?
J'ai réussi à monter ma partition winXP (avec ntf-3g dont en lecture/écriture) par l'UUID (ça doit donc marcher aussi avec le label).
Pour cela, après avoir essayé en vain avec gnome-mount (gnome-mount -h MON_UUID ...), j'ai décidé d'utiliser directement HAL pour ce montage, comme pour un disque externe usb.

Voilà comment j'ai procédé :

Suppression (mise en commentaire) de toutes ligne concernant cette partition ntfs (sda1) dans le fstab
Repérage de l'UUID de ma partition en utilisant Hal Device Manager (installer hal-gnome si absent du menu Système)
On peut aussi regarder dans /dev/disk/by-uuid quel UUID correspond à la partition (bouton droit -> propriétés)
Création d'un fichier /usr/share/hal/fdi/policy/95userpolicy/ntfs_sda1.fdi
Dedans j'ai mis :
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="volume.uuid" string="MON_UUID">
        <merge key="volume.ignore" type="bool">false</merge>
        <merge key="volume.label" type="string">ntfs_sda1</merge>
        <merge key="volume.fstype" type="string">ntfs-3g</merge>
    </match>
  </device>
</deviceinfo>
Redémarrage du PC -> Apparition de ma partition dans nautilus (en racine, dans le poste de travail, et dans /media/ntfs_sda1)

Je pense fortement qu'on doit pouvoir étendre ce fonctionnement avec le label en utilisant "volume.label" pour le match au lieu de volume.uuid et en supprimant la ligne merge concernant le label, soit quelque chose comme :
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="volume.label" string="MON_LABEL">
        <merge key="volume.ignore" type="bool">false</merge>
        <merge key="volume.fstype" type="string">ntfs-3g</merge>
    </match>
  </device>
</deviceinfo>
Il serait sans doute utile de poster une RFE (Request For Extension = demande d'évolution) au projet ?
+1

Il semblerait qu'il y ait sûrement une coquille .

Je te recommande donc, d'utiliser ntfs-config qui se chargera de monter les partitions ntfs.