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

目錄

前言

1 parted命令概述

1.1 什么是parted

1.2 parted與fdisk的對比

1.3 parted的主要優勢

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

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

2.2 parted的基本語法

2.3 parted的工作模式

3 parted交互式命令詳解

3.1 交互式操作流程

3.2 主要交互命令

3.3 分區表管理

3.3.1 創建分區表

3.3.2 查看分區表信息

3.4 分區創建與管理

3.4.1 創建分區

3.4.2 分區對齊優化

3.4.3 調整分區大小

3.4.4 刪除分區

3.5 分區標志管理

4 parted非交互式操作

4.1 非交互式操作流程

4.2 常用非交互式命令

4.2.1 設備查看與分區表創建

4.2.2 分區創建與管理

4.2.3 分區標志設置

5 注意事項與常見問題

5.1 安全注意事項

5.2 常見錯誤及解決方案

5.3 性能優化建議

5.4 實踐總結

6 總結


前言

在Linux系統管理中,磁盤分區是一項基礎且至關重要的操作。雖然fdisk是最廣為人知的分區工具,但隨著現代存儲設備容量的不斷增大,fdisk在處理超過2TB的大容量磁盤時顯得力不從心。而parted作為GNU組織開發的一款功能強大的磁盤分區工具,不僅支持大容量磁盤的分區,還提供了更靈活的分區管理功能。

1 parted命令概述

1.1 什么是parted

parted(Partition Editor)是由GNU組織開發的一款功能強大的磁盤分區和分區大小調整工具。它是一個靈活的命令行程序,支持多種分區表格式,能夠創建、刪除、調整和管理磁盤分區。
核心功能:
  • 創建、刪除、調整分區大小
  • 支持MBR和GPT分區表格式
  • 處理超過2TB的大容量磁盤
  • 提供交互式和非交互式兩種操作模式
  • 支持多種文件系統類型

1.2 parted與fdisk的對比

  • 容量評估:首先需要確定要分區的磁盤容量
  • 工具選擇:根據磁盤容量選擇合適的分區工具
  • 分區表選擇:根據需求選擇MBR或GPT分區表格式
  • 執行操作:使用選定的工具進行具體的分區操作

1.3 parted的主要優勢

特性

說明

大容量支持

支持超過2TB的分區,最大可達18EB

靈活的分區管理

可以調整分區大小而不丟失數據

即時生效

大多數操作立即寫入磁盤,無需額外確認

腳本支持

支持非交互式腳本模式,適合自動化

多種文件系統

支持ext2/3/4、xfs、btrfs、fat、ntfs等

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

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

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

2.2 parted的基本語法

parted [選項] [設備] [命令 [參數]...]
  • 常用選項:

選項

說明

-l

列出所有塊設備的分區信息

-s

腳本模式(非交互式)

-a

設置對齊類型(min/opt/none)

-f

抑制部分警告信息

-i

交互模式(默認)

-v

顯示版本信息

2.3 parted的工作模式

parted支持兩種主要的工作模式:
  • 交互式模式:進入parted的交互環境,逐條執行命令
  • 非交互式模式:在命令行直接執行完整命令,適合腳本自動化

3 parted交互式命令詳解

3.1 交互式操作流程

  • 啟動parted:使用parted /dev/sdX命令進入交互模式
  • 選擇設備:parted會自動選擇指定的設備
  • 創建/選擇分區表:使用mklabel命令創建新的分區表
  • 查看當前分區:使用print命令查看分區信息
  • 執行操作:根據需要進行創建、調整、刪除等操作
  • 保存退出:使用quit命令退出parted
  • 驗證結果:使用fdisk -l或lsblk驗證分區結果

3.2 主要交互命令

命令

功能

示例

help

顯示幫助信息

help

help mkpart

print

顯示分區信息

print

print free

mklabel

創建分區表

mklabel gpt

mkpart

創建分區

mkpart primary ext4 1GB 10GB

rm

刪除分區

rm 1

resizepart

調整分區大小

resizepart 2 20GB

set

設置分區標志

set 1 boot on

unit

設置顯示單位

unit GB

quit

退出parted

quit

3.3 分區表管理

3.3.1 創建分區表

# 創建GPT分區表
(parted) mklabel gpt# 創建MBR分區表
(parted) mklabel msdos
注意事項:
  • 創建新分區表會刪除磁盤上所有現有數據
  • GPT分區表支持超過2TB的分區
  • MBR分區表最多支持4個主分區

3.3.2 查看分區表信息

# 顯示完整分區信息
(parted) print# 顯示空閑空間
(parted) print free# 顯示設備信息
(parted) print devices

3.4 分區創建與管理

3.4.1 創建分區

