【Linux基礎】fdisk命令詳解:從入門到精通的磁盤分區管理完全指南

目錄

前言

1 fdisk命令概述

1.1 什么是fdisk

1.2 fdisk的應用場景

1.3 fdisk與其他分區工具的比較

2 fdisk命令的安裝與基本語法

2.1 在不同Linux發行版中安裝fdisk

2.2 fdisk的基本語法

3 fdisk命令參數詳解

3.1 主要參數說明

3.2 交互式命令

4 fdisk操作流程詳解

4.1 完整的分區操作流程

4.2 實際操作示例

5 高級應用與實踐

5.1 分區類型設置

5.2 分區對齊優化

6 注意事項與常見問題

6.1 安全注意事項

6.2 常見錯誤及解決方案

6.3 性能優化建議

7 總結


前言

在Linux系統中,磁盤管理是系統運維的重要環節。而fdisk作為Linux中最經典、最常用的磁盤分區管理工具,幾乎成為了每個Linux系統管理員必備的技能。

1 fdisk命令概述

1.1 什么是fdisk

fdisk(Fixed Disk or Format Disk)是Linux系統中用于創建和管理磁盤分區表的命令行工具。它的全稱是"Partition table manipulator for Linux",專門用于操作磁盤分區信息。
核心功能:
  • 創建、刪除、修改磁盤分區
  • 查看磁盤分區表信息
  • 支持多種分區表格式(MBR、GPT、Sun、SGI、BSD)
  • 優化現代磁盤的分區布局(如4K扇區對齊)

1.2 fdisk的應用場景

  • 需求分析:根據實際需求確定分區方案
  • 選擇工具:根據分區類型選擇合適的工具(fdisk主要用于MBR分區)
  • 執行操作:使用fdisk命令進行具體的分區操作
  • 驗證結果:檢查分區是否正確創建并應用

1.3 fdisk與其他分區工具的比較

工具名稱

支持分區表

最大分區大小

交互模式

適用場景

fdisk

MBR、GPT

2TB(MBR)

交互式

傳統MBR分區,小容量磁盤

parted

MBR、GPT

無限制

命令行/交互

大容量磁盤,現代分區表

gdisk

GPT

無限制

交互式

GPT分區,UEFI系統

cfdisk

MBR

2TB

交互式

圖形化界面,初學者

2 fdisk命令的安裝與基本語法

2.1 在不同Linux發行版中安裝fdisk

  • Ubuntu/Debian系統:
sudo apt-get update
sudo apt-get install fdisk
  • CentOS/RHEL系統:
sudo yum install fdisk
# 或
sudo dnf install fdisk
  • Arch Linux系統:
sudo pacman -S fdisk

2.2 fdisk的基本語法

fdisk [選項] 設備文件名
常用選項:
  • -l:顯示設備的分區表信息
  • -u:以扇區單位顯示分區信息
  • -s:顯示分區大小(已棄用)
  • -V:顯示版本信息

3 fdisk命令參數詳解

3.1 主要參數說明

顯示類參數:
  • -l:列出指定設備的分區表信息
  • -u:指定顯示單位(扇區或柱面)
  • -o:自定義輸出列格式
操作類參數:
  • -n:創建新分區(非交互模式)
  • -d:刪除分區(非交互模式)
  • -t:指定分區類型
配置類參數:
  • -b:指定扇區大小(512、1024、2048、4096)
  • -H:指定磁頭數
  • -S:指定每磁道扇區數

3.2 交互式命令

  • 進入fdisk交互模式后,可以使用以下命令:

命令

功能

說明

m

顯示幫助

顯示所有可用命令

p

打印分區表

顯示當前分區信息

n

新建分區

創建新的分區

d

刪除分區

刪除指定分區

t

修改分區類型

更改分區ID

w

保存并退出

將更改寫入磁盤

q

不保存退出

放棄更改退出

l

列出分區類型

顯示所有支持的分區類型

a

設置引導標志

標記活動分區

c

設置DOS兼容標志

設置DOS兼容性

4 fdisk操作流程詳解

4.1 完整的分區操作流程

  • 查看磁盤信息:使用fdisk -l命令查看當前磁盤分區情況
  • 進入交互模式:使用fdisk /dev/sdX進入指定磁盤的交互模式
  • 查看分區表:使用p命令查看當前分區表信息
  • 分區管理:根據需要刪除或創建分區
  • 設置參數:為新建分區設置類型、大小等參數
  • 保存更改:使用w命令將更改寫入磁盤
  • 驗證結果:使用fdisk -l和lsblk驗證分區是否正確創建

