суббота, 25 мая 2019 г.

Проблема с внешним диском, подключаемым к Raspberry Pi через USB

Сегодня обнаружил решение своей проблемы, связанной с подключенным к моему мини-компьютеру Raspberry Pi (о которой я писал уже как-то) внешним диском через USB.

Суть проблемы - меняется имя устройства и соответственно имя раздела. Не знаю почему, но такое происходит иногда. Например, смотрим какие устройства есть: fdisk -l

Утилита выдаёт данные по дискам и разделам на них.
Нахожу диск - Disk /dev/sda: 64.3 GB, 64339968000 bytes
Старенький SSD (ему лет 12 наверно уже), который можно подключать через USB. Видно, что устройство называется /dev/sda
Раздел у этого диска один и его система именует /dev/sda1
Иногда случается, что именование раздела меняется, а ещё хуже, когда диск становится sdb (т.е. меняется именование диска), следовательно запись в fstab работать не будет

В случае с разными именами разделов я нашёл способ применения меток разделов. Утилита e2label или tune2fs устанавливает метку раздела. Например - e2label /dev/sda1 myssd. Тогда в fstab можно писать строку монтирования уже следующим способом: LABEL=myssd /mnt/ssd ext3 defaults 0 0

Всё было хорошо, пока у меня опять не пропал доступ к диску. Начал разбираться, оказалось, что поменялось имя устройство на sdb. Метка естественно не работает. Применил метку к новому разделу sdb1, перезагрузил, и...  доступа к диску нет. Имя диска опять стало sda. Метка раздела куда-то пропадает при всём этом.

В общем стал искать в интернете, как можно избежать таких историй и наткнулся на страницу на IBM'омвском сайте (который мне попадается неоднократно и я нахожу там только крайне полезную информацию), которая касается монтирования файловых систем. На этой странице я увидел, что кроме меток можно использовать уникальные идентификаторы. В отличии от метки, идентификатор задан системой, поэтому исключается случай его потери.

Чтобы узнать метку раздела надо выполнить команду blkid. Будет выведен список устройств и информация по идентификаторам, меткам и типам файловых систем.

Запись в fstab меняется несильно:
UUID=bf7873ee-f5e9-4551-ba8c-d78c39ccd4b4 /mnt/ssd ext3 defaults 0 0

И всё, проблема решена. При подключении диска к другому разъёму USB идентификатор раздела останется прежним. По крайней мере до того момента, пока не будет создан новый раздел. Не знаю точно, но мне кажется, что идентификатор при этом изменится. Это надо учитывать.

Век живи - век учись!

Комментариев нет:

Отправить комментарий

Определение параметров CHS (Cylinder, Head, Sector) карт CF с помощью утилиты IDEINFO

 Столкнулся с проблемкой подключения карт CF к материнской плате LTC-SL REV-B и WD386SX-LPX. В БИОС этих плат нет автоопределения накопителе...