我電腦雙硬碟,一個硬碟裝win10 x64,一個硬碟裝Cent OS。原計劃裝win10的硬碟分一個分區出來做兩個系統的數據共享分區,這裡稱為D盤吧,格式為FAT32,這樣Linux也能讀寫。Cent OS是MBR安裝。win10默認GPT安裝,多了恢復、ESP、MSR三個分區,再加上裝系統的C盤,共享的D盤,共有5個主分區。在LINUX下,這5個分區分別是sda1~sda5,D盤成了sda5,不能掛載,我猜想是linux只能讀取4個主分區的原因。請教各位大神有什麼解決方法?


「我猜想是linux只能讀取4個主分區的原因。」你這猜想也太搞笑了……

你與其在這胡思亂想,不如去看看掛載失敗後輸出什麼錯誤信息。難道你碰到問題都是這樣胡思亂想,而不是搜集線索客觀分析嗎?你是直接用mount命令掛載的還是在圖形界面滑鼠點擊要掛載的文件系統掛載的?失敗時輸出什麼錯誤信息給你,dmesg有沒有告訴你什麼?提供有用的線索,別人好幫你分析原因,難道都靠猜么


1、GPT 分區表沒有主分區這個說法,主分區只存在於 MSDOS 分區表上(也就是你的那個 MBR 引導模式)。

2、你都不說怎麼不能掛載。自己這麼確定錯誤原因了,那幹嘛不直接給 CentOS 發 bug 報告?

3、這年頭居然還有人用 FAT32 ,還認為這樣可以讓 Win/Lin 共享數據……

我就一個問題,這是哪個忽悠寫的教程?


兩個硬碟,一個mbr一個gpt

主分區是對於mbr分區表來說的,

既然那個盤都gpt的分區表格式了,對linux來說也不存在這個盤主分區的情況啊,直接掛載就可以了,

另外fdisk好像管理不了大於2t的磁碟

掛載報錯還是怎麼了?


信息太少,只能揣測一下:D盤不是fat32文件系統,而是exfat,或者ntfs。

建議看看錯誤提示信息,然後安裝相應的軟體以便正確識別你的D盤


既然都用gpt裝win了,為什麼還要用mbr裝Linux呢,這樣在BIOS里設置UEFI only那麼Linux就掛了呀。

讀一下報錯信息,百度啊,Google啊,xx翻譯都是很有用的。還有,你在Windows的機器上裝的雙系統,想必是桌面版,可能有自動掛載,如果自動掛載了,再手動掛載肯定報錯。

關於fat32,沒必要,Linux有補丁可以讀寫ntfs分區。


4個分區是因為你用的是mbr分區表,把分區表改gpt就好了


centOS 是一般是做伺服器 。絕對不可能只能掛載4個分區。

對Linux用戶來說無論有幾個分區,都得分給目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的文件結構。Linux中每個分區都是用來組成整個文件系統的一部分,因為它採用了一種叫「掛載點」的處理方法,它的整個文件系統中包含了一整套的文件和目錄,且將一個分區和一個目錄聯繫起來。這時要載入的一個分區就在linux的存儲空間的某個目錄下獲得。

對於IDE硬碟,驅動器標識符為「hdx1」,其中「hd」表明分區所在設備的類型,這裡是指IDE硬碟了。「x」為盤號(a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤),「1」代表分區,前四個分區用數字1到4表示,它們是主分區或擴展分區,從5開始就是邏輯分區。例,hda3表示為第一個IDE硬碟上的第三個主分區或擴展分區,hdb2表示為第二個IDE硬碟上的第二個主分區或擴展分區。對於SCSI硬碟則標識為「sdx1」,SCSI硬碟是用「sd」來表示分區所在設備的類型的,其餘則和IDE硬碟的表示方法一樣。上面可以看到,Linux的分區是不同於其它操作系統分區的,它的分區格式常用的有Ext3和Swap兩種,Ext3用於存放系統文件,Swap則作為Linux的交換分區(相當於windows中的虛擬內存文件)。那麼現在我們就可以知道Linux至少需要兩個專門的分區(Linux Native(本地)和Linux Swap(交換))。由於不能將Linux安裝在Dos/Windows分區。一般來說我們將Linux安裝一個或多個類型為「Linux Native」的硬碟分區,但是在Linux的每一個分區都必須要指定一個「Mount Point」(掛載點),告訴Linux在啟動時,這個目錄要給哪個分區使用。對「Swap」分區來說, 一般也定義一個,且它不必要定義載入點。下面我們先對「Linux Native」和「Linux Swap」有個初步的了解。SWAP分區是LINUX暫時存儲數據的交換分區,它主要是把主內存上暫時不用得數據存起來,在需要的時候再調進內存內,且作為SWAP使用的分區不用指定「Mout Point」(載入點),既然它作為交換分區,我們理所當然應給它指定大小,它至少要等於系統上實際內存的量,一般來說它的大小是內存的一至兩倍。另外你也可以創建和使用一個以上的交換分區,最多16個。

