Linux如何删除分区?

在Linux系统中删除分区是一项需要谨慎操作的任务,因为分区删除会导致该分区内的所有数据永久丢失,若操作不当还可能损坏整个磁盘分区表,影响系统或其他数据的正常使用,本文将详细介绍Linux系统中删除分区的完整流程、常用工具及注意事项,帮助用户安全、准确地完成分区删除操作。

linux 如何删除分区

删除分区的准备工作

在执行分区删除操作前,必须完成以下准备工作,以降低数据丢失和系统风险:

  1. 备份重要数据:删除分区会清空该分区内的所有文件,若分区中有重要数据,需提前通过rsynctar等工具备份到其他磁盘或存储设备,使用rsync -av /path/to/partition/ /path/to/backup/备份整个分区数据。
  2. 确认目标分区:通过lsblkfdisk -l命令查看当前系统的磁盘及分区信息,明确要删除的分区名称(如/dev/sdb1/dev/nvme0n1p2等),避免误删其他分区。
    sudo lsblk -f  # 查看磁盘、分区及其文件系统
    sudo fdisk -l  # 查看详细的分区表信息
  3. 卸载目标分区:若目标分区已挂载(如通过mount命令查看),需先卸载,若分区正在使用(如系统根分区或活跃的swap分区),需进入恢复模式或使用Live USB启动系统后再操作。
    sudo umount /dev/sdb1  # 卸载分区
    # 若提示“device is busy”,可强制卸载(谨慎使用):
    sudo umount -l /dev/sdb1

常用分区删除工具及操作步骤

Linux系统提供了多种分区管理工具,如fdisk(适用于MBR分区表)、parted(支持MBR和GPT分区表)、gdisk(适用于GPT分区表)等,用户可根据分区表类型选择合适的工具。

使用fdisk删除MBR分区表中的分区

fdisk是Linux中最经典的分区工具,适用于MBR(主引导记录)分区表,操作简单直观。

操作步骤

  1. 启动fdisk并指定目标磁盘(如/dev/sdb):
    sudo fdisk /dev/sdb
  2. 查看当前分区表:输入p(print),列出磁盘的分区信息,确认要删除的分区号(如/dev/sdb1对应分区号1)。
  3. 删除分区:输入d(delete),然后输入要删除的分区号(如1),系统会提示“Partition 1 has been deleted”。
  4. 保存并退出:输入w(write),将修改写入分区表;若不保存,输入q(quit)退出。

示例输出

Command (m for help): p
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x12345678
Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 20971519 20969472  10G 83 Linux
Command (m for help): d
Partition number (1-1, default 1): 1
Partition 1 has been deleted.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

使用parted删除MBR或GPT分区表中的分区

parted是一款功能强大的分区工具,支持MBR和GPT分区表,操作更灵活,适合处理复杂分区场景。

linux 如何删除分区

操作步骤

  1. 启动parted并指定目标磁盘(如/dev/sdc):
    sudo parted /dev/sdc
  2. 查看分区表:输入print,列出分区信息,确认要删除的分区名称(如/dev/sdc1对应1)。
  3. 删除分区:输入rm 分区号(如rm 1),系统会提示“Partition 1 deleted”。
  4. 退出:输入quit,自动保存修改。

示例输出(GPT分区表)

GNU Parted 3.4
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA SanDisk Ultra II (scsi)
Disk /dev/sdc: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name  Flags
 1      1049kB  106MB   105MB   fat32               boot, esp
 2      106MB   500GB   500GB   ext4
(parted) rm 1
(parted) print
Model: ATA SanDisk Ultra II (scsi)
Disk /dev/sdc: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name  Flags
 2      106MB   500GB   500GB   ext4
(parted) quit
Information: You may need to update /etc/fstab.

使用gdisk删除GPT分区表中的分区

gdisk是专门为GPT(GUID分区表)设计的工具,操作逻辑与fdisk类似,但更适合UEFI系统及大容量磁盘。

操作步骤

  1. 启动gdisk并指定目标磁盘(如/dev/sdd):
    sudo gdisk /dev/sdd
  2. 查看分区表:输入p(print),列出分区信息,确认要删除的分区号。
  3. 删除分区:输入d(delete),然后输入分区号,系统提示“Partition number deleted”。
  4. 保存并退出:输入w(write),若提示“Do you want to proceed? (Y/N)”,输入Y确认。

示例输出

GPT fdisk (gdisk) version 1.0.4
Partition table scan:
 MBR: not present
 GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sdd: 1000GB, 1000204886016 bytes, 1953164808 sectors
Disk model: WDC WD10EZEX
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 12345678-1234-5678-9012-123456789ABC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953164774
Partitions will be aligned on 2048-sector boundaries
Total free space is 2097152 sectors (1024.0 MiB)
Number  Start (sector)    End (sector)  Size     Code  Name
   1            2048       2097151   1024.0MiB  EF00  EFI System
   2       2097152      1953164774   931.5GiB  8300  Linux filesystem
Command (? for help): d
Partition number (1-2): 1
Partition 1 deleted.
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdd.
The operation has completed successfully.