4.2 實際操作示例

  • 示例1:查看磁盤分區信息
# 查看所有磁盤的分區信息
sudo fdisk -l# 查看指定磁盤的分區信息
sudo fdisk -l /dev/sda
  • Device:設備名稱
  • Boot:是否為引導分區
  • Start:起始扇區
  • End:結束扇區
  • Sectors:扇區總數
  • Size:分區大小
  • Id:分區類型ID
  • Type:分區類型描述
  • 示例2:創建主分區
sudo fdisk /dev/sdb# 在交互模式中執行以下命令:
Command (m for help): n    # 新建分區
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p     # 選擇主分區
Partition number (1-4, default 1): 1  # 分區號
First sector (2048-1048575999, default 2048):  # 回車使用默認值
Last sector, +sectors or +size{K,M,G,T} (2048-1048575999, default 1048575999): +10G  # 設置分區大小Command (m for help): w    # 保存并退出
  • 示例3:創建擴展分區和邏輯分區
sudo fdisk /dev/sdb# 創建擴展分區
Command (m for help): n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default e): e      # 選擇擴展分區
Partition number (2-4, default 2): 2  # 擴展分區號
First sector (2097152-1048575999, default 2097152):  # 回車使用默認值
Last sector, +sectors or +size{K,M,G,T} (2097152-1048575999, default 1048575999): +20G  # 設置擴展分區大小# 創建邏輯分區
Command (m for help): n
Partition type:p   primary (1 primary, 1 extended, 2 free)l   logical (5 free)
Select (default l): l      # 選擇邏輯分區
Adding logical partition 5
First sector (4196352-44040191, default 4196352):  # 回車使用默認值
Last sector, +sectors or +size{K,M,G,T} (4196352-44040191, default 44040191): +5G  # 設置邏輯分區大小Command (m for help): w    # 保存并退出
  • 示例4:刪除分區
sudo fdisk /dev/sdbCommand (m for help): p    # 查看當前分區表
Command (m for help): d     # 刪除分區
Partition number (1-5, default 5): 3  # 要刪除的分區號
Command (m for help): w    # 保存并退出

5 高級應用與實踐

5.1 分區類型設置

常用分區類型:
  • 83:Linux原生分區
  • 82:Linux交換分區
  • 8e:Linux LVM分區
  • 07:NTFS/HPFS分區(Windows)
  • 0b:FAT32分區
  • 12:EFI系統分區
  • 05:擴展分區

5.2 分區對齊優化

  • 現代硬盤(特別是SSD)需要考慮分區對齊以獲得最佳性能:
# 對于4K扇區的硬盤,起始扇區應該是2048的倍數
sudo fdisk /dev/sdb
Command (m for help): n
First sector (2048-1048575999, default 2048): 2048  # 確保4K對齊

6 注意事項與常見問題

6.1 安全注意事項

  • 數據備份:在進行分區操作前,務必備份重要數據
  • 設備確認:確保操作正確的設備,避免誤操作其他磁盤
  • 謹慎使用:刪除分區操作不可逆,請三思而后行
  • 權限要求:需要root權限才能執行分區操作

6.2 常見錯誤及解決方案

錯誤信息

可能原因

解決方案

Device not found

設備不存在

檢查設備名稱是否正確

Device is busy

設備被占用

卸載相關分區或重啟系統

Invalid partition table

分區表損壞

使用fdisk /dev/sdX修復

Cannot write disk label

權限不足

使用sudo提升權限

Partition overlaps

分區重疊

重新規劃分區布局

6.3 性能優化建議

  • 分區對齊:確保分區起始位置符合硬盤的物理扇區大小
  • 分區大小:避免創建過小的分區,減少分區表碎片
  • 文件系統選擇:根據使用場景選擇合適的文件系統
  • 定期檢查:定期檢查磁盤健康狀態和分區完整性

7 總結

fdisk作為Linux系統中最基礎、最經典的磁盤分區工具,雖然在功能上可能不如parted等現代工具強大,但其簡單易用的交互模式和廣泛的兼容性使其仍然是系統管理員的必備工具。
主要優勢:
  • 簡單直觀的交互式操作
  • 廣泛的Linux發行版支持
  • 完善的MBR分區支持
  • 豐富的在線文檔和社區支持
