Bagaimana cara memasang drive yang benar setiap kali Raspberry Pi reboot?

13

Saya biasanya tahu cara memasang hard drive dalam sistem UNIX. Tetapi saya bingung dengan satu hal. Katakan saya punya disk #1dan disk #2. Saya mount disk #1dengan sudo mount /dev/sda1 /mnt/drive. Bagaimana saya tahu bahwa sda1akan ditugaskan disk #1dan tidak disk #2, terutama setelah ketika Raspberry Pi restart? Dengan kata lain, bagaimana saya dapat memiliki sda1dan sdb1menetapkan masing-masing disk # 1 dan # 2 dan mencegahnya bertukar satu sama lain setelah reboot?

StarShire
sumber
1
Ini adalah pertanyaan yang bagus karena pada sistem multidisk / dev / sda tidak selalu / dev / sda setelah reboot.
Octopus

Jawaban:

16

Disk drive dibedakan oleh UUID (pengidentifikasi unik universal). Anda dapat menemukan UUID HD Anda dengan perintah ls -l /dev/disk/by-uuid/ Kemudian Anda harus membuat titik mount sudo mkdir /MOUNT/POINT1 dan mengubah izinnya. sudo chmod 775 /MOUNT/POINT1 Kemudian Anda menambahkan baris ke file fstab Anda (yang terletak di / etc / fstab) yang terlihat seperti itu:

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

Tentu saja Anda harus mengubahnya sesuai dengan sistem file Anda dll. Kemudian simpan file dan reboot dan HDs Anda akan dipasang secara otomatis ke titik pemasangan yang diberikan.

ios.id0
sumber
1
Seperti yang saya tunjukkan dalam jawaban saya, itu bukan drive, tetapi partisi pada drive yang diidentifikasi oleh UUID. (Perbedaan yang halus.) Jika Anda memformat ulang drive, itu membuat partisi baru yang mendapat UUID baru.
Fred
Apa yang Anda maksud dengan " / MOUNT / POINT1 "? Apakah itu definisi literal dari mount point?
IgorGanapolsky
1
@IgorGanapolsky hanya nama folder yang ingin Anda pasang partisi Anda. Pilih sesuka Anda.
ios.id0
Lebih baik daripada hanya me-restart adalah mengeksekusi sudo mount -adan melihat apakah ada kesalahan. Jika ada, itu bisa mengarah ke sistem yang tidak bisa boot.
Jan
7

Ini benar-benar pertanyaan umum Linux, tetapi jawabannya adalah partisi UUID (Universally Unique Identifiers). Seperti namanya di kaleng, ketika partisi diformat, ID unik acak dihasilkan yang menjelaskannya. Anda dapat menggunakan ini untuk memasang untuk memastikan bahwa Anda selalu mendapatkan partisi yang benar. The blkidperintah memberikan daftar UUIDs untuk perangkat saat ini terpasang, misalnya:

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

Ini akan sesuai dengan perangkat / dev, dalam hal ini /dev/disk/by-uuid/2d02d277-a79c-4818-adc7-c37484e17c6a. Anda dapat menggunakannya untuk melakukan mount. Anda dapat menggunakan notasi yang sedikit lebih pendek dengan in /etc/fstabuntuk menentukan bahwa drive harus dipasang:

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

Lihat di sini untuk detail lebih lanjut, atau lihat hasil pencarian UUID di sini .

Fred
sumber
1
Ketika saya mengetik blkid , saya tidak mendapatkan apa-apa!
IgorGanapolsky
@IgorGanapolsky Coba sudo blkid. Tampaknya blkidmembutuhkan hak akses root, tetapi pada Raspberry Pi secara default Anda akan masuk sebagai pengguna yang tidak memiliki hak istimewa pi.
herzbube
0

Terima kasih atas solusinya gabriel, masalah yang sama di sini (Raspberry 2). Tapi saya bisa melewatkan 30 detik pada saat rc.local mulai bekerja perangkat ditemukan, jadi a

sudo mount -a

di /etc/rc.local melakukan pekerjaan.

Beladau
sumber
-2

Nah, benar dan tidak benar Dalam kasus saya, RPI v2 4 core, sesuatu telah berubah sejak versi v1 seperti itu: mengedit fstab untuk mengotomatisasikan hdd eksternal saat start tidak berjalan sama sekali, tidak menggunakan uuid, tidak menggunakan / dev / sda1

masalahnya adalah bahwa saya harus menunggu 30 detik setelah boot lengkap untuk me-mount drive hdd eksternal saya, anehnya adalah pada USB stick, fstab berjalan dengan sempurna. Jadi, saya membuat skrip untuk tidur 30; sudo mount -a untuk menjalankan sesuatu.

di sini adalah / 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

Dan menambahkan baris terakhir

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

Ini ekstensi /etc/rc.local saya

# 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

Bisa jadi sesuatu dengan adaptor usb jmicron, tanpa 30 detik tunggu dikatakan bahwa perangkat tidak hadir meskipun lsusb mendapatkan adaptor Jmicron yang benar Harus menggali jauh di bawah tanah !!!

Berikut adalah 2 dari snapshot TV saya Sebelum masukkan deskripsi gambar di sini sesudahnya masukkan deskripsi gambar di sini

[email protected]

Gabriel
sumber
1
Pertanyaannya berbicara tentang pemesanan disk dan bukan tentang perangkat yang tidak tersedia.
mpromonet