1. 程式人生 > >關於mount指令.以及解決Read-only file system的指令

關於mount指令.以及解決Read-only file system的指令

格式:mount [-引數] [裝置名稱] [掛載點]

其中常用的引數有:

複製程式碼 複製程式碼 -a 安裝在/etc/fstab檔案中類出的所有檔案系統。

-f 偽裝mount,作出檢查裝置和目錄的樣子,但並不真正掛載檔案系統。

-n 不把安裝記錄在/etc/mtab 檔案中。

-r 講檔案系統安裝為只讀。

-v 詳細顯示安裝資訊。

-w 將檔案系統安裝為可寫,為命令預設情況。

-t <檔案系統型別> 指定裝置的檔案系統型別,常見的有:

ext2 是linux目前常用的檔案系統

msdos MS-DOS的fat,就是fat16

vfat windows98常用的fat32

nfs 網路檔案系統

iso9660 CD-ROM光碟標準檔案系統

ntfs windows NT/2000/XP的檔案系統

auto 自動檢測檔案系統

-o <選項> 指定掛載檔案系統時的選項,有些也可寫到在 /etc/fstab 中。常用的有:

defaults 使用所有選項的預設值(auto、nouser、rw、suid)

auto/noauto 允許/不允許以 –a選項進行安裝

dev/nodev 對/不對檔案系統上的特殊裝置進行解釋

exec/noexec 允許/不允許執行二進位制程式碼

suid/nosuid 確認/不確認suid和sgid位

user/nouser 允許/不允許一般使用者掛載

codepage=XXX 內碼表

iocharset=XXX 字符集

ro 以只讀方式掛載

rw 以讀寫方式掛載

remount 重新安裝已經安裝了的檔案系統

loop 掛載“迴旋裝置”以及“ISO映象檔案” 複製程式碼
複製程式碼

需要注意的是,掛載點必須是一個已經存在的目錄,這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用,umount以後會恢復正常。使用多個-o 引數的時候,-o 只用一次,引數之間用半形逗號隔開:

# mount –o remount,rw /

例如要掛載windows下檔案系統為FAT32的D盤,一般而言在Linux下這個分割槽對應/dev/hda5,根據具體的分割槽情況會有不同,這裡就以hda5來舉例說明:

# mkdir /mnt/hda5 //建立hda5的目錄作為掛載點,位置和目錄名可自定義//

# mount -t vfat /dev/hda5 /mnt/hda5


一般而言,Linux會自動探測分割槽的檔案系統,除非讓你指定時,否則-t vfat 可以省掉。

# mount /dev/hda5 /mnt/hda5

這樣就可以進入/mnt/hda5目錄去訪問分割槽中的資源了。


1. 為什麼mount上分割槽後顯示不了中文檔案為問號/亂碼?

顯示問號表明你的系統中沒有可識別使用的中文字型,請先安裝中文字型。確保你的系統已經可以很好的顯示中文。顯示為亂碼一般是mount預設使用的檔案系 統編碼和檔案系統中檔案的實際編碼不一致造成的。要想正常顯示中文檔案,mount時需要用到 -o 引數裡的codepage和iocharset選項。codepage指定檔案系統的內碼表,簡體中文中文程式碼是936;iocharset指定字符集, 簡體中文一般用cp936或gb2312。

# mount –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5


一般來說 mount –o iocharset=cp936 /dev/hda5 /mnt/hda5 就可以解決問題了。

如果這樣做了以後還有問題,請嘗試UTF-8編碼:

# mount –o iocharset=utf8 /dev/hda5 /mnt/hda5



2. 為什麼mount上去以後分割槽普通使用者不可寫?

mount時加上 –o umask=000 即可:

# mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5



3. 為什麼mount上去後的分割槽中的檔案都變成短檔名了?

這是檔案系統掛錯的原因,將FAT32掛載成FAT16時就會出現這種情況,先umount,然後用 –t vfat 重新掛載即可解決問題。

# mount –t vat /dev/hda5 /mnt/hda5



4. 如何掛載U盤和mp3?

如果計算機沒有其它SCSI裝置和usb外設的情況下,插入的U盤的裝置路徑是 /dev/sda1,用命令:

# mkdir /mnt/u

# mount /dev/sda1 /mnt/u


掛載即可。


5. 可以直接使用iso檔案嗎?

可以,就是mount的這一選項使得Linux下有免費虛擬光碟機的說法,具體用法是:

