2013-03-09 70 views
30

我在嘗試獲取某些設置的外部驅動器的權限時遇到問題。如何在/ etc/fstab中使用空格指定標籤/路徑?

我相信probem是由於我如何處理文本中的空格,使得命令可以由終端解釋。 我發現this,這似乎表明我需要配置我的etc/fstab文件顯示以下內容:

# UNCONFIGURED FSTAB FOR BASE SYSTEM 
/host/ubuntu/disks/swap.disk none swap sw 0 0 
LABEL='Expansion Drive' /media/'Expansion Drive' ntfs-3g defaults,umask=0022,fmask=0133 0 0 
LABEL='Expansion Drive_' /media/'Expansion Drive_' ntfs-3g defaults,umask=0022,fmask=0133 0 0 

然而,這是否顯示錯誤的驅動Drive_'還沒有準備好。我意識到這是由於使用"" s或'' s,但我不知道如何正確執行此操作。我的2個驅動器被稱爲Expansion DriveExpansion Drive_。任何人都知道如何解決這個問題?

編輯:以下是我可以在媒體文件夾中看到:

[email protected]:/media$ ls -al 
total 32 
drwxr-xr-x 6 root  root  1024 Mar 9 16:32 . 
drwxr-xr-x 24 root  root  1024 Feb 23 23:14 .. 
drwx------ 1 chasebrown chasebrown 4096 Mar 8 04:21 Expansion Drive 
drwx------ 1 chasebrown chasebrown 4096 Mar 8 04:21 Expansion Drive_ 
dr-x------ 1 chasebrown chasebrown 2048 May 20 2009 GDRV-25922+VR2 
drwx------ 1 chasebrown chasebrown 20480 Mar 8 04:21 WD EXTERNAL 

而且sudo lsblk -f

[email protected]:/dev/disk/by-uuid$ sudo lsblk -f 
[sudo] password for chasebrown: 
NAME FSTYPE LABEL   MOUNTPOINT 
sda        
├─sda1 ntfs System Reserved 
└─sda2 ntfs      
sdb        
└─sdb1 ntfs     /host 
sdc        
└─sdc1 ntfs Expansion Drive /media/Expansion Drive_ 
sdd        
└─sdd1 ntfs Expansion Drive /media/Expansion Drive 
sde        
└─sde1 ntfs WD EXTERNAL  /media/WD EXTERNAL 
sr0 iso9660 GDRV-25922+VR2 /media/GDRV-25922+VR2 
loop0 ext3     /

而且sudo blkid

[email protected]:/dev/disk/by-uuid$ sudo blkid 
/dev/loop0: UUID="87a15942-982f-4edd-bf44-439dc286fd7c" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sr0: LABEL="GDRV-25922+VR2" TYPE="iso9660" 
/dev/sda1: LABEL="System Reserved" UUID="64CEEA61CEEA2B4E" TYPE="ntfs" 
/dev/sda2: UUID="4CA4EBC0A4EBAAA2" TYPE="ntfs" 
/dev/sdb1: UUID="00064EEE064EE46E" TYPE="ntfs" 
/dev/sdc1: LABEL="Expansion Drive" UUID="C682A8EE82A8E3E1" TYPE="ntfs" 
/dev/sdd1: LABEL="Expansion Drive" UUID="D006D78406D769CC" TYPE="ntfs" 
/dev/sde1: LABEL="WD EXTERNAL" UUID="D65AFC375AFC15C9" TYPE="ntfs" 

所以我的新的fstab文件是:

# UNCONFIGURED FSTAB FOR BASE SYSTEM 
/host/ubuntu/disks/swap.disk none swap sw 0 0 
LABEL=Expansion\040Drive /media/Expansion\040Drive ntfs-3g defaults,umask=0022,fmask=0133 0 0 
LABEL=Expansion\040Drive_ /media/Expansion\040Drive_ ntfs-3g defaults,umask=0022,fmask=0133 0 0 

SOLUTION: 我最終改變LABELUUID和它的工作因爲某種原因。

這裏是生成的/ etc/fstab文件是:

# UNCONFIGURED FSTAB FOR BASE SYSTEM 
/host/ubuntu/disks/swap.disk none swap sw 0 0 
UUID=C682A8EE82A8E3E1 /media/Expansion\040Drive ntfs-3g defaults,umask=0022,fmask=0133 0 0 
UUID=D006D78406D769CC /media/Expansion\040Drive_ ntfs-3g defaults,umask=0022,fmask=0133 0 0 

回答

76

您可以使用轉義序列\040逃生空間:

# UNCONFIGURED FSTAB FOR BASE SYSTEM 
/host/ubuntu/disks/swap.disk none swap sw 0 0 
LABEL=Expansion\040Drive /media/Expansion\040Drive ntfs-3g defaults,umask=0022,fmask=0133 0 0 
LABEL=Expansion\040Drive_ /media/Expansion\040Drive_ ntfs-3g defaults,umask=0022,fmask=0133 0 0 

順便說一句,你不能引用類的字符串的一部分你在問題中提到過。如果您要引用,則需要引用整個字符串。

再就是我發生從blkid輸出要注意的是,有2個分區(在2個獨立的驅動器和sdc1sdd1)均具有相同的LABEL Expansion Drive。要解決這個問題,您可以改用UUID。

UUID=C682A8EE82A8E3E1 /media/Expansion\040Drive ntfs-3g defaults,umask=0022,fmask=0133 0 0 
UUID=D006D78406D769CC /media/Expansion\040Drive_ ntfs-3g defaults,umask=0022,fmask=0133 0 0 
+1

相同的錯誤消息出現了,但它引用了'/ media/Expansion Drive',這似乎是正確的。 如果有幫助,我已經在我的問題中包含了我可以看到的驅動程序的視圖。 – chase 2013-03-09 22:36:34

+0

@chase,我只是嘗試了我在使用'LABEL = Expansion \ 040Drive'和安裝點'/ media/Expansion \ 040Drive'的回答中提到的方法,它似乎適用於我。如果你有這些變化,你能再次檢查一次嗎? – Tuxdude 2013-03-09 22:58:37

+0

@chase - 看起來'sdc1'和'sdd1'都有相同的'LABEL'。相反,使用UUID代替這些情況會更好。 – Tuxdude 2013-03-09 23:05:29

相關問題