Поиск по блогу :

    19 ноября 2008 г.

    Использование UUID при монтировании дисков

    Как-то столкнулся с одной проблемкой. У меня есть IDE-карман, который я редко, но использую. Так вот, когда в этот карман вставляешь диск, а комп при этом потушен, то при загрузке мои жесткие диски меняли свои названия в каталоге /dev. Из-за этого, некоторые монтировались ни туда, куда надо, а некоторые вообще не монтировались.


    Как выяснилось, дело было в том, что я по старинке монтировал свои диски указывая название жесткого диска (например: /dev/sda1 ) и папку куда он должен монтироваться (например: /mnt/D ). Все бы ничего, но когда я вставлял жесткий в карман, то добавлялось еще одно устройство и названия жестких дисков в каталоге /dev - менялись.
    Решение такой проблеме очень простое. Вы наверное замечали, как монтируются по умолчанию ваша домашняя директория и корневая система в Убунту. Монтируются они с помощью стандарта идентификации - UUID (Universally Unique Identifier). Смысл системы в том, что каждый ваш диск идентифицируется специальным номером, который не меняется даже тогда, когда диски меняются местами в каталоге /dev. И с помощью этого идентификатора, вы можете монтировать все свои диски не задумываясь о том, что будет если вы добавите еще один диск в вашу систему и т.д.

    Использование UUID

    1. Применять идентификаторы дисков, будем в файле /etc/fstab, который отвечает за монтирование устройств при загрузке системы.
    1.1. Вот так вот, выглядела раньше запись монтирования двух моих дисков:
    /dev/sda1 /mnt/D ext3 defaults,relatime 0 0
    /dev/sda5 /mnt/E vfat iocharset=utf8,umask=000 0 0
    Теперь она выглядит вот так:
    UUID=5d94e4f6-c678-442a-a640-d20e0fd3b383 /mnt/D ext3 defaults,relatime 0 0
    UUID=4574-A323 /mnt/E vfat iocharset=utf8,umask=000 0 0
    1.2. В зависимости от файловой системы, используемой на диске, меняется и UUID (в нашем случае ext3 = 16 байтный номер, а fat32 = пара четырехзначных чисел).
    2. Как вы сами понимаете, нельзя примонтировать устройство с помощью UUID, не зная его.
    2.1. Узнать UUID устройства можно, как минимум, двумя способами. Первый:
    $
    sudo blkid

    вам будет выведен список всех устройств с их UUID и типом файловой системы.
    Второй способ:
    $
    ls -l /dev/disk/by-uuid/

    Как по мне, первый более информативен.
    3. Теперь вставляете полученные UUID нужным дискам в /etc/fstab и все, теперь вы больше никогда не столкнетесь с той проблемой, о которой я писал в начале статьи.