linux下給U盤分區&制作文件系統


這幾天讀到TLCL-Storage Media一節,不由的想要折騰一下U盤,一直以來U盤只是被拿來暫存數據,其內部有沒有文件系統,數據怎么管理,那是從來也不清楚,本文就依葫蘆畫瓢,折騰下手中的Kingston U盤

注:本文非教程,僅學以致樂。

初探

先看看U盤接受windows格式化以后的樣子,這應該是我們對付U盤最常用的一招:一言不合,格之。

不同於Ubuntu/Win等桌面發行版本,服務器型(非圖形化的系統?)的linux系統通常不主動掛載U盤,因此當U盤插入樹莓派后,命令行是不會有任何提示的,那我們如何知道U盤是否被系統所識別呢?

那就只能查看系統日志信息了,當有硬件設備被系統識別時,是會在日志中留下痕跡的,兩種查看方式:

直接翻看最末尾的日志緩存

 使用日志命令查看最后輸出的信息

可以看到,系統識別出來了Kingston U盤,並識別為文件sda,該文件內只有一個磁盤分區為sda1.

除了查看日志以外,由於插入的是USB設備,還可以使用lsusb/lsblk來查看設備信息,U盤拔插前后,會發現是新增的blk,對應的就是Kingston U盤。

 

圖中的sda只是系統識別到的一個設備文件,但並沒有掛載在系統的目錄樹中,默認不可訪問,我們可以使用fdisk來詳細的查看sda的文件信息。

采用dos分區表,即MBR,文件系統為fat32,單個分區,最小扇區為512字節。

創建分區

初始化分區表

進行分區的前提是磁盤已經有了分區表,考慮到MBR已經是非常古老的分區表,此處嘗試在U盤上使用新的GPT分區表:

在gdisk命令模式下,輸入o指令,刪除磁盤上的所有分區,並將U盤默認的msdos分區表改為gpt分區表,此時再輸入p指令,磁盤中已沒有分區信息。

注:圖中有行提示信息:

  This option deletes all partitions and creates a new protective MBR.
  Proceed? (Y/N): Y

有的舊MBR工具無法識別新的GPT分區表,為防止被當作未分區盤,在磁盤前面創建受保護的MBR以跳過MBR工具的誤識別。

創建子分區

此處依葫蘆畫瓢,參照《鳥哥的linux私房菜》第七章,創建三個子分區,類型分別為 8300 Linux filesystem/0700 Microsoft basic data/8200 Linux swap.

創建第一個分區:

因為磁盤無任何分區,第一次創建,默認為分區1,起始扇區號選擇默認,終止扇區選擇5G空間的地址扇區,類型默認為linux文件系統。

 

繼續創建第二個分區:

此時默認為分區2,起始扇區號選擇默認(即分區1后的第一個扇區),終止扇區選擇9G空間的地址扇區,類型通過L指令查詢后,選擇為Windows文件系統。

 

最后創建第三個分區:

 

創建完成后,U盤此時的分區表現如下:

除了形態上為一個U盤,磁盤分區划分是不是很像電腦內置磁盤。

最后,別忘了輸入w保存設置。

再使用lsblk查看下我們的磁盤的新划分情況

此時磁盤的三個分區已經被系統檢測到,但是默認依然未掛載,所以第四列的MOUNTPOINT為空。

創建文件系統

寫在前面:創建文件系統時,我曾試過在分區1創建vfat文件系統,且依然能夠被系統正常識別,因此納悶:創建分區時需要輸入分區類型,而在分區上創建文件系統時,也需要指定文件系統類型,這兩者有啥關聯影響?

截取一段網友的回復,個人認為解釋的比較合理。

為分區1創建xfs文件系統

當前使用的raspberry 系統默認不支持創建xfs類型,需先安裝xfs工具 sudo apt install xfsprogs

為分區2創建vfat文件系統

為分區3創建swap分區

創建swap分區就得用mkswap命令來創建了。

掛載U盤分區

分區創建好,文件系統創建好,接下來就需要將分區掛載在系統目錄上了,這樣才能對磁盤進行數據訪問。

文件系統掛載

先創建兩個空文件夾,然后使用mount命令掛載,最后使用df(device free)命令查看掛載的設備信息詳情。

此時我們就可以對分區進行數據讀取操作了,在應用層看來,flash/u1 flash/u2只是兩個普通文件夾,並不需要關心其背后關聯的是U盤的兩個分區。

swap分區掛載

swap分區還是特立獨行,使用獨有的命令進行操作。

小測試-比較分區數據的傳輸速率

本測試使用強大的dd命令,大致測試手段為:拷貝一個256MB的文件到分區中,比較兩個不同文件系統分區的傳輸速率。

初略來看,使用mkfs的默認配置創建的兩個分區中,xfs在此kingston U盤上的表現要優於vfat。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM