ブート時にマウントするCIFSネットワークドライブを取得できません


22

fstabに共有を追加して、すべてのファイルが保存されているネットワークドライブにアクセスしています... fstabは次のようになっています。

proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
//192.168.1.73/disk1 /media/disk1 cifs username=pi,password=raspberry,_netdev,uid=1000,gid=1000,iocharset=utf8, 0 0
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that

私は実行すると、sudo mount -a成功したネットワークドライブのマウントをし、私が行うことができcd /media/disk1、その後ls、正しく私に言ったネットワークドライブ上のすべてのフォルダのリストを与えます。

ただし、cdその場所に移動してls再度実行したときにpiを再起動すると、何もありません。手動でsudo mount -a再度実行する必要があり、その後、ドライブがマウントされます。

これは他のフォーラムで何度も報告されていますが、ネットワークが確立される前に、fstabのマウントが早すぎるというコンセンサスがあるようです。私は理解していることを実装しようとしましたが、正直なところ、それは私の頭の上の方法です。私が追加した_netdevfstabに行に、私が追加したrootdelay=10/boot/cmdline.txtに、私はNetworkManagerのをインストールした...これのどれも助けませんでした。

そして、私はあなたに目を向けます、窓からパイを投げる準備ができています-私が続きます。任意の助け、大歓迎。

回答:


9

ルートまたはユーザーのcrontabにマウントを追加することをお勧めします。

現在sudoを使用している場合、ルートcrontabが最も適切であると思われます。

sudo crontab -e#ルートcrontabを編集するには

@rebootエントリをcrontabに追加します。次のような行が必要です

@reboot(スリープ30; / bin / mount / media / disk1)&

ディスクをマウントする前に30秒間待機します。


1
これに到達するのに時間がかかったことをおologiesび申し上げますが、私はこれをもう一度試してみました。あなたのソリューションが完璧に機能したと言って非常に安心しています。手伝ってくれてありがとうございます。
ルークTwomey

これは確かにマウントされますが、シャットダウン時に手順に従ってマウント解除するにはどうすればよいですか?
シアストピエカルツ

14

起動時のネットワークドライブの自動マウントに関しても同じ問題がありました。編集後にmount -aコマンドを追加してみまし/etc/rc.local/etc/fstabが、役に立ちませんでした。動作しない理由は、ネットワークmount -aが実行される前に準備ができていないためです。

他の人が述べたように、問題はネットワークが稼働する前でもfstabドライブがマウントされることです。ネットワークは、ブート時に準備ができていることを確認するためには、オプションがあるWait for Network at Bootではraspi-config

走る

sudo raspi-config

Wait for Network at Bootオプションを設定しSlow wait for network connection before completing bootて再起動します。もちろん、起動時間も影響を受ける可能性がありますが、それが重要でない場合は、この方法を使用できます。

再起動後、ネットワークドライブが自動的にマウントされていることを確認できます。クイックチェックスルーls /media/DRIVE_NAMEまたはdf


これは確かに私にとってはうまくいった修正であり、2016
-ChrisAdmin

私はこの/etc/rc.local mount -aソリューションを使用することを好みますが、最初に寝ることを忘れないでください。:私はちょうどここに掲載私の答えを参照してくださいraspberrypi.stackexchange.com/a/63690/49091
ガブリエルステープルズ

4

これがGoogleで公開されたことを確認して、メモを更新します。私は、Airport Time Capsuleをマウントするのと同じ一連のフラストレーションに悩まされました。2018年3月14日にリリースされたRasbian Stretchで標準のGUIを使用してRaspberry Pi 3B +を実行しています。

これが私のfstabコード行です。

//100.10.10.1/Data /mnt/timecapsule cifs username=********, password=******, vers=1.0, rw, uid=1000, iocharset=utf8, sec=ntlm 0 0

時間の経過とともにいくつかの変更が発生したようです。

  1. 「vers = 1.0」ステートメントを追加する必要があります
  2. _netdevはCFISファイルシステム上では何もせず、NFSファイルシステム上でのみ動作します(以下のGabriel Staplesが指摘)
  3. 「user =」と「pass =」はそれぞれ「username =」と「password =」になります
  4. 最後に、Raspberry Pi Configuration Utilityでチェックできる「Wait for network」ボックスがあり、起動時のマウントの問題を解決しました。

2日間の闘争の後、鉱山はようやくマウントされ、ブート時にマウントされます!


1

