Raspberry Pi가 재부팅 될 때마다 올바른 드라이브를 어떻게 장착합니까?


13

일반적으로 UNIX 시스템에서 하드 드라이브를 마운트하는 방법을 알고 있습니다. 그러나 나는 한 가지와 혼동됩니다. 내가 disk #1있고 말하십시오 disk #2. 로 마운트 disk #1합니다 sudo mount /dev/sda1 /mnt/drive. 어떻게 그 알 sda1에 할당됩니다 disk #1하지 disk #2특히 때 라즈베리 파이가 다시 시작되면? 다시 말해, 디스크 # 1과 # 2에 각각 디스크를 할당 sda1하고 sdb1할당 한 후 다시 부팅 한 후 서로 교체되지 않도록하려면 어떻게해야합니까?


1
다중 디스크 시스템에서 / dev / sda가 재부팅 후 항상 / dev / sda가 아니기 때문에 좋은 질문입니다.
Octopus

답변:


16

디스크 드라이브는 UUID (universally unique identifier)로 구별됩니다. ls -l /dev/disk/by-uuid/ 다음 명령을 사용하여 HD의 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를 가져 오는 새 파티션이 만들어집니다.
Fred

" / MOUNT / POINT1 " 은 무슨 뜻 입니까? 마운트 포인트의 문자 정의입니까?
IgorGanapolsky

1
@IgorGanapolsky는 파티션을 마운트하려는 폴더의 이름입니다. 원하는대로 선택하십시오.
ios.id0

다시 시작하는 것보다 sudo mount -a오류가 없는지 확인 하고 실행 하는 것이 좋습니다. 존재하는 경우 시스템이 부팅되지 않을 수 있습니다.
Jan

7

이것은 엄격하게 일반적인 Linux 질문이지만, 어쨌든 대답은 파티션 UUID (Universally Unique Identifiers)입니다. 주석에서 이름이 말하는 것처럼 파티션을 포맷하면이를 나타내는 임의의 고유 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

@IgorGanapolsky 사용해보십시오 sudo blkid. 분명히 blkid루트 권한이 필요하지만 기본적으로 Raspberry Pi에서는 권한이없는 사용자로 로그인합니다 pi.
herzbube

0

해결 방법 가브리엘에게 감사드립니다. 여기에도 동일한 문제가 있습니다 (라즈베리 2). 그러나 rc.local이 장치를 찾은 시간이 지나면 30 초를 건너 뛸 수 있으므로

sudo mount -a

/etc/rc.local에서 작업을 수행했습니다.


-2

글쎄, 참과 사실이 아닙니다. 제 경우에는 RPI v2 4 코어는 v1 버전 이후로 변경되었습니다. 시작시 외부 hdd를 자동 마운트하기 위해 fstab을 편집하면 / dev / sda1을 사용하지 않고 uuid를 사용하지 않고 uuid를 전혀 실행하지 않습니다.

문제는 외부 HDD 드라이브를 마운트하기 위해 부팅을 완료 한 후 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

그것은 30 초 기다리지 않고 jmicron USB 어댑터로 무언가 될 수 있습니다. lsusb가 올바른 Jmicron 어댑터를 가져도 장치가 존재하지 않는다고 말합니다.

여기 내 TV 스냅 샷 2는 전에 있습니다 여기에 이미지 설명을 입력하십시오여기에 이미지 설명을 입력하십시오

gabriel@linux-romania.com


1
이 질문은 사용 가능한 장치가 아닌 디스크 순서에 관한 것입니다.
mpromonet
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.