Jak zamontować prawidłowy dysk przy każdym ponownym uruchomieniu Raspberry Pi?


13

Ogólnie wiem, jak montować dyski twarde w systemie UNIX. Ale jestem mylony z jedną rzeczą. Powiedz, że mam disk #1i disk #2. Montuję disk #1z sudo mount /dev/sda1 /mnt/drive. Skąd będę wiedział, że sda1zostanie to przypisane disk #1i nie disk #2, szczególnie po ponownym uruchomieniu Raspberry Pi? Innymi słowy, w jaki sposób mogę mieć sda1i sdb1przypisać odpowiednio dysk nr 1 i nr 2 i zapobiec zamianie się dysku po ponownym uruchomieniu?


1
To dobre pytanie, ponieważ w systemie z wieloma dyskami / dev / sda nie zawsze / dev / sda po restarcie.
Octopus

Odpowiedzi:


16

Dyski twarde wyróżniają się identyfikatorem UUID (uniwersalnie unikalny identyfikator). Możesz znaleźć UUID swojego dysku twardego za pomocą polecenia. ls -l /dev/disk/by-uuid/ Następnie musisz utworzyć punkty montowania sudo mkdir /MOUNT/POINT1 i zmienić ich uprawnienia. sudo chmod 775 /MOUNT/POINT1 Następnie dodajesz linię do pliku fstab (który znajduje się w / etc / fstab), który wygląda następująco:

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

Oczywiście musisz go zmienić w zależności od systemu plików itp. Następnie zapisz plik i uruchom ponownie, a dyski HD zostaną automatycznie zamontowane w podanych punktach.


1
Jak wskazałem w mojej odpowiedzi, to nie dyski, ale partycje na dyskach są identyfikowane przez UUID. (Subtelna różnica.) Ponowne sformatowanie dysku powoduje utworzenie nowej partycji, która otrzymuje nowy identyfikator UUID.
Fred

Co rozumiesz przez „ / MOUNT / POINT1 ”? Czy to dosłowna definicja punktu montowania?
IgorGanapolsky

1
@IgorGanapolsky to tylko nazwa folderu, w którym chcesz zamontować partycje. Wybierz, jak chcesz.
ios.id0

Lepiej niż po prostu zrestartować jest wykonać sudo mount -ai sprawdzić, czy są jakieś błędy. Jeśli takie istnieją, może to prowadzić do rozruchu systemu.
Jan

7

To jest ściśle ogólne pytanie o Linuksa, ale odpowiedź i tak brzmi UUID partycji (uniwersalnie unikalne identyfikatory). Jak sama nazwa wskazuje na puszce, podczas formatowania partycji generowany jest losowy unikalny identyfikator, który ją opisuje. Możesz użyć tego do zamontowania, aby mieć pewność, że zawsze otrzymasz poprawną partycję. blkidKomenda podaje listę UUID aktualnie podłączonych urządzeń, np:

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

W tym przypadku będzie to odpowiadało urządzeniu / dev /dev/disk/by-uuid/2d02d277-a79c-4818-adc7-c37484e17c6a. Możesz użyć tego do zamontowania. Możesz użyć nieco krótszej notacji in, /etc/fstababy określić, że dysk powinien zostać zamontowany:

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

Zobacz tutaj, aby uzyskać więcej informacji, lub spójrz na wyniki wyszukiwania UUID tutaj .


1
Kiedy wpisuję blkid , nic nie dostaję!
IgorGanapolsky

@IgorGanapolsky Try sudo blkid. Najwyraźniej blkidwymaga uprawnień roota, ale na Raspberry Pi domyślnie zalogujesz się jako użytkownik nieuprzywilejowany pi.
herzbube

0

Dzięki za obejście Gabriela, ten sam problem tutaj (Raspberry 2). Ale mogłem pominąć 30 sekund, zanim rc.local zaczął działać, urządzenie zostało znalezione, więc

sudo mount -a

w /etc/rc.local wykonał zadanie.


-2

Cóż, prawda i nie prawda W moim przypadku, w rdzeniu RPI v2 4, coś się zmieniło od wersji v1 jako takiej: edycja fstab w celu automatycznego zamontowania zewnętrznego dysku twardego na starcie wcale nie działa, nie używa się identyfikatora użytkownika, nie używa / dev / sda1

Problem polega na tym, że muszę podłączyć 30 sekund po zakończeniu rozruchu, aby zamontować zewnętrzny dysk twardy, dziwne jest to, że na pamięci USB fstab działa bezbłędnie. Zrobiłem więc skrypt do spania 30; sudo mount -a, aby zabrakło rzeczy.

tutaj jest / 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

I dodał ostatni wiersz

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

Oto moje rozszerzenie /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

Może to być coś z adapterem USB jmicron, bez 30 sekund oczekiwania mówi, że urządzenie nie jest obecne, mimo że lsusb dostaje prawidłowy adapter Jmicron Muszę go głęboko wkopać !!!

Oto 2 moje migawki telewizyjne Przed i wprowadź opis zdjęcia tutaj po wprowadź opis zdjęcia tutaj

gabriel@linux-romania.com


1
Pytanie dotyczy kolejności dysków, a nie niedostępnego urządzenia.
mpromonet,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.