八 檔案系統管理

2022-03-10 14:15:14 字數 4132 閱讀 7659

磁碟管理

(1) mbr分割槽表

1. 主引導程式(boot loader)占用了 446byte

安裝作業系統時寫入引導程式

2. 分割槽表(partition table)占用了 64byte

(每個分割槽資訊16b,可儲存4個分割槽資訊)

3. 有效標誌符(magic number)占用了 2byte(55aah 代表有效)

標誌mbr分割槽表是否生效

(2) 主引導扇區的讀取流程:

① bios 加電自檢 ( power on self test -- post )。bios 執行記憶體位址的跳轉指令,跳轉到固化在 rom 中的自檢程式處,對系統硬體(包括記憶體)進行檢查。

② 讀取主引導記錄(mbr)。當 bios 檢查到硬體正常並與 cmos 中的設定相符後, 按照 cmos 中對啟動裝置的設定順序檢測可用的啟動裝置。bios 將相應啟動裝置的第乙個扇區(也就是mbr 扇區)讀入記憶體。

③ 檢查 mbr 的結束標誌位是否等於 55aah,若不等於則轉去嘗試其他啟動裝置,如果沒有啟動 裝置滿足要求則顯示「no rom basic」然後宕機。

④ 當檢測到有啟動裝置滿足要求後,bios 將控制權交給相應啟動裝置。啟動裝置的 mbr 將自 己複製到 0000:0600h 處,然後繼續執行。

⑤ 根據 mbr 中的引導**啟動引導程式。

資料儲存的層級
表示層:檔名

邏輯層:檔案系統(data-block:4k) super-block高階格式化

物理層:扇區(512byte) 分割槽表(mbr-64byte)低階格式化

格式化:寫入檔案系統(寫入儲存規範)

檔案系統
super block:超級塊,記錄每個分割槽的 block 的大小、數量;塊點陣圖(已使用和未使用的 inode和 block 的數量);檔案系統掛載時間,最後修改時間,最近檢查時間。

塊點陣圖:記錄最後乙個檔案的儲存位置和所有未儲存的資料塊位置

data block:資料塊,儲存真實資料的位置,block 的大小和數量在格式化成檔案系統時已經固定, 除非重新格式化,否則不能修改。單個檔案占用小於乙個 block 的大小時,單獨占用乙個 block,剩餘空間不會被利用。inode:別名 i 節點;記錄 inode 號、許可權、屬主屬組、時間戳、大小、佔了哪幾個 block

inode 顯示的資料又叫檔案的元資料

磁碟管理命令
df -aht 引數				以常見單位顯示檔案系統型別,包括掛載(a-所有,h-人性化顯示,t-型別type)

du -sh 引數 檢視檔案大小(包括其內檔案大小之和)(s-和,h-人性化顯示,a-每個檔案)

du -h -x --max-depth=1 檢視當前目錄下一級目錄的空間大小

fsck -y 分割槽名 自動修復出現問題的檔案系統

dumpe2fs -h 分割槽名 詳細顯示磁碟狀態

stat 檔名 檢視檔案詳細資訊

file檔案 判斷檔案型別

type命令名 判斷命令是外部命令還是內建命令

fdisk -l 檢視系統所有硬碟及分割槽

mbr分割槽
1) 普通分割槽

fdisk 裝置名 分割槽

p:列印分割槽表

n:新建乙個新分割槽

d:刪除乙個分割槽

m:輸出選單

q:不儲存退出

w:把分割槽寫進分割槽表,儲存並退出

mkfs -t ext4 分割槽裝置名稱 格式化(-t:指定檔案型別)

mke2fs –text4 –b4096 –i4096 /dev/sdb1 格式化(b-指定block大小,i-多少個block分配乙個 inode號)

mkfs.* 分割槽裝置名稱 格式化(*代表檔案系統)

2) 建立swap分割槽

① fdisk /dev/sdb1

--t --1 --82 --w

② mkswap /dev/sdb1 格式化

③ swapon /dev/sdb1 啟用swap分割槽

④ vim /etc/fstab 將swap分割槽新增到配置檔案,實現自動掛載

⑤ mount -a 檢查/etc/fstab是否錯誤

⑥ free 檢視實際swap分割槽大小

