磁碟管理
(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 檔案系統的功能有 檔案的按名訪問,實現從邏輯檔案到物理檔案的轉換...