當前位置:首頁 » 操作系統 » linux掛載根文件系統

linux掛載根文件系統

發布時間: 2022-05-23 16:52:35

『壹』 關於linux的分區掛載點文件系統

使用操作系統的工具將物理磁碟劃分成若干個邏輯的區塊叫分區,應用程序如果想要使用分區那麼必須要對分區進行格式化,格式化的時候會有讓你選擇文件系統格式,而Linux本身是一個目錄級的結構,Linux最高級別的目錄是 "/"目錄,稱之為根目錄,在根目錄下面可以建立N個目錄,目錄下還可以再建立目錄,而如果你想存儲文件的話必須要先分區,然後指定一個文件文件系統(格式化),格式化完成後需要將格式化好的文件系統掛載到 "/"目錄下面的任意目錄或者是根目錄下的某個目錄下的目錄等等!。。。。。
就拿Windows來說,你上磁碟管理里邊要先創建一個分區,那就是分區,創建完成分區後需要格式化,格式化的時候需要指定文件系統,這就是文件系統,而你給的分區盤符比如D盤和E盤這就相當於掛載點的概念!

『貳』 請教Linux根文件系統和掛載的文件系統中的所有索引幾點是不是在內核啟動時候都載入內核內存

不是一啟動就裝進去的,只有當你打開一文件時才將它的節點裝載進來,鏈接到一個隊列中,當關閉該文件時,內核不會馬上把該節點脫鏈,為了在你下次再打開該文件時提高讀取效率,當內存不夠用時,內核會根據一些計算將某些節點釋放掉

『叄』 5.如何理解linux系統里文件系統的掛載和卸載

linux的所有資源可以說都是文件,
各種資源都是集合在一個根上的,就是和一個樹一樣的,比如這個分區是mount在這樹的一個節點上……
從/起就可以到達某個設備、分區……不使用的時候,要umount,比如關閉系統的時候,移動設備要拆除時……

『肆』 linux怎麼掛載根文件系統嗎

你就是沒有定義根文件系統啊 必須有一個分區掛載到/ 上, 而你沒有

『伍』 Linux根文件系統基本包括哪些內容

通常情況下,Linux內核啟動後期,會尋找並掛載根文件系統。根文件系統可以存在於磁碟上,也可以是存在於內存中的映像,其中包含了Linux系統正常運行所必須的庫和程序等等,按照一定的目錄結構存放。Linux根文件系統基本包括如下內容:
基本的目錄結構:/bin、/sbin、/dev、/etc、/lib、/var、/proc、/sys、/tmp等;整個根文件系統都是掛在根目錄(/)下,FHS對頂層目錄的要求和說明如下表所列。

基本程序運行所需的庫文件,如glibc等;

基本的系統配置文件,如inittab、rc等;

必要的設備文件,如/dev/ttyS0、/dev/console等;

基本應用程序,如sh、ls、cd、mv等。

你可以去【周立功】那邊了解一下的,蠻多信息的。

『陸』 Linux掛載文件

簡單用法:

格式: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(及其子目錄) 之外。

復制代碼
[root@linux ~]# cat /etc/fstab
# Device Mount_point filesystem parameters mp 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 則加入了兩項額外的功能,分別是備份指令 mp 的執行與否, 與是否開機進行 fsck 掃瞄磁碟。
前面的4個已經很熟悉了,每個檔案系統還有很多參數可以加入的,例如中文編碼的 iocharset=big5,codepage=950 之類的,當然還有很多常見的參數,具體可以看mount中的詳細介紹,具體說一下後2個:mp和fsck。

能否被 mp 備份指令作用:
在 Linux 當中,可以利用 mp 這個指令來進行系統的備份的。而 mp 指令則會針對 /etc/fstab 的設定值,去選擇是否要將該 partition 進行備份的動作呢! 0 代表不要做 mp 備份, 1 代表要進行 mp 的動作。 2 也代表要做 mp 備份動作, 不過,該 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 ,沒關系,可以利用底下這一招:
[root@linux ~]# mount -n -o remount,rw /

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

『柒』 linux根文件系統的掛載過程是怎麼樣

