Как мне подключить правильный диск каждый раз, когда Raspberry Pi перезагружается?

13

Я обычно знаю, как монтировать жесткие диски в системе UNIX. Но меня смущает одна вещь. Скажем , у меня есть disk #1и disk #2. Я монтирую disk #1с sudo mount /dev/sda1 /mnt/drive. Как я узнаю, что sda1будет назначено, disk #1а что нет disk #2, особенно после перезагрузки Raspberry Pi? Другими словами, как я могу иметь sda1и sdb1назначить диск № 1 и № 2 соответственно и предотвратить его обмен друг с другом после перезагрузки?

StarShire
источник
1
Это хороший вопрос, потому что в многодисковой системе / dev / sda не всегда / dev / sda после перезагрузки.
Осьминог

Ответы:

16

Дисководы отличаются своим UUID (универсально уникальным идентификатором). Вы можете найти UUID ваших HD с помощью команды. ls -l /dev/disk/by-uuid/ Затем вы должны создать точки монтирования sudo mkdir /MOUNT/POINT1 и изменить их разрешения. sudo chmod 775 /MOUNT/POINT1 Затем вы добавляете строку в ваш файл fstab (который находится в / etc / fstab), который выглядит так:

UUID=BLAHBLAH12341234 /MOUNT/POINT1 ntfs-3g rw,defaults 0 0
UUID=12341234BLAHBLAH /MOUNT/POINT2 ext rw,defaults 0 0

Конечно, вы должны изменить его в соответствии с вашей файловой системой и т. Д. Затем сохраните файл и перезагрузите компьютер, и ваши жесткие диски будут автоматически подключены к указанным точкам монтирования.

ios.id0
источник
1
Как я указал в своем ответе, это не диски, а разделы на дисках, которые идентифицируются UUID. (Небольшая разница.) Если вы переформатируете диск, это создает новый раздел, который получает новый UUID.
Фред
Что вы подразумеваете под " / MOUNT / POINT1 "? Это буквальное определение точки монтирования?
Игорь Ганапольский
1
@IgorGanapolsky это просто имя папки, в которую вы хотите смонтировать разделы. Выбирай как хочешь.
ios.id0
Лучше, чем просто перезапуск, выполнить sudo mount -aи посмотреть, есть ли какие-либо ошибки. Если бы они были, это могло привести к системе, которая не загружается.
Jan
7

Это строго общий вопрос для Linux, но в любом случае ответ - UUID раздела (универсальные уникальные идентификаторы). Как следует из названия на банке, при форматировании раздела генерируется случайный уникальный идентификатор, который описывает его. Вы можете использовать это для монтирования, чтобы всегда получать правильный раздел. Команда blkidдает список UUID для подключенных в данный момент устройств, например:

/dev/sda4: UUID="2d02d277-a79c-4818-adc7-c37484e17c6a" TYPE="ext3" 

В этом случае это будет соответствовать устройству / dev /dev/disk/by-uuid/2d02d277-a79c-4818-adc7-c37484e17c6a. Вы можете использовать это, чтобы смонтировать. Вы можете использовать немного более короткую запись с in, /etc/fstabчтобы указать, что диск должен быть смонтирован:

UUID=2d02d277-a79c-4818-adc7-c37484e17c6a /mnt/backup ext3 defaults 0 0

Смотрите здесь для более подробной информации, или посмотрите результаты поиска UUID здесь .

Фред
источник
1
Когда я набираю blkid , я ничего не получаю!
Игорь Ганапольский
@IgorGanapolsky Попробуйте sudo blkid. Очевидно, blkidтребуются права суперпользователя, но на Raspberry Pi по умолчанию вы войдете в систему как непривилегированный пользователь pi.
Герцбю
0

Спасибо за обходной путь, Габриэль, та же проблема здесь (Raspberry 2). Но я мог пропустить 30 секунд, пока rc.local заработал, устройство было найдено, поэтому

sudo mount -a

в /etc/rc.local сделал эту работу.

кортик
источник
-2

Ну, правда и не правда В моем случае, ядро ​​RPI v2 4, что-то изменилось с версии v1 как таковое: редактирование fstab для автоматического монтирования внешнего жесткого диска при запуске вообще не запускается, без использования uuid, без использования / dev / sda1

проблема в том, что мне нужно подождать 30 секунд после полной загрузки, чтобы смонтировать внешний жесткий диск, странно, что на USB-накопителе fstab работает безупречно. Итак, я сделал сценарий для сна 30; sudo mount -a для запуска.

вот / etc / fstab

pi@raspberrypi ~ $ cat /etc/fstab 
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that

И добавил последнюю строку

UUID=3d81d9e2-7d1b-4015-8c2c-29ec0875f762 /media/250_gb ext4 defaults 0 0

Вот мое расширение /etc/rc.local

# Begin all drives remount
clear
echo "Please wait 30 seconsds in order to remount all missing drives !!!"
for x in `seq 1 30`
do
echo -n "."
sleep 1
done
sudo mount -a
sudo service minidlna force-reload

# End drives remount 

exit 0

Это может быть что-то с USB-адаптером jmicron, без ожидания 30 секунд он говорит, что устройство отсутствует, хотя lsusb получает правильный адаптер Jmicron.

Вот 2 из моих снимков телевизора До введите описание изображения здесь после введите описание изображения здесь

gabriel@linux-romania.com

Габриель
источник
1
Вопрос говорит о порядке дисков, а не о недоступном устройстве.
mpromonet