# mkdir /mnt/iso

# mount –o loop linux.iso /mnt/iso


當然,掛載以後掛載點/mnt/iso也是隻讀的。


6. 如何開機自動掛載分割槽?

每次掛載都要輸入那麼長的命令的確是繁瑣了些,只要將分割槽資訊寫到 /etc/fstab 檔案中即可實現系統啟動的自動掛載,例如對於 /dev/hda5 的自動掛載新增如下的行即可:

/dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0



7. 如何掛載samba 分割槽?

# mkdir /mnt/share

# mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312 //192.168.1.100/share /mnt/share


如果中文顯示不正常請嘗試UTF-8編碼。當然可以寫到fstab中實現自動掛載。


8. mount --bind是什麼意思?

mount --bind 是將一個目錄中的內容掛載到另一個目錄上,用法是

# mount --bind olddir newdir


這個命令使得自己搭建的FTP要共享某個目錄的時候變得特別方便。如果要取消mount用命令:

# mount --move olddir newdir

即可。

如果mount --bind 也想寫入fstab中的話格式如下:

olddir newdir none bind 0 0



9. 為什麼umount的時候老顯示 device busy?

這是因為有程式正在訪問這個裝置,最簡單的辦法就是讓訪問該裝置的程式退出以後再umount。可能有時候使用者搞不清除究竟是什麼程式在訪問裝置,如果使用者不急著umount,則可以用:

# umount -l /mnt/hda5


來解除安裝裝置。選項 –l 並不是馬上umount,而是在該目錄空閒後再umount。還可以先用命令 ps aux 來檢視佔用裝置的程式PID,然後用命令kill來殺死佔用裝置的程序,這樣就umount的非常放心了。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

開機掛載及/etc/fstab格式

當我們在掛載磁碟的時候,除了利用磁碟的代號之外 (/dev/hdxx) 也可以直接利用磁碟的 label 來作為掛載的磁碟掛載點喔!基本上, 就是那個/etc/fstab 檔案的設定,Label 來做為磁碟掛載的依據, 這樣有好有壞:
優點:不論硬碟代號怎麼變,不論您將硬碟插在那個 IDE 介面 (IDE1 或 IDE2 或 master 或 slave 等),由於系統是透過 Label ,所以,磁碟插在那個介面將不會有影響。
缺點:如果插了兩顆硬碟,剛好兩顆硬碟的 Label 有重複的,那就慘了~ 因為系統會無法判斷那個磁碟分割槽才是正確的!

開機掛載 /etc/fstab 及 /etc/mtab:
系統掛載的一些限制:
根目錄 / 是必須掛載的,而且一定要先於其它 mount point 被掛載進來。
其它 mount point 必須為已建立的目錄,可任意指定,但一定要遵守必須的系統目錄架構原則
所有 mount point 在同一時間之內,只能掛載一次。
所有 partition 在同一時間之內,只能掛載一次。
如若進行解除安裝,您必須先將工作目錄移到 mount point(及其子目錄) 之外。

複製程式碼 複製程式碼 [[email protected] ~]# cat /etc/fstab
# Device Mount_point filesystem parameters dump fsck
LABEL=/ / ext3 defaults 1 1 (以標頭名稱掛載)
/dev/hda5 /home ext3 defaults 1 2
/dev/hda3 swap swap defaults 0 0
/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0 複製程式碼 複製程式碼


其實這個 /etc/fstab 就是將我們使用 mount 來掛載一個裝置到系統的某個掛載點, 所需要下達的指令內容,將這些內容通通寫到 /etc/fstab 裡面去,而讓系統一開機就主動掛載。 那麼 mount 下達指令時,需要哪些引數?不就是『裝置代號、掛載點、檔案系統類別、引數』等等, 而我們的 /etc/fstab 則加入了兩項額外的功能,分別是備份指令 dump 的執行與否, 與是否開機進行 fsck 掃瞄磁碟。
前面的4個已經很熟悉了,每個檔案系統還有很多引數可以加入的,例如中文編碼的 iocharset=big5,codepage=950 之類的,當然還有很多常見的引數,具體可以看mount中的詳細介紹,具體說一下後2個:dump和fsck。