分区删除后的验证与处理

删除分区后,需通过以下步骤验证操作是否成功,并根据需求进行后续处理:

linux 如何删除分区

  1. 检查分区是否存在:使用lsblkfdisk -l查看目标磁盘,确认删除的分区已从列表中消失。
    sudo lsblk /dev/sdb  # 查看/dev/sdb的分区情况
  2. 更新文件系统表(可选):若删除的分区曾挂载到/etc/fstab中,需编辑/etc/fstab文件,删除对应的挂载条目,避免系统启动时报错。
    sudo nano /etc/fstab  # 注释或删除包含已删除分区的行
  3. 创建新分区(可选):若需要重新利用释放的空间,可通过fdiskparted等工具创建新分区并格式化。

常用分区工具对比

为方便用户选择工具,以下是fdiskpartedgdisk的对比:

工具名称 适用分区表 特点 常用命令
fdisk MBR 简单易用,适合传统BIOS系统;不支持GPT分区表 p(查看)、d(删除)、w(保存)
parted MBR、GPT 支持多种分区表,可调整分区大小,适合复杂场景 print(查看)、rm(删除)、quit(退出)
gdisk GPT 专为GPT设计,支持大容量磁盘和UEFI系统 p(查看)、d(删除)、w(保存)

注意事项

  1. 数据备份优先:删除分区不可逆,务必提前备份重要数据,避免数据丢失。
  2. 确认目标磁盘:操作时务必指定正确的磁盘设备(如/dev/sdb而非/dev/sda),防止误删系统所在磁盘。
  3. 谨慎操作系统分区:不要删除系统正在使用的分区(如根分区、/bootswap),否则可能导致系统无法启动。
  4. 避免强制卸载:若分区无法卸载,优先排查占用进程(如fuser -km /dev/sdb1),而非直接强制卸载,可能导致数据损坏。
  5. 分区表损坏处理:若删除分区后系统无法识别磁盘,可尝试使用testdisk等工具修复分区表,但成功率较低,建议提前备份分区表(sudo dd if=/dev/sda of=sda_mbr bs=512 count=1)。

相关问答FAQs

Q1:删除分区后,数据是否可以恢复?
A:若删除分区后未对磁盘进行写入操作(如格式化、创建新分区),可通过数据恢复工具(如testdiskPhotoRec)尝试恢复数据,但恢复成功率取决于数据是否被覆盖,因此建议提前备份数据。

Q2:删除分区时提示“Device or resource busy”,如何解决?
A:该错误表示目标分区正在被使用(如进程挂载、系统文件访问),可尝试以下方法解决:

  1. 使用fuser -km /dev/sdb1强制关闭占用进程(-k为强制终止,-m为指定设备);
  2. 若为系统关键分区(如/home),需重启系统进入恢复模式后再操作;
  3. 检查是否有虚拟机或容器挂载了该分区,关闭后重试。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32061.html

(0)
酷番叔酷番叔
上一篇 2025年9月28日 23:34
下一篇 2025年9月28日 23:51

相关推荐

  • Linux平台如何启动Xmanager?

    在Linux平台环境中,若要通过Xmanager实现远程图形界面的访问与启动,需明确Xmanager的核心作用——它作为Windows平台下的X服务器软件,能够接收并显示Linux终端运行的图形化程序,“Linux平台启动Xmanager”的本质是配置Linux端的X显示管理器(XDM)支持XDMCP协议,并确……

    2025年9月9日
    2800
  • 关机状态真的断电了吗?

    关机状态指电子设备完全切断电源,所有运行中的程序和数据从内存中清除,处理器停止工作,设备处于无电力消耗的非待机模式。

    2025年6月24日
    6400
  • 如何给手机安装Linux系统?操作步骤及注意事项有哪些?

    在智能手机上安装Linux系统能带来高度定制化的开发环境、开源工具支持以及隐私保护等优势,尤其适合开发者和技术爱好者,根据手机型号、用户需求及技术水平,可选择不同的安装方式,以下是详细步骤及注意事项,轻量级Linux环境:Termux+proot(无需root,适合日常开发)Termux是安卓下的终端模拟器,通……

    2025年9月16日
    2200
  • 如何快速获取Linux系统root权限?

    标准安全方式:使用 sudo 命令(推荐)适用场景:日常管理任务(90%以上场景)前提:您的普通用户账户已被加入 sudoers 授权列表(Ubuntu等发行版默认开启)操作步骤:打开终端(Ctrl+Alt+T 或通过菜单启动)在需要root权限的命令前添加 sudo, sudo apt update # 更新……

    2025年6月26日
    4300
  • Linux中如何添加GC日志配置与查看?

    在Linux系统中,为Java应用添加垃圾回收(GC)日志是监控JVM内存管理、排查性能问题的重要手段,GC日志详细记录了GC的发生时间、停顿时长、回收内存大小等关键信息,有助于开发者优化JVM参数、定位内存泄漏或频繁Full GC等问题,以下从基础参数、不同GC类型配置、日志管理及分析工具等方面,详细说明Li……

    2025年10月8日
    1000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信