# 創建主分區
(parted) mkpart primary ext4 1GB 10GB# 創建擴展分區(MBR)
(parted) mkpart extended 10GB 20GB# 創建邏輯分區(MBR)
(parted) mkpart logical 20GB 30GB# 使用百分比創建分區
(parted) mkpart primary ext4 0% 50%
(parted) mkpart primary ext4 50% 100%
參數說明:
  • primary:主分區
  • extended:擴展分區(僅MBR)
  • logical:邏輯分區(僅MBR)
  • ext4:文件系統類型(可選)
  • 1GB:起始位置
  • 10GB:結束位置

3.4.2 分區對齊優化

  • 百分比方式
(parted) mkpart primary ext4 0% 100%
  • 1MiB偏移方式
(parted) mkpart primary ext4 1MiB 100%
  • 精確扇區計算
# 查詢對齊參數
cat /sys/block/sdb/queue/optimal_io_size
cat /sys/block/sdb/alignment_offset
cat /sys/block/sdb/queue/physical_block_size# 計算起始扇區
# optimal_io_size + alignment_offset / physical_block_size# 創建對齊分區
(parted) mkpart primary ext4 2560 100%

3.4.3 調整分區大小

# 調整分區大小
(parted) resizepart 2 20GB# 使用百分比調整
(parted) resizepart 2 80%
注意事項:
  • 調整分區大小不會丟失數據,但需要文件系統支持
  • 不能調整正在使用的分區
  • 新大小不能超過磁盤容量

3.4.4 刪除分區

# 刪除指定分區
(parted) rm 1# 刪除多個分區
(parted) rm 1
(parted) rm 2

3.5 分區標志管理

常用標志:
  • boot:引導分區
  • esp:EFI系統分區
  • lvm:LVM物理卷
  • raid:RAID分區
  • swap:交換分區
  • hidden:隱藏分區
  • 設置示例:
# 設置啟動標志
(parted) set 1 boot on# 設置LVM標志
(parted) set 2 lvm on# 清除標志
(parted) set 1 boot off

4 parted非交互式操作

4.1 非交互式操作流程

  • 準備設備:確保目標設備未被掛載
  • 創建分區表:使用mklabel命令創建分區表
  • 創建分區:使用mkpart命令創建分區
  • 設置標志:使用set命令設置分區標志
  • 驗證結果:使用parted -l查看分區信息
  • 結束操作:完成所有分區操作

4.2 常用非交互式命令

4.2.1 設備查看與分區表創建

# 查看所有設備分區
sudo parted -l# 創建GPT分區表
sudo parted /dev/sdb mklabel gpt# 創建MBR分區表
sudo parted /dev/sdb mklabel msdos

4.2.2 分區創建與管理

# 創建主分區(腳本模式)
sudo parted -s /dev/sdb mkpart primary ext4 1MiB 10GiB# 創建擴展分區
sudo parted -s /dev/sdb mkpart extended 10GiB 20GiB# 創建邏輯分區
sudo parted -s /dev/sdb mkpart logical 20GiB 30GiB# 使用百分比創建
sudo parted -s /dev/sdb mkpart primary ext4 0% 50%# 調整分區大小
sudo parted -s /dev/sdb resizepart 2 20GiB# 刪除分區
sudo parted -s /dev/sdb rm 1

4.2.3 分區標志設置

# 設置啟動標志
sudo parted -s /dev/sda set 1 boot on# 設置ESP標志
sudo parted -s /dev/sda set 1 esp on# 設置LVM標志
sudo parted -s /dev/sda set 2 lvm on

5 注意事項與常見問題

5.1 安全注意事項

  • 數據備份:分區操作可能導致數據丟失,務必提前備份
  • 設備確認:確保操作正確的設備,避免誤操作其他磁盤
  • 分區使用中:不能修改已掛載的分區
  • 電源穩定:避免在分區過程中斷電,可能導致分區表損壞

5.2 常見錯誤及解決方案

錯誤信息

可能原因

解決方案

Error: /dev/sdb: unrecognised disk label

分區表損壞或不存在

使用mklabel創建新分區表

Partition /dev/sdb1 is being used

分區正在使用

卸載相關分區或重啟系統

Warning: The resulting partition is not properly aligned

分區未對齊

使用1MiB偏移或百分比方式

Invalid partition table

分區表格式錯誤

重新創建分區表

Cannot have overlapping partitions

分區重疊

調整分區范圍避免重疊

5.3 性能優化建議

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

5.4 實踐總結

  • 使用GPT分區表:現代系統推薦使用GPT,支持更多分區和更大容量
  • 正確對齊分區:特別是SSD,使用-a optimal選項
  • 腳本化操作:重復性操作使用腳本模式提高效率
  • 驗證結果:操作完成后使用parted -l驗證分區信息
  • 文檔記錄:記錄分區方案,便于后續維護

6 總結

parted作為Linux系統中最現代化、最靈活的磁盤分區工具,相比傳統的fdisk具有顯著的優勢。它不僅支持大容量磁盤的分區,還提供了豐富的功能來滿足各種分區管理需求。
主要優勢:
  • 大容量支持:輕松處理超過2TB的磁盤
  • 靈活的分區管理:支持創建、刪除、調整分區大小
  • 多種分區表格式:同時支持MBR和GPT
  • 腳本支持:非交互式模式適合自動化操作
  • 即時生效:操作立即寫入磁盤,提高效率
核心應用場景:
  • 大容量磁盤分區:處理超過2TB的企業級存儲設備
  • 系統安裝部署:為Linux系統創建合理的分區方案
  • 存儲管理:靈活調整分區大小以適應變化的需求
  • 自動化運維:通過腳本實現批量分區管理
  • 虛擬化環境:為虛擬機創建優化的分區方案

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

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

相關文章

如何在路由器上配置DHCP服務器?

在路由器上配置DHCP服務器的步驟因品牌(如TP-Link、華為、小米、華碩等)略有差異,但核心流程一致,主要包括登錄管理界面、開啟DHCP功能、設置IP地址池及相關參數。以下是通用操作指南: 一、準備工作 確保電腦/手機已連…

HTML和CSS學習