能否被 dump 備份指令作用:
在 Linux 當中,可以利用 dump 這個指令來進行系統的備份的。而 dump 指令則會針對 /etc/fstab 的設定值,去選擇是否要將該 partition 進行備份的動作呢! 0 代表不要做 dump 備份, 1 代表要進行 dump 的動作。 2 也代表要做 dump 備份動作, 不過,該 partition 重要度比 1 小。

是否以 fsck 檢驗扇區:
開機的過程中,系統預設會以 fsck 檢驗我們的 partition 內的 filesystem 是否完整 (clean)。 不過,某些 filesystem 是不需要檢驗的,例如虛擬記憶體 swap ,或者是特殊檔案系統, 例如 /proc 與 /sys 等等。所以,在這個欄位中,我們可以設定是否要以 fsck 檢驗該 filesystem 喔。 0 是不要檢驗, 1 是要檢驗, 2 也是要檢驗,不過 1 會比較早被檢驗啦! 一般來說,根目錄設定為 1 ,其它的要檢驗的 filesystem 都設定為 2 就好了。

一般來說, 當我們編輯 /etc/fstab 後,為了避免可能的錯誤,通常就會以 mount -a (模擬開機自動掛載操作)這個指令來測試看看呢!這是很重要的一個測試動作喔!

/etc/fstab 是開機時的設定檔,不過,實際 filesystem 的掛載是記錄到 /etc/mtab 與 /proc/mounts 這兩個檔案當中的。每次我們在更動 filesystem 的掛載時,也會同時更動這兩個檔案喔!但是,萬一發生您在 /etc/fstab 輸入的資料錯誤,導致無法順利開機成功,而進入單人維護模式當中,那時候的 / 可是 read only 的狀態,當然您就無法修改 /etc/fstab ,也無法更新 /etc/mtab ,沒關係,可以利用底下這一招:

[[email protected] ~]# mount -n -o remount,rw /


加上 -n 則不更新 /etc/mtab ,加上 -o 則提供額外的引數設定。 利用這一動作,嘿嘿!您的 / 就可以讀寫,那麼自然就能夠更新檔案內容了。

相關推薦

關於mount指令.以及解決Read-only file system指令

格式:mount [-引數] [裝置名稱] [掛載點] 其中常用的引數有: -a 安裝在/etc/fstab檔案中類出的所有檔案系統。 -f 偽裝mount,作出檢查裝置和目錄的樣子,但並不真正掛載檔案系統。 -n 不把安裝記錄在/etc/mtab 檔案中。 -r 講檔案系統安裝為只讀。 -v 詳細

Centos下出現read-only file system解決辦法

磁盤掛載 -s spa bsp 硬盤 情況 嘗試 family 損壞 Centos下出現這種情況說明磁盤只能讀不能寫,出現這種情況一般是因為不正常的關機或者硬盤損壞導致磁盤掛載出現問題。 本萌新也遇到了這個問題,嘗試了各種命令都不行,最後用了mount -o

Ubuntu&Linux系統出現文件系統只讀Read-only file system 的快速解決方法

nbsp 分區信息 -o 錯誤 info eboot strong bsp ron 問題描述: 周末運行盤平臺服務程序,周一來操作系統卡頓,主進程已退出,重啟進程時提示Read-only file system;新建目錄和其他chmod -R等等操作都提示Read-only

[ADB]解決adb push,只讀檔案系統Read-only file system問題

解決方法 因命令2、adb disable-verity,需要新版adb工具才有,可以從以下連結下載使用 paltform adb 執行命令如下: adb root 獲取root許可權 adb disable-verity 關閉 system 分割槽的 verit

Linux檔案系統只讀Read-only file system解決方法

問題原因:系統沒有正常關機,導致虛擬磁碟出現檔案系統錯誤。 解決方法:使用fsck手動修復,具體操作如下: 重啟系統後使用root進入單使用者模式,執行 fsck.ext3 -y /dev/vda3 說明:ext3的檔案系統使用fsck.ext3,ext4檔案系統使用fsck.et

關於ADB push 出現failed to copy 'D:\file.xtxt' to '/system/temp/' : Read-only file system 的報錯資訊解決辦法

首先使用USB連線電腦與小機,然後安裝adb相應的驅動,這是第一步,也是必須要做的。 進入doc系統後,敲入adb shell  可以進入linux命令列狀態,說明adb可以使用了。 回到標題,我們現在要講的是adb push命令的使用。如果你的linux也安裝有adb命令的話,可以使用adb

解決問題:chmod: changing permissions of ‘...': Read-only file system