1. 裝置檔名(uuid)uuid:/dev/disk/by-uuid

2. 掛載點

3. 檔案系統型別

4. 掛載特殊選項

5. 是否備份: 0 不備份 1 每天備份 2 不定期備份

6. 是否檢查磁碟狀態: 0 不檢查 1 啟動時檢查 2 啟動後檢查

4) 修復啟動檔案錯誤 /etc/fstab

1)根據提示輸入所需的 root 密碼,那麼修改下/etc/fstab

2)對/目錄進行重新掛載成讀寫rw

mount -o remount,rw /

3)修改/etc/fstab 中的錯誤

gpt分割槽表
gpt(guid partition table)"全域性唯一標識磁碟分割槽表" ,主要用來代替 mbr 分割槽表,突破儲存限制。

gpt 分割槽表的構成

◆ lba 0 :gpt 分割槽的最開頭,考慮相容性問題,開頭仍然存放 mbr 分割槽表,只是裡面存放的

是指向 gpt 的指標。防止有一些系統不識別 gpt 分割槽表。

◆ lba 1 :儲存了硬碟的總儲存空間,以及 gpt 分割槽表的資訊,定義最多能建立 128 個分割槽,每個分資訊占用的空間是 128 位元組;128 個分割槽中有乙個是用來儲存備份分割槽表的,所以可以手動指定的分割槽數為 127 個分割槽。

◆ lba 2-33:每個分割槽資訊存放的位置,每個分資訊占用的空間是 128 位元組。2-33

正好是 32 個扇區。32*512=16384,每個分割槽資訊占用了 128 位元組,16384/128=128 個分割槽。

lba0(0磁軌,1扇區) lba1(0,2) lba2(0,3) …… lba33(0,34)

主引導程式

446byte 分割槽表

64byte 有效標誌符

2byte 總大小,gpt分割槽表資訊

512byte 儲存4個分割槽資訊,每個128b

512byte ……

………… 儲存4個分割槽資訊,每個128b

512byte

gpt分割槽操作
parted /dev/sdb1

① print 檢視

② mklabel 修改分割槽表型別

mbr—-> msdos gpt—-> gpt

③ mkpart 建立分割槽 起始點5g,結束點 10g

無儲存選項,每次操作直接儲存

⑤ quie 退出

⑥ mkfs 格式化

注:1) uuid檢視:blkid

blkid -o list 列表方式檢視詳細資訊

blkid -s type 顯示所有裝置檔案系統

fsck -y /dev/sdc 修復檔案系統異常

partprobe /dev/sdc 修復檔案系統異常

2) 新增新硬碟

檢視主機匯流排號

[root@localhost ~]# ls /sys/class/scsi_host/ host0 host1 host2

依次掃瞄匯流排號

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host0/scan

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host1/scan

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host2/scan

如果有多個,則使用迴圈

[root@localhost ~]# for i in /sys/class/scsi_host/host*/scan;do echo "- - -" > $i;done

檔案系統 磁碟管理 四 檔案系統管理

檔案系統管理 檔案系統管理屬於核心的功能 當乙個磁碟進行分割槽後,只能通過格式化才能使用這個分割槽,而這個格式化是高階格式化 建立檔案系統 因為檔案系統對的管理屬於核心功能,所以通過檢視 proc filesystems檔案來看核心支援的檔案系統型別都有哪些。mkfs make file syste...

Linux筆記 九 檔案系統管理

1.1 檔案系統檢視命令 df 1.2 統計目錄或檔案大小 du du命令只統計目錄和檔案的大小,df不僅統計目錄和檔案,還包括命令和程式所佔的空間。1.3 檔案系統修復命令 fsck 這個命令不用我們手動執行,系統會選擇性的執行。1.4 檢視分割槽狀態 dumpe2fs 1.5 查詢與自動掛載 m...

作業系統(10)檔案系統管理

1 檔案系統是作業系統中負責訪問和管理資訊的模組,採用統一的方法管理使用者資訊和系統資訊的檢索 儲存 更新 共享和保護。有邏輯檔案和物理檔案之分。可實現 按名訪問 以及使用路徑名 檔名 檔案內位移來執行資料的讀 寫 修改 刪除操作。2 檔案系統的功能有 檔案的按名訪問,實現從邏輯檔案到物理檔案的轉換...