其實這教程也沒更上時代了,fdisk這個命令有兩個缺點:
1.無法分區單個2TB以上的分區
2.無法識別parted的GTP分區
但是學會fdisk命令的分區步驟,相信你對parted命令分區也會很快的掌握
教程中是使用自己虛擬機的,阿里雲主機的話就是/dev/sdb改成/dev/vdb或者其他數據盤
一.分區
fdisk -l #查看分區狀態。未分區的硬盤下的下方無分區信息
fdisk /dev/sdb #進行分區命令
n #創建新分區 p #創建主分區,主分區只能創建3個,之後會創建e,擴展分區。擴展分區(一般不選擇大小將剩餘容量全作爲擴展分區)創建後不能直接使用。 vdb1,vdb2,vdb3,vdb4,vdb5,vdb6 按順序增加。則4爲擴展分區(不能使用)。5,6屬於擴展分區中的邏輯分區(可以使用,掛載之類) 邏輯分區在重啓後才能使用 回車默認開始扇區 #選擇開始扇區 +5G #選擇創建大小,可以用 +[容量大小][單位,G,M,K]
p #查看現在的分區,現在還未正式分區
w #保存寫入分區
二.格式化新分區(製作文件系統)
mkfs.ext4 /dev/sdb1 #ext4爲文件系統類型
三.掛載新分區
1.普通存儲文件
mkdir /mydata #先創建掛載點
mount /dev/sdb1 /mydata #將新分區sdb1掛載到/mydata目錄上(先保證目錄掛載點存在)
df -h #查看目錄掛載情況 #mount掛載後的分區重啓需要再次重新掛載才能使用,要修改/etc/fstab配置文件才能開機自動掛載
2.創建swap交換分區文件
先按照相同方法再次創建一個大小爲5G的分區
mkswap /dev/sdb2 #製作交換分區文件類型文件,交換分區文件不能被像普通分區一樣掛載
swapon /dev/sdb2 #啓用交換分區文件
free -h #查看交換分區大小
圖上我自己裝系統的時候已經分配2G的交換分區了,現在有分了5G,總共有7G
分區全都掛載了,但是現在一重啓,那些自己分區又需要自己掛載。解決這個問題就需要讓linux開機自動掛載,這個需要修改配置文件
四.在fstab中添加開機自動掛載信息
echo '/dev/sdb1 /mydata ext4 defaults 0 0' >> /etc/fstab
echo '/dev/sdb2 swap swap defaults 0 0' >> /etc/fstab
#圖上的ext3是錯的,這個文件系統要和你創建的時候對應 #這個錯誤還害我在後面的重啓進系統的緊急模式了... #在緊急模式可以本地登錄系統,重新改了一下fstab就可以重新進系統了 #這邊的defaults是有s的。每一箇中間都有一個空格,這個之後要錯一個就會緊急模式
這邊也能看見安裝系統時,我自己已經設置的交換分區,不過它使用UUID的方式掛載,這種方式也是最推薦的方式。使用UUID的好處:有些熱插拔硬件(u盤等)根據不同的順序接入,接入不同接口。在/dev/下的命名會不同,而UUID是設備唯一的。
最推薦在fstab中用UUID掛載
ls -l /dev/disk/by-uuid #查看分區的UUID,藍色軟連接的就是對應分區的UUID
可以看到之前安裝系統自動掛載的分區的UUID就是最先的那塊sda磁盤上的分區
現在我們來改一下我們剛纔的自動掛載文件。(不要傻乎乎直接那我的UUID去,這個我說了是全局,可能全球唯一....)
echo 'UUID=11ee7348-2319-49d1-b1d9-313042ff9751 /mydata ext4 defaults 0 0' >> /etc/fstab
echo 'UUID=f5536295-657b-42b7-8ece-1ad6ef8b290f swap swap defaults 0 0' >> /etc/fstab
現在重啓看下,分區是不是都自己掛載了!
五、最後再來說一下fstab文件吧
這邊字段定義是這樣的
<fs_spec> <fs_file> <fs_vfstype> <fs_mntops> <fs_freq> <fs_passno>
#每個字段之間必須要有一個空格,特別想詳細的可以 man fstab 5 自己去看一下
#第一字段:需要掛載的分區或存儲設備
#第二字段:掛載點
#第三字段:掛載的文件系統類型,這個類型必須和你mkfs時候選擇的類型相同
#第四字段:掛載時的額外參數,defaults默認的是rw, suid, dev, exec, auto, nouser, async這些 auto - 在啓動時或鍵入了 mount -a 命令時自動掛載。 noauto - 只在你的命令下被掛載。 exec - 允許執行此分區的二進制文件。 noexec - 不允許執行此文件系統上的二進制文件。 ro - 以只讀模式掛載文件系統。 rw - 以讀寫模式掛載文件系統。 user - 允許任意用戶掛載此文件系統,若無顯示定義,隱含啓用 noexec, nosuid, nodev 參數。 users - 允許所有 users 組中的用戶掛載文件系統. nouser - 只能被 root 掛載。 owner - 允許設備所有者掛載. sync - I/O 同步進行。 async - I/O 異步進行。 dev - 解析文件系統上的塊特殊設備。 nodev - 不解析文件系統上的塊特殊設備。 suid - 允許 suid 操作和設定 sgid 位。這一參數通常用於一些特殊任務,使一般用戶運行程序時臨時提升權限。 nosuid - 禁止 suid 操作和設定 sgid 位。 noatime - 不更新文件系統上 inode 訪問記錄,可以提升性能(參見 atime 參數)。 nodiratime - 不更新文件系統上的目錄 inode 訪問記錄,可以提升性能(參見 atime 參數)。 relatime - 實時更新 inode access 記錄。只有在記錄中的訪問時間早於當前訪問纔會被更新。(與 noatime 相似,但不會打斷如 mutt 或其它程序探測文件在上次訪問後是否被修改的進程。),可以提升性能(參見 atime 參數)。 flush - vfat 的選項,更頻繁的刷新數據,複製對話框或進度條在全部數據都寫入後才消失。 defaults - 使用文件系統的默認掛載參數,例如 ext4 的默認參數爲:rw, suid, dev, exec, auto, nouser, async.
#第五字段:dump工具時候進行備份。0表示忽略,1表示備份 這個dump是需要安裝的,雲上有快照基本上不會使用,所以建議0,並且備份也會消耗磁盤性能
#第六字段:是否進行文件系統檢查和優先級。0表示不會檢查,一般根目錄爲1,其餘需要檢查的爲2