Cada disco duro se identifica por un uuid (teniendo asociados muchos valores más). Igual pasa con las particiones, que cada una tiene un identificador único. Para linux, hay un comando, lshal, que te muestra todos estos valores una vez reconocido el hardware. Te pongo como ejemplo una partición NTFS con W2000server vista desde lshal en debian squeeze (cambiando algunos valores):
Código:
udi = '/org/freedesktop/Hal/devices/volume_uuid_E86CE2816CE249A0'
block.device = '/dev/sda10' (string)
block.is_volume = true (bool)
block.major = 8 (0x8) (int)
block.minor = 10 (0xa) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_SATA_Hitachi_HTS5427080406BB2300ACGRLAJA' (string)
info.capabilities = {'volume', 'block'} (string list)
info.category = 'volume' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Volume'} (string list)
info.parent = '/org/freedesktop/Hal/devices/storage_serial_SATA_Hitachi_HTS5425080406BB2300ACGRLJJA' (string)
info.product = '2003 server' (string)
info.udi = '/org/freedesktop/Hal/devices/volume_uuid_E86CE2816CE249A0' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/block/sda/sda10' (string)
org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype extra_options', 'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject'} (string list)
org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} (string list)
org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'} (string list)
volume.block_size = 512 (0x200) (int)
volume.fstype = 'ntfs' (string)
volume.fsusage = 'filesystem' (string)
volume.fsversion = '3.1' (string)
volume.ignore = false (bool)
volume.is_disc = false (bool)
volume.is_mounted = false (bool)
volume.is_mounted_read_only = false (bool)
volume.is_partition = true (bool)
volume.label = '2003 server' (string)
volume.linux.is_device_mapper = false (bool)
volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'uid=', 'gid=', 'umask=', 'utf8'} (string list)
volume.mount_point = '' (string)
volume.num_blocks = 39070017 (0x2542941) (uint64)
volume.partition.media_size = 160041885696 (0x25433d6000) (uint64)
volume.partition.number = 10 (0xa) (int)
volume.partition.start = 102018180096 (0x17c0c1e400) (uint64)
volume.size = 20003848704 (0x4a8528200) (uint64)
volume.unmount.valid_options = {'lazy'} (string list)
volume.uuid = 'E86CE2816CE249A0' (string)
A lo que me refiero con que se pasan el estándar por el forro es a que, de ser cierto lo que dices de que modifica el uuid de uno de los discos, se desestabilizan implementaciones de otras plataformas/sistemas operativos. Eso no debería ser así, de hecho yo mismo he preparado hace muy poco una solución de backups que se apoya en la identificación de un disco externo (por su uuid, evidentemente) para, al detectar en el bus del sistema su conexión, comenzar un script que se responsabilida de montar el volúmen y realizar las pertinentes copias de respaldo. En este caso, por ejemplo, y según parece por lo que comentas, se rompería el invento por culpa de vete a saber qué motivo.
Pero bueno, es cuestión de confirmarlo. Yo desde luego no me explico el motivo (legítimo) de porqué cambiar el uuid de un disco sin que lo solicite el usuario explícitamente.
Salu2!
Marcadores