首页
/
每日頭條
/
科技
/
常見的分區工具有哪些
常見的分區工具有哪些
更新时间:2026-03-05 09:25:07
一、磁盤知識

常見的分區工具有哪些(在國産深度操作系統上學習磁盤分區基礎知識)1

(圖片來源博客源尖尖毛草博客)

傳統的機配磁盤由盤片、機械臂、馬達構成。 一塊磁盤會有多個盤片。

  • 磁道:盤片上一圈圈灰色同心圓。
  • 扇區:磁道上一段圓弧,盤片上最小的物理存儲單位,主要有512B和4KB兩種格式。

常見的分區工具有哪些(在國産深度操作系統上學習磁盤分區基礎知識)2

(圖片來源:博客園尖尖毛草博客)

  • 柱面:扇區組成一個圓,上圖中藍色部分。 一個盤片上下兩面都可讀寫,使用兩個磁頭讀寫。

計算存儲容量=存儲容量=磁頭數×磁道(柱面)數×每道扇區數×每扇區字節數磁道扇區柱面三個參數計算存儲容量 = 存儲容量 = 磁頭數 × 磁道(柱面)數 × 每道扇區數 × 每扇區字節數磁道 扇區 柱面 三個參數計算存儲容量=存儲容量=磁頭數×磁道(柱面)數×每道扇區數×每扇區字節數磁道扇區柱面三個參數

老式磁盤中,每個磁道的扇區數是相等的,所以越往圓心存儲密度越高。現代磁盤改為等密度結構,外圍磁道的扇區數量大于内圈磁道,尋址方式也改為以扇區為單位的線性尋址。 為了與老式3D尋址兼容,現代磁盤控制器使用地址翻譯器把3D尋址參數轉為線性參數。

二、在深度系統中打開分區編輯器查看磁盤信息:

常見的分區工具有哪些(在國産深度操作系統上學習磁盤分區基礎知識)3

常見的分區工具有哪些(在國産深度操作系統上學習磁盤分區基礎知識)4

三、分區表

早期的分區以柱面為最小分區單位;現在的分區通常使用扇區為最小分區單位。每個扇區有一個自己的号碼。磁盤分區表主要有MBR和GPT兩種格式,GPT格式可以支持2T以上容量。

  • 主分區:一塊硬盤取多4個主分區。主分區激活就可以用來啟動。
  • 擴展分區:早期設計的硬盤隻能分4個分區。後來建了sda4做為擴展分區,稱為邏輯分區。
  • 邏輯分區可以有很多個。
  • Linux限制,一塊硬盤主分區 擴展分區 最多隻有4個。計算機的分區多于4個餘下空間不能使用。
1. 下面重點看看MBR分區表

早期的Linux為了兼容Windows的磁盤,使用了支持Windows的MBR。MBR全稱是Master Boot Record,通常放在磁盤的第一個扇區。這個扇區通常為512字節大小,當中包括兩種東西:

  • 主引導記錄:446字節
  • 分區表:64字節,最多隻能有4組記錄區,每組記錄區記錄該區起止柱面号碼。
在深度系統使用下面命令讀取MBR記錄:

sudo dd if=/dev/sda of=~/bootsector bs=512 count=1

使用vim -b ~/bootsector打開查看 (在vim命令模式下輸入:%!xxd 顯示16進制模式)

常見的分區工具有哪些(在國産深度操作系統上學習磁盤分區基礎知識)5

末尾的55aa是标志位,圖中選中的 8020開始即第一個分區信息,

  • 第1字節80 表示是活動分區(00表示非活動分區)
  • 第5字節83表示分區類型是Linux分區(8e為Linux LVM分區)

如果要改動文件,可以使用

sudo dd if=~/bootsector of=/dev/sda bs=512 count=1

寫回磁盤。

使用C從扇區讀取文件

#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <libgen.h> #include <unistd.h> static void usage(char *prog_name) { fprintf(stderr, "usage: %s device start count\n", prog_name); fprintf(stderr, "example: %s /dev/sda 0 512\n", prog_name); } int main(int argc, char *argv[]) { char buf[4096]; int fd = 0; int i = 0; int j = 0; int start = 0; int count = 0; char *device = NULL; if(argc != 4){ usage(basename(argv[0])); exit(1); } device = argv[1]; start = atol(argv[2]); count = atol(argv[3]); // 把磁盤像文件一樣打開 fd = open(device, O_RDONLY); if(-1 == fd){ fprintf(stderr, "cannot open device"); exit(1); } // 找到起始位置 if(lseek(fd, start, SEEK_SET) != start){ fprintf(stderr, "cannot seek at %d", start); exit(1); } // 挨個字節讀出來 while(count > 0){ int size = count > sizeof(buf) ? sizeof(buf) : count; read(fd, buf, size); /* 每行顯示16個字節 每兩個字節間以空格分開 */ for(i = 0; i < size/16; i ){ fprintf(stdout,"x:", i*16 start); for(j = 0; j < 16; j ){ fprintf(stdout, " x", (int)buf[i*16 j] & 0xFF); } fprintf(stdout,"\n"); fflush(stdout); } count -= size; start = size; } }

gcc編譯運行:

常見的分區工具有哪些(在國産深度操作系統上學習磁盤分區基礎知識)6

擴展分區

分區記錄裡分一個擴展分區出來,然後在擴展分區前幾個扇區用來再記錄邏輯分區。Linux的SATA硬盤邏輯分區可以突破63個。

2. GPT分區(GUID Partition Table)