Linux Native是存放系統文件的地方,一般用EXT4的分區類型,對Linux來說,有了較大的選擇餘地,可以把系統文件分幾個區來裝(必須要說明掛載點),也可以就裝在同一個分區中(掛載點是「/」)。

為什麼要自定義多個分區a. 在不損失數據的情況下重裝系統,比如獨立設置/home掛載點,重裝系統的時候直接標記回/home,數據不會有任何損失。b. 針對不同掛載點的特性分配合適的文件系統以合理髮揮性能,比如對/var使用reiserfs,對/home使用xfs,對/使用ext4。c. 針對不同的掛載點開啟不同的掛載選項,如是否需要即時同步,是否開啟日誌,是否啟用壓縮。d. 大硬碟搜索範圍大,效率低e. 磁碟配額只能對分區做設定f. /home、/var、/usr/local 經常是單獨分區,因為經常會操作,容易產生碎片常見的掛載點:

常見的掛載目錄說明

/ 根目錄,存放系統命令和用戶數據等(如果下面掛載點沒有單獨的分區,它們都將在根目錄的分區中)/boot boot loader 的靜態鏈接文件,存放與Linux啟動相關的程序/home 用戶目錄,存放普通用戶的數據/tmp 臨時文件/usr 是Linux系統存放軟體的地方,如有可能應將最大空間分給它/usr/local 自已安裝程序安裝在此/var 不斷變化的數據,伺服器的一些服務、日誌放在下面/opt (Option可選的)附加的應用程序軟體包/bin 基本命令執行文

/dev 設備文件

/etc 主機特定的系統配置/lib 基本共享庫以及內核模塊/media 用於移動介質的掛載點/mnt 用於臨時掛載文件系統或者別的硬體設備(如光碟機、軟碟機)/proc 系統信息的虛擬目錄(2.4 和 2.6 內核),這些信息是在內存中,由系統自己產生的/root root 用戶的目錄/sbin 基本系統命令執行文件/sys 系統信息的虛擬目錄(2.6 內核)/srv 系統提供的用於 service 的數據

/usr/X1186 X-Windows目錄,存放一些X-Windows的配置文件

/usr/include 系統頭文件,存儲一些C語言的頭文件/usr/src Linux內核源代碼,Linux系統所安裝的內核源代碼都保存在此/usr/bin 對/bin目錄的一些補充/usr/sbin 對/sbin目錄的一些補充/lost+found 這個目錄在大多數情況下都是空的。但是如果你正在工作突然停電,或是沒有用正常方式關機,在你重新啟動機器的時候,有些文件就會找不到應該存放的地方,對於這些文件,系統將他們放在這個目錄下 為什麼 linux 的分區需要有掛載這個動作呢因為linux 下一切皆文件!換句說法就是linux操作系統將系統中的一切都作為文件來管理。在windows中我們常見的硬體設備(印表機、網卡、音效卡...)、磁碟分區等,在linux中統統都被視作文件,對設備、分區的訪問就是讀寫對應的文件。
  1. 永久掛載:開機自動掛載需要修改/etc/fstab

LABEL=/data /data ext3 defaults 1 2 修改為: /dev/sda3 /data ext3 defaults 1 2

PS:fstab 是文件系統分配表的配置文件,該文件有著嚴格的語法格式限制,類似 crontab 一樣,保存時也會對你的輸入格式進行校驗,請慎重使用,否則會有意想不到的問題發生。其一共有 6 個欄位,空格分隔

a. 掛載點必須是一個目錄b. 一個分區掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用。對於其他操作系統建立的文件系統的掛載也是這樣,卸載後,目錄以前的文件都還在,不會有任何丟失c. 目錄只佔磁碟里的一個inode,存放文件屬性等信息d. 任何一個分區都必須掛載到某個目錄上e. 目錄是邏輯上的區分。分區是物理上的區分f. 磁碟Linux分區都必須掛載到目錄樹中的某個具體的目錄上才能進行讀寫操作g. 根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁碟分區h. 一個分區可以掛在多個目錄,但反過來一個目錄只能是一個分區的掛載點


推薦閱讀:
相关文章