mount /dev/... /mnt/ 意思是將某個設備掛載到 /mnt目錄下 接著cd 到/mnt 目錄就能看到掛載的文件系統了

『捌』 如何理解linux系統里文件系統的掛載和卸載

您好,linux掛載概念簡述:
1.Linux系統中「一切皆文件」,所有文件都放置在以根目錄為樹根的樹形目錄結構中。Linux中任何硬體設備也都是文件,它們各有自己的一套文件系統(文件目錄結構)。

因此產生的問題是,當在 Linux系統中使用這些硬體設備時,只有將Linux本身的文件目錄與硬體設備的文件目錄合二為一,硬體設備才能為我們所用。合二為一的過程稱為「掛載」。

如果不掛載,通過Linux系統中的圖形界面系統可以查看找到硬體設備,但命令行方式無法找到。

掛載,指的就是將設備文件中的頂級目錄連接到 Linux 根目錄下的某一目錄(最好是空目錄),訪問此目錄就等同於訪問設備文件。

(誤區)並不是根目錄下任何一個目錄都可以作為掛載點,由於掛載操作會使得原有目錄中文件被隱藏,因此根目錄以及系統原有目錄都不要作為掛載點,會造成系統異常甚至崩潰,掛載點最好是新建的空目錄。

(window為盤符)掛載點(linux使用已經存在的空目錄作為掛載點,所以的空目錄都可以作為掛載點,這3個除外 (/bin/、/lib/、/etc/))。

END
2、掛載與卸載簡述:
根文件系統之外的其他文件要想能夠被訪問,都必須通過「關聯」至根文件系統上的某個目錄來實現,此關聯操作即為「掛載」,此目錄即為「掛載點」,解除此關聯關系的過程稱之為「卸載」

1.掛載:根文件系統外通過關聯至根文件系統上的某個目錄來實現訪問

2.掛載點:mount_point,用於作為另一個文件系統的訪問入口;

(1) 事先存在;

(2) 應該使用未被或不會被其它進程使用到的目錄;

(3) 掛載點下原有的文件將會被隱藏;
END
3、掛載(安裝系統時注意)
1
必須分區

/ (根分區)

swap分區( 交換分區)

如果真實內存小於4GB , swap位內存的兩倍

如果真實內存大於4GB , swap和內存-致

實驗環境,不大於2GB

推薦分區

/boot (啟動分區, 1GB )

常用分區

/home (用於文件伺服器)

/www (用干Web伺服器)

『玖』 linux啟動時掛載rootfs的幾種方式