由于 MBR分區 每個分區表隻有16字節,一個分區被限制最大隻能使用2.2TB的磁盤。GPT将扇區以邏輯區塊(Logincal Block Address,LBA)來處理,一個LBA默認512字節,第一個LBA就是LBA0.

  • GPT使用了34個LBA來記錄分區信息
  • GPT把磁盤的最後34個LBA拿來作備份。
  • LBA0:用來兼容MBR,存儲了啟動引導程序。
  • LBA1:GPT表頭記錄
  • LBA2-33:實際記錄分區信息,每個LBA放4組分區記錄,每組記錄用到128字節空間。GPT分區表對單一分區容量限制達8ZB(1ZB=230TB)GPT 沒有了主分區、邏輯分區的區分 。
四、Linux的磁盤文件名
  • 老的ide接口,使用 /dev/hd開頭,現在已經很少使用;
  • 現在物理磁盤一般模拟成 /dev/sd[a-p]格式,第一塊磁盤為/dev/sda;分區的文件名以第一塊磁盤為例,為/dev/sda[1-128]。
  • 虛拟機的磁盤通常是 /dev/vd[a-p] (比如用阿裡的ECS)
  • 磁盤陣列通常是 /dev/md[0-128]
  • LVM是 /dev/VGNAME/LVNAME
五、Linux 常用的文件格式

Linux較早的文件系統使用的是ext2。centos6: 以ext4為主 。centos7: 以xfs為主,大文件系統,日志型 ,文件可以修複。執行命令: cat /etc/fstab

六、索引節點inode

每個存儲設備或存儲設備的分區被格式化為文件系統後有兩部分:block inode文件存儲在硬盤上,最小存儲單位是扇區,每個扇區可能是512Byte。但操作系統讀取硬盤時,不會一個一個扇區讀,而是一次性連續讀多個扇區,多個扇區稱為一個“塊”。多個扇區組成的塊,是文件存取的最小單位。“塊”的大小,常見的有4B,即連續8個扇區。塊用來存儲數據,而inode用來存儲這些數據元信息,主要包括:

  • 文件大小
  • 文件所屬用戶User ID
  • 文件的Group ID
  • 文件的讀/寫權限
  • 文件的時間戳
  • 鍊接數
  • 文件數據Block的位置inode為每個文件進行信息索引,所以就有了inode的數值。操作系統根據指令,可以通過inode值快速找到相對應的文件。

使用stat命令可以查看文件的inode信息:

$ stat linux2-4.mov 16777220 3753644 -rw-r--r-- 1 apple staff 0 674287083 "Jul 9 23:49:23 2020" "Jul 9 23:07:22 2020" "Jul 9 23:07:23 2020" "Jul 9 23:07:08 2020" 4096 1344096 0 linux2-4.mov

硬盤在格式化的時候,操作系統會将硬盤分成兩個區域:數據區、inode區。每個inode節點的大小一般為128B或256B;inode節點的數量在格式化時給定,一般是每1K或每2K設置一個inode。

如果一塊1G的硬盤,每個inode節點大小為128B,每1K就設置一個inode,那inode占的空間會達到128M,占硬盤的12.8%。

df -i 命令可以查看每個硬盤分區的inode總數和已經使用的數量。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
為什麼有的手機可以搜到路由器的5g信号
為什麼有的手機可以搜到路由器的5g信号
1、首先手機要支持5G頻段,而現在市面上的手機幾乎都支持2.4G和5G。隻要附近有5Gwifi信号,把手機WLAN頻段設置成自動”,即可搜到5Gwifi信号,連接成功就可以上網了。2、找一個雙頻路由器,通過手機去掃描WIFI信号,看看能否掃描到5G信号。3、主要是手機硬件(網卡)的問題,不能通過軟件優化實現。如果手機的網卡是雙頻網卡就可以支持雙頻WiFi(2.4G,5G)。而現在主流手機均支持雙頻
2026-03-05
word鼠标無法選中文字怎麼辦
word鼠标無法選中文字怎麼辦
1、如果鼠标按住左鍵的時候可以選中但是松開左鍵時,就無法選中了,那麼可能是鼠标的按鍵連鍵設置過快,這時就需要去設置下鼠标按鍵了,點擊開始/控制面闆/打印機和其他硬件/鼠标,可以查看鼠标雙擊速度選項,根據需要調慢或調快試試效果2、如果還是無法選中文字,那麼有可能是啟用了第3方主題,隻需要重新換回原有Windows主題即可。換回Windows主題方法如下:桌面點擊鼠标右鍵/屬性/桌面,然後選擇系統自帶
2026-03-05
蘋果筆記本怎麼切換系統
蘋果筆記本怎麼切換系統
1、蘋果電腦開機或重啟電腦的時候,在鍵盤上按住Opiton鍵(windwos鍵盤上是Alt鍵)不松手...
2026-03-05
蘋果鍵盤怎麼換行
蘋果鍵盤怎麼換行
1、首先打開一個可以輸入文字的地方,例如微信,随便找了一個好友進入了“聊天界面”。2、接着我們點擊發...
2026-03-05
聯想office激活密鑰在哪裡
聯想office激活密鑰在哪裡
1、打開win10開始菜單,在開始菜單右側找到Word、Excel、OneNote、PowerPoint如下圖中紅圈區域,任意一個點開。2、打開後會自動出現下圖所示界面,點擊中間的激活。3、之後我們就找到了office激活密鑰的具體位置了,我們可以直接向某個帳戶添加密鑰。
2026-03-05
Copyright 2023-2026 - www.tftnews.com All Rights Reserved