Raspberry Piが再起動するたびに正しいドライブをマウントするにはどうすればよいですか?


13

UNIXシステムでハードドライブをマウントする方法は一般的に知っています。しかし、私は一つのことと混同しています。私が持っているdisk #1と言うdisk #2。でマウントdisk #1sudo mount /dev/sda1 /mnt/driveます。特にRaspberry Piが再起動した後、sda1割り当てられているのdisk #1ではなくdisk #2、割り当てられていることをどのように知ることができますか?言い換えれば、ディスク#1と#2をそれぞれ所有sda1してsdb1割り当て、再起動後にディスクが互いに交換されるのを防ぐにはどうすればよいですか?


1
マルチディスクシステムでは、リブート後に/ dev / sdaが常に/ dev / sdaとは限らないため、これは良い質問です。
タコ14年

回答:


16

ディスクドライブは、UUID(Universally Unique Identifier)によって区別されます。次のコマンドでHDの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を取得する新しいパーティションが作成されます。
フレッド14年

/ MOUNT / POINT1」とはどういう意味ですか?それはマウントポイントの文字通りの定義ですか?
イゴールガナポルスキー

1
@IgorGanapolskyは、パーティションをマウントするフォルダーの名前です。好きなように選択してください。
ios.id0

再起動するだけでなく、実行sudo mount -aしてエラーがあるかどうかを確認することをお勧めします。存在する場合、システムが起動しない可能性があります。
1

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。これを使用してマウントできます。/etc/fstabドライブをマウントするように指定するには、inで少し短い表記を使用できます。

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

詳細についてはこちらを参照するか、UUIDの検索結果をご覧ください


1
blkidと入力しても何も得られません!
イゴールガナポルスキー

@IgorGanapolsky試してみてくださいsudo blkid。どうやらblkidroot権限が必要ですが、デフォルトではRaspberry Piに非特権ユーザーとしてログインしますpi
herzbube

0

回避策のガブリエル、ここでも同じ問題(Raspberry 2)をありがとう。しかし、rc.localが機能するようになるまでに30秒はスキップでき、デバイスが見つかりました。

sudo mount -a

/etc/rc.localで仕事をしました。


-2

私の場合、RPI v2 4コアでは、v1バージョン以降に何かが変更されています:起動時に外部hddを自動マウントするためのfstabの編集はまったく実行されず、uuidを使用せず、/ dev / sda1を使用しません

問題は、外付け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

jmicron usbアダプターを使用すると、30秒待機せずに、lsusbが正しいJmicronアダプターを取得してもデバイスが存在しないと表示される可能性があります。

ここに私のテレビのスナップショットの2が前にある ここに画像の説明を入力してくださいここに画像の説明を入力してください

gabriel@linux-romania.com


1
質問は、利用できないデバイスについてではなく、ディスクの順序について述べています。
mpromonet
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.