この問題を解決する別のトリックは、ファイルの最後に追加することです /etc/rc.localのコマンド。

mount -a

再起動後、次のコマンドを入力して、問題ないかどうかを確認できます。

df -h

次のように表示されます。

pi@raspberrypi ~ $ df -h
File system      Dim. Usati Dispon. Uso% Montato su
/dev/root        7,2G  6,3G    584M  92% /
devtmpfs         119M     0    119M   0% /dev
tmpfs             25M  412K     25M   2% /run
tmpfs            5,0M     0    5,0M   0% /run/lock
tmpfs             49M     0     49M   0% /run/shm
/dev/mmcblk0p1    56M   20M     37M  36% /boot
//192.168.1.1/ws 466G  452G     14G  98% /mnt/winshare  <----------

0

_netdevオプションは/etc/fstabcifs共有に対して何もしないようです。このリソース(https://help.ubuntu.com/community/Fstab)は、「_ netdev-これがネットワークデバイスである場合、ネットワークを立ち上げた後にマウントすることを確認しているようです。fstypenfsでのみ有効です

のオプションを使用するよりも、/etc/rc.localファイルを使用してスリープし、その中で呼び出すことにより、これを修正することを好みます。ただし、mount -acrontabWait for network at bootraspi-config/etc/rc.local修正を有効にするには、以下で説明するように、忘れずにスリープ状態にしてください。

(私のPi3で)この問題を解決するために私がしたことは、/etc/rc.local20秒スリープするように変更し(を呼び出してsleep 20)、次にを呼び出しますmount -a。この方法では、システムが最初にfstabファイルを読み込んだときにネットワークがまだ接続されていないのにマウントが失敗した場合、システムにここで20秒待機させ(ネットワークに接続する時間を与えます)、次にmount -a再度呼び出しますすべてのドライブをfstabファイルます。

ここに私の何である/etc/rc.localファイルは、今のようになります。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
#GS notes: a *minimum* of sleep 10 is required for the mount below to work on the Pi 3; it failed with sleep 5, but worked with sleep 10, sleep 15, and sleep 30
sleep 20
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
  mount -a #GS: mount all drives in /etc/fstab
fi

exit 0

できた!今では完璧に機能します!

参照:


0

私の場合、Raspberry Pi 3を購入し、Raspbian Stretchをインストールしました。次のようなネットワークドライブのお気に入りの配置でfstabを編集しました。

//172.30.0.54/mnt/anim /mnt/share/Z cifs  username=frieza,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/V /mnt/share/V cifs  username=goku,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/M /mnt/share/M cifs  username=piccolo,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/O /mnt/share/O cifs  username=drbrief,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/R /mnt/share/R cifs  username=vegeta,password=meh,uid=1000,gid=1000,vers=2.0 0 0

だから私が使用したときはいつでも:

sudo mount -a

私は行を追加することを決めたまでfstabに記載されているすべてのドライブが自動的にマウントされます、私は起動時にこれらのドライブのコンテンツを楽しむことができるように、そして私は、rc.localに、いくつかの他の場所に長い話を短くし、これを追加、何も働いていないルート次のようなcrontab

sudo crontab -e

エディター(yの場合はナノ)を選択してから、この行を下部に追加しました

@reboot (sleep 20;/bin/mount -a)&

私の場合、再起動後にすべてがうまくいきました。これが皆さんのお役に立てば幸いです。

注意:

問題が発生した場合は、いつでも実行できます。

service cron status

そして、何が実行され、何が実行されなかったかについてのヒントを提供します


0

fstabで_netdevおよびcomment = systemd.automount属性を追加でき、再起動時にすべて正常に機能します。再起動時に同じ問題に直面していました。

\\network_shared_location\directory /your_mount_location/mount_directory cifs _netdev,username=<your_username>,password=<your_password>,workgroup=<YOUR_WORKGROUP>,users,auto,user_xattr,comment=systemd.automount 0 0

-1

私はこれが少し遅れて返事であることを知っていますが、私は同じ問題を抱えていましたfstab。私はcrontab最初のものを試しましたが、うまくいきましたが、少し面倒だと思いました...

偉大なポストがあり、ここでスクリプトを使用して実行しinit.d、ブートのようマウント実行するためには...それは今の私にとって大きな取り組んでいます。


1
将来のリンクが失われた場合に備えて、リンクから重要な詳細を提供するように回答を編集できますか。
グリーンオンライン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.