適用場景:
  • 傳統MBR分區的管理
  • 小容量磁盤的分區操作
  • 學習Linux磁盤管理的基礎
  • 系統安裝和基本的分區規劃

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98316.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98316.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98316.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flowable 工作流引擎

1、核心類 Flowable 引擎通過 ProcessEngine 作為總入口點,提供了多個核心服務接口,每個服務都負責特定的功能領域:服務名稱 (Service Name)主要功能 (Main Functionality)關鍵操作 (Key Operations)RepositoryService管理流程定義和部署&…

(RDFS)隨機深度特征選擇方法解釋:簡而言之,RDFS主要針對的是惡意的服務器,它建立在客戶端是誠實的前提下。

1. 隨機深度特征選擇是怎么實現的?隨機深度特征選擇 是一種在分布式機器學習(特別是聯邦學習)中用于保護客戶端數據隱私的技術。它的核心思想是:在每一輪訓練中,每個客戶端隨機選擇模型的一個子集(即“深度…

C++20格式化字符串:std::format的使用與實踐

在C編程中,字符串格式化是一項常見的任務。在C20引入std::format之前,開發者通常依賴于一些傳統的解決方案,如printf系列函數、sstream,或者第三方庫如boost.format。然而,這些方法在代碼可讀性、類型安全性和靈活性方…

【漏洞復現】CVE-2025-8088|WinRAR 路徑穿越漏洞:從原理到藍屏攻擊全流程

【漏洞復現】CVE-2025-8088|WinRAR 路徑穿越漏洞:從原理到藍屏攻擊全流程 前言 WinRAR 作為 Windows 平臺最常用的壓縮管理工具之一,幾乎是每臺電腦的 “標配軟件”。但在 2025 年 8 月,一款影響范圍覆蓋 WinRAR 0 至 7.12 全版本…

uniapp中使用echarts并且支持pc端的拖動、拖拽和其他交互事件

npm install echarts -D ? // "echarts": "^5.3.2", [推薦版本] // "zrender": "^5.3.2" [如果報錯的話就安裝這個]<template><view class"container"><view id"myChart" class"chart"…

Qt中QProxyStyledrawControl函數4個參數的意義

Qt中QProxyStyle::drawControl函數4個參數的意義 我們來詳細解釋一下 Qt 中 QProxyStyle::drawControl 函數的四個參數。 這個函數是 Qt 樣式系統中的一個核心方法&#xff0c;用于繪制標準 UI 元素&#xff08;如按鈕、復選框、菜單欄等&#xff09;。當你繼承 QProxyStyle 并…

idf-esp32 PWM呼吸燈(LEDC頭文件)

相關宏和變量#define LED_PIN GPIO_NUM_3 #define LEDC_CHANNEL LEDC_CHANNEL_0 #define LEDC_TIMER LEDC_TIMER_0 #define LEDC_MODE LEDC_LOW_SPEED_MODE #define LEDC_DUTY_RES LEDC_TIMER_13_BIT // 2^13 8192級亮度 #define LEDC_FREQUENCY 50…

PLC_博圖系列?基本指令”S_ODTS:分配保持型接通延時定時器參數并啟動“

PLC_博圖系列?基本指令”S_ODTS&#xff1a;分配保持型接通延時定時器參數并啟動“ 文章目錄PLC_博圖系列?基本指令”S_ODTS&#xff1a;分配保持型接通延時定時器參數并啟動“背景介紹S_ODTS&#xff1a; 分配保持型接通延時定時器參數并啟動說明參數脈沖時序圖示例關鍵字&a…

OneCode 可視化揭秘系列(三):AI MCP驅動的智能工作流邏輯編排

OneCode 可視化揭秘系列&#xff08;三&#xff09;&#xff1a;AI MCP驅動的智能工作流邏輯編排 引言 在前兩篇系列博文中&#xff0c;我們詳細探討了OneCode可視化動作的基礎配置與界面設計&#xff0c;以及組件交互與數據流管理。在本篇文章中&#xff0c;我們將深入剖析邏輯…

TypeORM、Sequelize、Hibernate 的優缺點對比:新手常見 SQL 與 ORM 踩坑總結

1. ORM 與關系型數據庫&#xff08;MySQL、PostgreSQL&#xff09; 的使用 SQL 語句編寫&#xff08;JOIN、GROUP BY、索引使用、事務控制&#xff09;與 ORM 映射&#xff08;如 Sequelize、TypeORM、Hibernate&#xff09;之間的差異會讓新手非常糾結&#xff1b;尤其是理解…

JavaScript 創建型設計模式詳解

1. 單例模式1.1. 使用場景在前端開發中&#xff0c;全局狀態管理、配置信息、數據庫連接等往往需要在應用中只存在一個實例&#xff0c;避免多次實例化帶來的數據不一致性。例如&#xff0c;在一個前端應用中&#xff0c;全局的 loading 狀態通常需要一個單例模式來確保其唯一性…

k8s除了主server服務器可正常使用kubectl命令,其他節點不能使用原因,以及如何在其他k8s節點正常使用kubectl命令??

kubectl 并不是“只能”在主節點&#xff08;Control Plane Node&#xff09;使用&#xff0c;而是因為它需要訪問 Kubernetes 的 kube-apiserver&#xff0c;而 kube-apiserver 通常只在主節點上運行并監聽內部網絡。簡單來說kubectl 需要連接 kube-apiserver&#xff01;&…

Custom SRP - Complex Maps

https://catlikecoding.com/unity/tutorials/custom-srp/complex-maps/1 創建材質球我們的材質已經支持光照,并且支持 Albedo 和 Emission 貼圖.創建材質球,并應用下面的電路板的圖分別作為 albedo emission設置材質球的金屬度為 1 , 光滑度為 0.952 Mask Map在 albedo 圖上的不…

repo 學習教程

你現在會用 git 了&#xff0c;接下來學 repo&#xff08;Google 推出來的多倉庫管理工具&#xff09;&#xff0c;其實就是在 Git 的基礎上做了一層封裝&#xff0c;方便同時管理很多 Git 倉庫。像 Android 源碼、Rockchip 全套 SDK 都是靠 repo 來拉取和管理的。 我給你分幾個…

[SWERC 2020] Safe Distance題解

[SWERC 2020] Safe Distance 題意 給定 NNN 個點與一個坐標 (X,Y)(X,Y)(X,Y)&#xff0c;求從點 (0,0)(0,0)(0,0) 到點 (X,Y)(X,Y)(X,Y) 規劃一條路線&#xff0c;不能走出 (0,0)(0,0)(0,0) 與 (X,Y)(X,Y)(X,Y) 間形成的矩形&#xff0c;使得通過這條路線時距離最近的點的距離…

Rewind-你人生的搜索引擎

本文轉載自&#xff1a;Rewind-你人生的搜索引擎 - Hello123工具導航 ** 一、&#x1f50d; Rewind 是什么&#xff1f;你的數字記憶增強神器 Rewind 是一款人工智能驅動的個人記憶助手&#xff0c;就像為你配備了一個「數字第二大腦」。它能自動記錄、保存并索引你在電腦和手…

開發小點 - 存

開發小點 1.Req注解 EqualsAndHashCode(callSuper true) Data public class BillSituationReq extends BillQueryReq {/*** Whether to display the ring ratio, default is not displayed*/ApiModelProperty("Whether to Display YoY Comparison")private Boolean …

只會npm install?這5個隱藏技巧讓你效率翻倍!

原文鏈接&#xff1a;https://mp.weixin.qq.com/s/nijxVWj-E5U08DX2fl3vgg最近有個剛學前端的小伙伴問我&#xff1a;“為什么我的node_modules這么大&#xff1f;為什么別人裝依賴那么快&#xff1f;npx到底是啥玩意兒&#xff1f;” 相信不少人都跟他一樣&#xff0c;對npm的…

(二).net面試(static)

文章目錄項目地址一、基礎501.1 new keyword1.2 static class vs. static method1. static class2. static method3. static constructor 靜態構造函數4. 靜態成員的生命周期1.3 LinQ1.what is LinQ2. List<T>、IEnumerable<T>、IQueryable<T>3. 在數據庫里用…

docker,本地目錄掛載

理解Docker本地目錄掛載的基本概念Docker本地目錄掛載允許容器與宿主機共享文件或目錄&#xff0c;實現數據持久化和實時交互。掛載方式分為bind mount和volume兩種&#xff0c;前者直接映射宿主機路徑&#xff0c;后者由Docker管理存儲路徑。本地目錄掛載的核心方法bind mount…