Як мені встановити правильний диск щоразу, коли 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 відповідно та запобігти його обміну між собою після перезавантаження?


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

Звичайно, ви повинні змінити його відповідно до вашої файлової системи і т.д.


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. Ви можете використовувати це для монтажу. Ви можете скористатись трохи коротшою позначкою в, /etc/fstabщоб вказати, що привід повинен бути встановлений:

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

Дивіться тут для отримання більш детальної інформації або дивіться результати пошуку UUID тут .


1
Коли я набираю blkid , я нічого не отримую!
ІгорГанапольський

@IgorGanapolsky Спробуйте sudo blkid. Мабуть, blkidпотрібні кореневі привілеї, але на Raspberry Pi за замовчуванням ви увійдете як непривілейований користувач pi.
herzbube

0

Дякую за вирішення проблеми gabriel, та сама проблема тут (Малина 2). Але я міг пропустити на 30 секунд час, коли rc.local попрацював, щоб було знайдено пристрій, так що

sudo mount -a

в /etc/rc.local зробив цю роботу.


-2

Ну, правда, а не вірно. У моєму випадку, ядро ​​RPI v2 4, щось змінилося з моменту версії v1 як такої: редагування fstab для автоматичного встановлення зовнішнього hdd при запуску зовсім не працює, не використовується uuid, не використовується / dev / sda1

Проблема полягає в тому, що мені потрібно зачекати 30 секунд після повного завантаження, щоб встановити зовнішній накопичувач HDD, дивно, що на 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

Це може бути щось із адаптером jmicron usb, не очікуючи 30 секунд, воно говорить про те, що пристрою немає, навіть якщо lsusb отримує правильний адаптер Jmicron.

Ось два моїх телевізійних знімків Перед введіть тут опис зображення після введіть тут опис зображення

gabriel@linux-romania.com


1
Питання говорить про замовлення диска, а не про недоступний пристрій.
mpromonet
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.