每当Raspberry Pi重新启动时,如何安装正确的驱动器?


13

我通常知道如何在UNIX系统中安装硬盘驱动器。但是我对一件事感到困惑。说我有disk #1disk #2。我安装disk #1使用sudo mount /dev/sda1 /mnt/drive。我怎么知道该sda1分配给disk #1和不分配disk #2,特别是在Raspberry Pi重新启动后?换句话说,如何分别分配sda1sdb1分配给磁盘#1和#2并防止其在重新启动后相互交换?


1
这是一个好问题,因为在多磁盘系统上,重启后/ dev / sda并不总是/ dev / sda。
章鱼

Answers:


16

磁盘驱动器通过其UUID(通用唯一标识符)来区分。您可以使用以下命令找到硬盘的UUID,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

当然,您必须根据文件系统等进行更改。然后保存文件并重新启动,HD将自动安装到给定的安装点。


1
正如我在回答中指出的那样,不是驱动器,而是由UUID标识的驱动器上的分区。(有细微的差别。)如果重新格式化驱动器,则会创建一个新分区,该分区将获得新的UUID。
2014年

/ MOUNT / POINT1 ” 是什么意思?这是安装点的字面定义吗?
IgorGanapolsky '16

1
@IgorGanapolsky只是您要挂载分区的文件夹的名称。根据需要选择。
ios.id0 '16

比只是重新启动更好的是执行sudo mount -a并查看是否有任何错误。如果有,可能导致系统无法启动。

7

严格来说,这是一个通用的Linux问题,但是答案始终是分区UUID(通用唯一标识符)。就像名字在罐子上说的那样,格式化分区时,会生成一个随机的唯一ID来描述它。您可以使用此挂载来确保始终获得正确的分区。该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 '16

@IgorGanapolsky试试看sudo blkid。显然blkid需要root特权,但是默认情况下,在Raspberry Pi上,您将以非特权用户身份登录pi
herzbube

0

感谢gabriel的解决方法,此处存在相同问题(Raspberry 2)。但是我可以在发现rc.local开始工作的30秒之前跳过,所以

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.