disk #1
和disk #2
。我将disk #1
装入sudo mount /dev/sda1 /mnt/drive
。我怎么知道sda1
将分配给disk #1
而不是disk #2
,尤其是在Raspberry Pi重新启动后?换句话说,如何分别将sda1
和sdb1
分配给磁盘#1和#2,并防止其在重新引导后彼此交换?#1 楼
磁盘驱动器通过其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将自动安装到给定的安装点。
评论
正如我在回答中指出的那样,不是驱动器,而是由UUID标识的驱动器上的分区。 (有细微的差别。)如果重新格式化驱动器,则会创建一个新分区,该分区将获得新的UUID。
–弗雷德
2014年3月22日在16:56
“ / MOUNT / POINT1”是什么意思?这是安装点的字面定义吗?
– IgorGanapolsky
16年8月14日在18:55
@IgorGanapolsky只是您要挂载分区的文件夹的名称。根据需要选择。
–ios.id0
16年8月15日在3:24
比重新启动更好的是执行sudo mount -a并查看是否有任何错误。如果有,可能导致系统无法启动。
– Jan
19年4月25日在0:30
#2 楼
严格来说,这是一个通用的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
。您可以使用它进行安装。您可以在/etc/fstab
中使用稍短的符号来指定应该安装驱动器:UUID=2d02d277-a79c-4818-adc7-c37484e17c6a /mnt/backup ext3 defaults 0 0
请参阅此处了解更多详细信息,或在此处查看UUID搜索结果。
评论
当我输入blkid时,我什么也没得到!
– IgorGanapolsky
16年8月14日在18:56
@IgorGanapolsky尝试sudo blkid。显然blkid需要root特权,但是默认情况下,在Raspberry Pi上,您将以非特权用户pi身份登录。
– herzbube
16-09-24在16:30
#3 楼
感谢加布里埃尔(Gabriel)的变通方法,在这里(树莓2)也遇到了同样的问题。 > /43/rc.local中的sudo mount -a
完成了这项工作。
#4 楼
好吧,正确与不正确就我而言,RPI v2 4内核自v1版本以来发生了一些变化,例如:
编辑fstab以便在启动时自动挂载外部hdd根本无法运行,没有使用uuid,不使用/ dev / sda1
问题是我必须在完全启动后等待30秒才能安装我的外部硬盘驱动器,奇怪的是USB记忆棒上的fstab可以完美运行。 br />所以,我做了一个剧本来睡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
评论
问题是关于磁盘排序,而不是关于不可用的设备。
– mpromonet
15年3月18日在19:41
不知道为什么你被否决了。我注意到了同样的问题。我没有SSD问题。我挂载磁盘驱动器时出现问题。最终写了一个脚本来延迟安装使其正常工作。
– Unikorn
20 Mar 23 '20 at 4:45
评论
这是一个好问题,因为在多磁盘系统上,重新引导后/ dev / sda并不总是/ dev / sda。