一直對linux啟動時掛載根文件系統的過程存在著很多疑問,今天在水木精華區找到了有用的資料,摘錄如下:
1。linux啟動時,經過一系列初始化之後,需要mount 根文件系統,為最後運行init進程等做准備,mount 根文件系統有這么幾種方式:
1)文件系統已經存在於硬碟(或者類似的設備)的某個分區上了,kernel根據啟動的命令行參數(root=/dev/xxx),直接進行mount。 這里有一個問題,在root文件系統本身還不存在的情況下,kernel如 何根據/dev/xxx來找到對應的設備呢?注意:根文件系統和其他文件系統的mount方式是不一樣的,kernel通過直接解析設備的名稱來獲得設備的主、從設備號,然後就可以訪問對應的設備驅動 了。所以在init/main.c中有很長一串的root_dev_names(如hda,hdab,sda,sdb,nfs,ram,mtdblock……),通過這個表就可以根據設備名稱得到設備號。注意,bootloader或內核中設定的啟動參數(root=/dev/xxx)只是一個代號,實際的根文件系統中不一定存在這個設備文件!
2)從軟碟機等比較慢的設備上裝載根文件系統,如果kernel支持ramdisk,在裝載root文件系統時,內核判斷到需要從軟盤(fdx)mount(root=/dev/fd0),就會自動把文件系統映象復制到ramdisk,一般對應設備ram0,然後在ram0上mount 根文件系統。 從源碼看,如果kernel編譯時沒有支持ramdisk,而啟動參數又是root=/dev/fd0, 系統將直接在軟盤上mount,除了速度比較慢,理論上是可行的(沒試過,不知道是不是這樣?)
3)啟動時用到initrd來mount根文件系統。注意理解ramdisk和initrd這兩個概念,其實ramdisk只是在ram上實現的塊設備,類似與硬碟操作,但有更快的讀寫速度,它可以在系統運行的任何時候使用,而不僅僅是用於啟動;initrd(boot loader initialized RAM disk)可以說是啟動過程中用到的一種機制,具體的實現過程也使用ramdisk技術。就是在裝載linux之前,bootloader可以把一個比較小的根文件系統的映象裝載在內存的某個指定位置,姑且把這段內存稱為initrd(這里是initrd所佔的內存,不是ramdisk,注意區別),然後bootloader通過傳遞參數的方式告訴內核initrd的起始地址和大小(也可以把這些參數編譯在內核中),在啟動階段就可以暫時的用initrd來mount根文件系統。initrd的最初的目的是為了把kernel的啟動分成兩個階段:在kernel中保留最少最基本的啟動代碼,然後把對各種各樣硬體設備的支持以模塊的方式放在initrd中,這樣就在啟動過程中可以從initrd所mount的根文件系統中裝載需要的模塊。這樣的一個好處就是在保持kernel不變的情況下,通過修改initrd中的內容就可以靈活的支持不同的硬體。在啟動完成的最後階段,根文件系統可以重新mount到其他設備上,但是也可以不再 重新mount(很多嵌入式系統就是這樣)。 initrd的具體實現過程是這樣的:bootloader把根文件系統映象裝載到內存指定位置,把相關參數傳遞給內核,內核啟動時把initrd中的內容復制到ramdisk中(ram0),把initrd佔用的內存釋放掉,在ram0上mount根文件系統。從這個過程可以看出,內核需要對同時對ramdisk和initrd的支持(這種需要都編入內核,不能作為模塊)。
2。嵌入式系統根文件系統的一種實現方法:對於kernel和根文件系統都存儲在flash中的系統,一般可以利用linux啟動的initrd的機制。具體的過程前面已經比較清楚了,還有一點就是在啟動參數中傳遞root=/dev/ram0,這樣使得用initrd進行mount的根文件系統不再切換,因為這個時候實際的設備就是ram0。還有就是initrd的起始地址參數為虛擬地址,需要和bootloader中用的物理地址對應。

『拾』 如何理解linux系統里文件系統的掛載和卸載

Linux系統中「一切皆文件」,所有文件都放置在以根目錄為樹根的樹形目錄結構中。Linux中任何硬體設備也都是文件,它們各有自己的一套文件系統(文件目錄結構)。
當Linux系統中使用這些硬體設備時,只有將Linux本身的文件目錄與硬體設備的文件目錄合二為一,硬體設備才能為我們所用。合二為一的過程稱為「掛載」。
掛載,指的就是將設備文件中的頂級目錄連接到Linux根目錄下的某一目錄(最好是空目錄),訪問此目錄就等同於訪問設備文件。而解除此關聯關系的過程稱之為「卸載」
並不是根目錄下任何一個目錄都可以作為掛載點,由於掛載操作會使得原有目錄中文件被隱藏,因此根目錄以及系統原有目錄都不要作為掛載點,會造成系統異常甚至崩潰,掛載點最好是新建的空目錄。

熱點內容
安卓手機圖標誤刪如何恢復 發布:2024-10-26 19:38:34 瀏覽:916
彈跳的編程 發布:2024-10-26 19:37:28 瀏覽:453
主機銷售網站源碼 發布:2024-10-26 19:36:36 瀏覽:103
linux內核視頻 發布:2024-10-26 19:30:16 瀏覽:293
微信猜拳演算法 發布:2024-10-26 19:23:35 瀏覽:390
android編譯第三方庫 發布:2024-10-26 19:14:20 瀏覽:615
蘋果手機怎麼用藍牙傳照片給安卓 發布:2024-10-26 18:57:40 瀏覽:615
ios8程序加密 發布:2024-10-26 18:30:27 瀏覽:533
密碼門鎖沒電了用什麼數據線 發布:2024-10-26 18:21:11 瀏覽:855
linuxloop 發布:2024-10-26 18:20:46 瀏覽:932