ฉันจะติดตั้งไดรฟ์ที่ถูกต้องทุกครั้งที่ 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
นี่เป็นคำถามที่ดีเพราะในระบบ multidisk / dev / sda อาจไม่ใช่ / dev / sda เสมอหลังจากรีบูตเครื่อง
Octopus

คำตอบ:


16

ดิสก์ไดรฟ์นั้นโดดเด่นด้วย UUID (ตัวระบุเฉพาะสากล) คุณสามารถค้นหา UUID ของ HDs ของคุณด้วยคำสั่ง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

แน่นอนคุณต้องเปลี่ยนมันตามระบบไฟล์ของคุณ ฯลฯ จากนั้นให้บันทึกไฟล์และรีบูตและ HDs ของคุณจะทำการเมานต์โดยอัตโนมัติไปยังจุดเมานท์ที่กำหนด


1
ขณะที่ฉันชี้ให้เห็นในคำตอบของฉันมันไม่ใช่ไดรฟ์ แต่พาร์ติชันบนไดรฟ์ที่ระบุโดย UUID (ความแตกต่างเล็กน้อย) หากคุณฟอร์แมตไดรฟ์อีกครั้งนั่นจะเป็นการสร้างพาร์ติชันใหม่ซึ่งได้รับ UUID ใหม่
Fred

คุณหมายถึงอะไรโดย " / MOUNT / POINT1 " นั่นคือคำจำกัดความที่แท้จริงของจุดเชื่อมต่อหรือไม่?
IgorGanapolsky

1
@IgorGanapolsky เป็นเพียงชื่อโฟลเดอร์ที่คุณต้องการติดตั้งพาร์ติชันของคุณ เลือกได้ตามใจชอบ
ios.id0

ดีกว่าเพียงแค่เริ่มต้นใหม่คือการดำเนินการsudo mount -aและดูว่ามีข้อผิดพลาดใด ๆ หากมีอยู่ก็อาจนำไปสู่ระบบที่ไม่สามารถบู๊ตได้
Jan

7

นี่เป็นคำถามทั่วไปของ Linux แต่คำตอบก็คือพาร์ติชัน UUIDs (Universally Unique Identifiers) เช่นเดียวกับชื่อที่บอกในกระป๋องเมื่อมีการจัดรูปแบบพาร์ติชันจะมีการสร้าง ID เฉพาะที่ไม่ซ้ำกันซึ่งจะอธิบาย คุณสามารถใช้เพื่อเมาต์เพื่อให้แน่ใจว่าคุณได้พาร์ติชันที่ถูกต้องเสมอ blkidคำสั่งให้รายการ UUIDs สำหรับอุปกรณ์ที่ติดอยู่ในปัจจุบันเช่น:

/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

@IgorGanapolsky sudo blkidลอง เห็นได้ชัดว่าblkidต้องใช้สิทธิ์ root แต่ในราสเบอร์รี่ Pi piโดยเริ่มต้นที่คุณจะเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ได้รับการยกเว้น
herzbube

0

ขอบคุณสำหรับการแก้ปัญหากาเบรียลปัญหาเดียวกันที่นี่ (Raspberry 2) แต่ฉันสามารถข้ามไปได้ในเวลา 30 วินาทีตามเวลาที่ rc.local ต้องใช้ในการทำงานกับอุปกรณ์ที่พบดังนั้นก

sudo mount -a

ใน /etc/rc.local ทำหน้าที่ได้


-2

ดีจริงและไม่เป็นความจริงในกรณีของฉัน RPI v2 4 คอร์มีบางอย่างเปลี่ยนไปตั้งแต่รุ่น v1: การแก้ไข fstab เพื่อที่จะติดตั้ง HDD ภายนอกอัตโนมัติตอนเริ่มต้นไม่ทำงานเลยไม่ใช้ 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

อาจเป็นสิ่งที่มีอะแดปเตอร์ jmicron usb โดยไม่ต้องรอ 30 วินาทีมันบอกว่าอุปกรณ์ไม่ปรากฏแม้ว่า lsusb จะได้รับอะแดปเตอร์ Jmicron ที่ถูกต้องก็ต้องขุดมันลงใต้ดินลึก !!!

นี่คือภาพรวมที่ 2 ของทีวีของฉันก่อน ป้อนคำอธิบายรูปภาพที่นี่ หลัง ป้อนคำอธิบายรูปภาพที่นี่

gabriel@linux-romania.com


1
คำถามพูดเกี่ยวกับการสั่งซื้อดิสก์ไม่ใช่เกี่ยวกับอุปกรณ์ที่ไม่มี
mpromonet
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.