我在Linux系統裡想要改變系統許可權時出現了報錯: chmod: changing permissions of 'transmission-daemon/': Read-only file system 我當時已經是root許可權 解決方法: 1.系統檔案 如果是系

安卓ADB Unable to chmod ***: Read-only file system問題的解決方法

安卓ADB Unable to chmod *: Read-only file system問題的解決方法 Read-only file system : adb remount 或者 mount -o rw,remount yaffs2 /system U

Read-only file system錯誤的解決辦法(轉)

今天在公司釋出新版本時,釋出指令碼突然報Read-only file system的錯誤,之前一直還用的好好的…登入到遠端伺服器上,發現只要涉及到修改/儲存條目等需要寫磁碟操作的命令都無法使用(如tar、cp、mv、rm、chmod、chown、wget下載等指令),總是

Android/Linux出現“Read-only file system解決

報錯原因是因為所操作的檔案系統為只讀許可權。 解決: 將檔案系統目錄remount為讀寫許可權,輸入命令: mount -o remount rw /system 之後即可進行操作。 操作後,需要重新remount為只讀,只需輸入:

如何快速解決linux只讀系統 Read-only file system

Linux命令:fsck 功能說明:檢查檔案系統並嘗試修復錯誤。語  法:fsck [-aANPrRsTV][-t <檔案系統型別>][檔案系統...]補充說明:當檔案系統發生錯誤四化,可用fsck指令嘗試加以修復。參  數:-a 自動修復檔案系統,不詢問任何問題。-A 依照/etc/fsta

adb 安裝APK時rm failed for -f, Read-only file system解決辦法

今天下午學習adb的一些常見命令,當給模擬器安裝apk時,總會彈出如下錯誤資訊: Failure [INSTALL_FAILED_OLDER_SDK] rm failed f

Linux文件系統只讀Read-only file system

linux 文件系統 只讀問題描述:1、系統無法進行磁盤的讀寫操作(touch,cp,chmod)等等2、服務器無法啟動(也是因為無法創建文件)3、只有涉及到系統磁盤的寫操作,都會報錯"Read-only file system"問題原因:1、系統沒有正常關機,導致虛擬磁盤出現文件系統錯誤;2、機器硬

菜鳥學習--- linux下nfs Read-only file system

nfs[root@nfsclient alidata]# touch 24 touch: cannot touch `24‘: Read-only file system一、查看mount 是否有權限[root@nfsclient /]# mount /dev/sda3 on / type ext4 (rw)

無法使用 adb push fileRead-only file system

remount blog body markdown mount class 使用 file clas adb root adb remount adb push xxx /system/etc/xxx failed to copy ‘xxx‘ to ‘/system/et

linux 中出現 Read-only file system

linux 中出現 Read-only當linux操作系統啟動出現root用戶也無法進行任何的文件寫操作時,無論什麽用戶(包括root)寫文件保存或者刪除文件,且對操作文件或目錄都有寫權限時,還任然報錯:E212: Can‘t open file for writing 或者 Read-only file s

執行monkey提示cannot create D:xx.txt: read-only file system

問題 info adb shell linux key 之前 權限 system 文件 打開adb窗口執行monkey,提示,之前是運行過的,不知道出了什麽問題。 解決辦法:後來才發現是在執行monkey命令之前先運行了adb shell 命令,不要運行adb she

Android adb remount failed處理及Read-only file system處理(Android O)

我們在除錯工作中,常常會使用adb pull/push來獲取或替換裝置中的一些檔案。 1. 在使用pull/push前需要先執行: # adb root # adb remount 在Android N及之前的版本,是ok的,但是在Android O上會提示remount失敗: # adb

monkey日誌儲存在PC機上提示:Read-only file system

 使用Monkey壓測機頂盒時,設定日誌儲存路徑在PC機上,總是報錯提示“/system/bin/sh:can't create d:\TMMH20181024.log:Read-only file system” 操作步驟: 1.機頂盒連線PC機 執行命令:adb c

openwrt無法掛載TF卡,提示Read-only file system

在使用openwrt掛載TF卡的時候,發生了以下錯誤,按照網路教程一直無法實現掛載TF卡,不管是格式化成什麼系統,都無法實現掛載,提示錯誤資訊有以下幾種。     掛載的時候,格式化的時候提示是隻讀檔案系統Read-only file system。 後邊才發