在 ubuntu 14.04 上使用 /etc/fstab 掛載外部硬碟問題

在 ubuntu 14.04 上使用 /etc/fstab 掛載外部硬碟問題

我已經被困了大約兩天,試圖讓它正常工作。我已經完成了以下所有操作,但仍然沒有運氣。

我正在嘗試使用 Ubuntu 14.04 LTS Desktop 自動永久安裝到網路上的 2 TB Seagate Central,並且cifs在開始之前我已更新了所有內容。

我以 root 身分新增了以下行/etc/fstab

#Mapping network drive
//Ip-address/media/videos  /media/storage cifs username=username,password=password,iocharset=utf8,sec=ntl

我還把 IP 位址換成了它的名字。因為我知道這不是最安全的方法,但我是唯一使用此 Ubuntu 桌面的人,也嘗試過憑證文件方法,但沒有成功。

在終端機中:

sudo mount -a

mount error(22): Invaild argument
refer to mount.cifs(8) manual page (e.g. man mount.cifs)

看到後我嘗試了以下操作:

sudo mount.cifs //Seagate-XXXXX/Media/videos /media/storage 

然後我就提示輸入網路儲存的密碼並正確輸入:

Error:
mount error(115): operation now in progress  
Refer to mount.cifs(8) manual page (e.g. man mount.cifs)

我曾經讓它工作過一次,但之後我必須重新安裝 Ubuntu,而且似乎無法讓它恢復工作。

我查找了許多不同的影片和論壇,我這樣做是為了設定我的 Plex 伺服器以查看外部硬碟上的媒體資料夾。

我已經紅色並觀看了以下鏈接/視頻但無濟於事[請幫助! ]:

答案1

您遇到的第一個錯誤是因為不存在諸如 之類的東西sec=ntl。可用選項有(來自man mount.cifs):

秒=

安全模式。允許的值為:

  • none - 嘗試以空用戶身分連線(無名稱)

  • krb5 - 使用 Kerberos 版本 5 驗證

  • krb5i - 使用 Kerberos 驗證並強制啟用資料包簽名

  • ntlm - 使用 NTLM 密碼哈希

  • ntlmi - 使用 NTLM 密碼哈希並強制資料包簽名

  • ntlmv2 - 使用 NTLMv2 密碼哈希

  • ntlmv2i - 使用 NTLMv2 密碼哈希並強制資料包簽名

  • ntlmssp - 使用封裝在原始 NTLMSSP 訊息中的 NTLMv2 密碼哈希

  • ntlmsspi - 使用封裝在原始 NTLMSSP 訊息中的 NTLMv2 密碼哈希,並強制封包簽名

fstab因此,如果您使用上述方法之一,第一種方法(使用)可能會起作用。想必,你想要sec=ntlm


至於115錯誤,我發現這個非常好的指南我建議您閱讀 Gentoo 論壇上的內容。基本上,它建議將這樣的行添加到您的/etc/hosts文件中(更改192.168.1.12為驅動器的 IP):

192.168.1.12    Seagate-XXXXX

完成後,您應該能夠使用Seagate-XXXXX而不是 IP 進行連線。該頁面提供了一些其他故障排除提示(包括用於smbtree確保共享實際可用)。我真的建議你讀。

答案2

您是否嘗試將 mount 命令新增至 /etc/rc.local ? /etc/rc.local 是一個在啟動時由 root 執行的文件,通常不執行任何操作。但是您可以編輯它並添加您自己的內容。只需確保將現有的「exit 0」命令移至您希望其執行的命令下方即可。

這就是我在啟動時自動掛載 USB 連接的外部裝置的方法。只需使用以下命令建立一個掛載點:

須藤 mkdir /mnt/foo

其中 foo 是您想給它的任何名稱。然後編輯 /etc/rc.local 並將 mount 指令加入到 exit 指令上方任意位置的行中。請注意,以這種方式安裝時,根據我的經驗,大多數桌面環境不再將其檢測為外部設備,因此您不會有花哨的小圖標,實際上您必須導航到/mnt/foo 並將其添加為書籤命令瀏覽驅動器。

在編輯 fstab 時遇到各種問題後,我開始使用 rc.local 自動掛載我的檔案。希望這可以幫助, :-)

編輯:

這是我的 rc.local 檔案的全部內容。我只是想分享這樣你就可以看到我做了什麼。在儲存 rc.local 並重新啟動之前,請確保您在 mount 命令中指定的任何安裝點實際上已建立。另外,這裡的指令不需要新增“sudo”,它們是由 root 使用者執行的。

#!/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.

#Mounts Storage
mount /dev/sdb1 /mnt/Storage

exit 0

答案3

謝謝你這麼快的答覆。

所以對於第一個錯誤我錯過了 m 所以我的程式碼看起來像這樣

#Mapping network drive
//Ip-address/media/videos/media/storage cifs username=username,password=password,iocharset=utf8,sec=ntlm 0 0

所以現在當我跑步時

sudo mount -a
mount error(115): operation now in progress  
Refer to mount.cifs(8) manual page (e.g. man mount.cifs)

然後當我嘗試時

sudo mount.cifs //Seagate-XXXXX/Media/videos /media/storage --verbose 
Password for root@//Segate-XXXX/Media/videos:
mount.cifs kernel mount options: ip=198.105.251.210,unc=\\SEAGATE-XXXXX\Media,user=root,prefixpath=videos,pass=*******
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

我知道它可以看到驅動器

user@myserver: ~$ smbtree -b -N
WORKGROUP
        \\SEAGATE-XXXXX                      Seagate Centeral Shared Storage
        \\XXXXXXX-TIME-CA                    XXXXXX's Time Capsule
        \\MYSERVER                           myserver server (Samba, Ubuntu)
                 \\MYSERVER\IPC$             IPC service (myserver server (Samba, Ubuntu))
                 \\MYSERVER\print$           Printer Drivers

所以它看到了我的網路驅動器,但這也是一個受密碼保護的驅動器,所以我沒想到會看到 USER 和 PUBLIC 的資料夾

所以現在我更迷失了?有什麼建議嗎?

答案4

sudo mount -t cifs '//Seagate-XXXXX/Media/videos' //media/storage -o username=username,password=password,uid=1000,gid=1000,iocharset=utf8,sec=ntlm,file_mode=0777,dir_mode=0777

適用於我的 goflex Seagate 以及 2 個中央設備,但我已添加到 ips 的主機檔案中

簡單的事:

如果不是的話,您可以使用您的使用者名稱和密碼在其網頁介面上登入 nas

//Seagate-XXXXX/Media/videos

您確定這是正確的路徑名稱嗎,因為對我來說,私有目錄中的任何內容都是

//Seagate-XXXXX/username/Media/videos

您的 ubuntu 使用者是否具有目錄的完全存取//media/storage權限?

最後要記住的是,檔案和目錄模式 ubuntu 似乎對這些很挑剔,而 crunchbang 則不然

我已經完成了這/etc/rc.local件事,只是我調用了一個腳本nas.sh,它基本上是一個帶有安裝命令的可執行文字檔案。

#!/bin/bash
mount -t cifs '//Seagate-XXXXX/Media/videos' //media/storage -o username=username,password=password,uid=1000,gid=1000,iocharset=utf8,sec=ntlm,file_mode=0777,dir_mode=0777

相關內容