HTML學習 注釋 <!-- -->組成 告訴瀏覽器我是html文件<!DOCTYPE html> <title>瀏覽器標簽</title> <body> <!--- 其中是主要內容 ---> <p> 段落 </p> </body> </html> (結束點…

OpenTenBase vs MySQL vs Oracle,企業級應用數據庫實盤對比分析

摘要 因為工作久了的緣故&#xff0c;接觸過不少數據庫。公司的管理系統用的MySQL&#xff0c;財務系統用的Oracle。隨著時代發展&#xff0c;國產開源數據庫已經在性能上能與這些國際知名頂尖數據庫品牌相媲美&#xff0c;其中OpenTenBase以其開放環境和優越性能脫穎而出&…

Oracle 備份與恢復常見的七大問題

為了最大限度保障數據的安全性&#xff0c;同時能在不可預計災難的情況下保證數據的快速恢復&#xff0c;需要根據數據的類型和重要程度制定相應的備份和恢復方案。在這個過程中&#xff0c;DBA的職責就是要保證數據庫&#xff08;其它數據由其它崗位負責&#xff09;的高可用和…

StringBuilder類的數據結構和擴容方式解讀

目錄 StringBuilder是什么 核心特性&#xff1a; StringBuilder數據結構 1. 核心存儲結構&#xff08;基于父類 AbstractStringBuilder&#xff09; 2. 類定義與繼承關系 3. 數據結構的核心特點 StringBuilder數據結構的初始化方式 1. 無參構造&#xff1a;默認初始容量…

LangChain實戰(十七):構建與PDF/PPT文檔對話的AI助手

本文是《LangChain實戰課》系列的第十七篇,將專篇深入講解如何構建能夠與PDF和PPT文檔進行智能對話的AI助手。通過學習本文,您將掌握復雜格式文檔的解析技巧、文本與表格處理技術,以及實現精準問答的系統方法。 前言 在日常工作和學習中,PDF和PPT文檔是我們最常接觸的文檔…

魚眼相機模型

魚眼相機模型 最近涉及魚眼相機模型、標定使用等&#xff0c;作為記錄&#xff0c;更新很久不曾更新的博客。 文章目錄魚眼相機模型1 相機成像2 魚眼模型3 畸變3.1 適用針孔和MEI3.2 Kannala-Brandt魚眼模型4 代碼實現1 相機成像 針孔相機&#xff1a;所有光線從一個孔&#xf…

大語言模型提示詞工程詳盡實戰指南

引言&#xff1a;與大型語言模型&#xff08;LLM&#xff09;高效對話的藝術大型語言模型&#xff08;LLM&#xff09;——例如我們熟知的GPT系列、Claude、Llama等——在自然語言處理&#xff08;NLP&#xff09;領域展現了驚人的能力&#xff0c;能夠執行文本摘要、翻譯、代碼…

HTTP 請求體格式詳解

1. 概覽與概念 Content-Type&#xff1a;HTTP 請求/響應頭&#xff0c;表示消息體的媒體類型&#xff08;MIME type&#xff09;。服務端用它決定如何解析請求體。常見場景&#xff1a; 純結構化數據&#xff08;JSON&#xff09; → application/json表單 文件上傳 → multip…

事務設置和消息分發

事務 RabbitMQ是基于AMQP協議實現的&#xff0c;該協議實現了事務機制&#xff0c;因此RabbitMQ也支持事務機制. SpringAMQP也提供了對事務相關的操作&#xff0c;RabbitMQ事務允許開發者確保消息的發送和接收是原子性的&#xff0c;要么 全部成功&#xff0c;要么全部失敗.| 前…

Python 中 try / except / else / finally 異常處理詳解

1. 基本結構 try:# 可能會拋出異常的代碼 except SomeException as e:# 捕獲并處理異常 else:# 如果 try 中代碼沒有異常&#xff0c;就執行這里 finally:# 無論是否發生異常&#xff0c;最后都會執行這里2. 各部分的作用 try 用途&#xff1a;包含可能發生異常的代碼段。如果代…

冰火島 Tech 傳:Apple Foundation Models 心法解密(下集)

引子 上集說到冰火島冰屋內,謝遜、張翠山、殷素素三人親見 “指令(Instructions)” 如何讓 AI 脫胎換骨,從木訥報地名的 “愣頭青”,變身為文采斐然的 “旅行作家”。 正當素素驚嘆這 AI 武學的奇妙時,謝遜卻突然神色一凜,指著手腕上用冰屑刻的 “4096” 字樣道:“這等…

Qt信號與槽機制全面解析

? 1. 核心概念信號與槽是Qt獨創的一種對象間通信機制&#xff0c;它使得一個對象的狀態變化或事件發生能夠自動通知其他對象作出響應&#xff0c;從而實現高度解耦的代碼設計。1.1 信號&#xff08;Signals&#xff09;定義&#xff1a;信號是由對象在特定事件發生時發出&…

2025年COR SCI2區,基于近似細胞分解的能源高效無人機路徑規劃問題用于地質災害監測,深度解析+性能實測

目錄1.摘要2.問題描述與數學模型3.能源網格混合元啟發式算法4.結果展示5.參考文獻6.代碼獲取7.算法輔導應用定制讀者交流1.摘要 本文提出了一種能源高效的無人機路徑規劃方法&#xff08;EURP&#xff09;用于監測分散的地質災害易發區域&#xff0c;通過建立無人機飛行模式的…

LangChain關于提示詞的幾種寫法

上文中 <---->(可點擊移步查閱),我們已經了解到LangChain如何編寫調用大模型的一個基本框架, 在編寫完這個基本框架后,就要與大模型進行交互了,這時候,就需要我們編寫提示詞了, 那么以下,就會介紹提示詞的幾種編寫方式 1 可攜帶變量的提示詞 1.1 PromptTempla…

CyberPoC 是一個現代化的網絡安全練習和競賽平臺,支持容器化部署的安全挑戰,為用戶提供實踐網絡安全技能的環境。

工具介紹 CyberPoC 是一個現代化的網絡安全練習和競賽平臺&#xff0c;支持容器化部署的安全挑戰&#xff0c;為用戶提供實踐網絡安全技能的環境。 &#x1f680; 快速開始 使用 Docker Compose (推薦) 克隆項目 git clone https://github.com/dushixiang/cyberpoc.gitcd cy…

【單片機day03】

UART串口通用異步收發器&#xff0c;2個串口(1個串口被用于ISP下載程序&#xff0c;1個串口被用于和主機之間的通信)全雙工&#xff08;兩根線TX、RX&#xff09;、串行、異步通信方式&#xff1a;單工&#xff1a;發送方和接收方是固定的&#xff0c;數據只能從發送方 發給 …

react16到react19更新及底層實現是什么以及區別

好問題 &#x1f44d;。React 16 → 19 的更新跨度其實涵蓋了 React 的幾個“時代級”的演進&#xff1a;從 Fiber 架構 的重寫、到 并發特性 的引入&#xff0c;再到 React Server Components 和 現代語法支持。我幫你梳理下主要更新點和底層實現的區別&#xff0c;方便你系統…

【分享】基于百度腦圖,并使用Vue二次開發的用例腦圖編輯器組件

偶然間發現了這個項目&#xff0c;分享出來。 【分享】基于百度腦圖&#xff0c;并使用Vue二次開發的用例腦圖編輯器組件1 項目地址2 項目簡介3 項目部署3.1 安裝node和npm3.2 項目下載3.3 修改npm鏡像源3.4 部署4 項目中使用1 項目地址 基于百度腦圖&#xff0c;并使用Vue二次…

Kotlin中抽象類和開放類

抽象類 (Abstract Class) 定義和特點 抽象類使用 abstract 關鍵字聲明&#xff0c;是一種不能被直接實例化的特殊類&#xff0c;主要用于被其他類繼承。 abstract class Base {open fun f() {} }abstract class Derived : Base() {override abstract fun f() // 抽象成員在類中…