菜鸟科技网

命令分区步骤是怎样的?

使用命令行进行磁盘分区是Linux系统管理中的基础技能,尤其适用于服务器或无图形界面的环境,以下将以Linux中最常用的fdiskparted工具为例,详细介绍分区的完整流程,包括查看磁盘、创建分区、格式化、挂载及常见问题处理。

命令分区步骤是怎样的?-图1
(图片来源网络,侵删)

分区前的准备工作

  1. 查看磁盘信息
    在分区前,需确认目标磁盘的设备名(如/dev/sdb)及其容量,使用以下命令:

    lsblk          # 查看块设备信息,包括磁盘名称、大小及分区情况
    fdisk -l       # 列出所有磁盘及其分区表类型(MBR/GPT)

    若新插入的硬盘为20GB,在lsblk中显示为sdb且无分区,则可开始操作。

  2. 选择分区工具

    • fdisk:经典工具,支持MBR和GPT分区表,适合小于2TB的磁盘。
    • parted:功能更强大,支持GPT且可处理大容量磁盘,推荐用于新系统。

使用fdisk分区(以MBR为例)

  1. 进入fdisk交互模式

    命令分区步骤是怎样的?-图2
    (图片来源网络,侵删)
    sudo fdisk /dev/sdb
  2. 创建分区

    • 输入n创建新分区,选择分区类型(主分区p或扩展分区e)。
    • 指定分区号(默认从1开始)、起始扇区(直接回车使用默认值)、结束扇区(可输入+5G表示5GB)。
    • 重复操作创建多个分区(如/dev/sdb1/dev/sdb2)。
  3. 设置分区类型(可选)
    若需指定文件系统类型(如Linux交换分区),输入t,选择分区号后输入十六进制类型码(如82表示Swap)。

  4. 保存并退出
    输入w写入分区表,或q放弃更改。

使用parted分区(以GPT为例)

  1. 启动parted并选择磁盘

    命令分区步骤是怎样的?-图3
    (图片来源网络,侵删)
    sudo parted /dev/sdb
  2. 设置分区表类型
    输入mklabel gpt(若需MBR则用mklabel msdos)。

  3. 创建分区

    • 输入mkpart,按提示输入分区名称(如primary)、文件系统类型(如ext4)、起始和结束大小(如1MiB 100%1GiB 5GiB)。
    • 示例:创建一个占满磁盘的ext4分区:
      mkpart primary ext4 1MiB 100%
  4. 查看与调整
    输入print查看分区信息,rm删除分区,quit退出。

格式化与挂载分区

  1. 格式化分区
    根据文件系统类型格式化分区:

    sudo mkfs.ext4 /dev/sdb1    # ext4文件系统
    sudo mkswap /dev/sdb2       # 交换分区
  2. 创建挂载点并挂载

    sudo mkdir /data            # 创建挂载目录
    sudo mount /dev/sdb1 /data  # 临时挂载

    为实现开机自动挂载,需编辑/etc/fstab

    echo "/dev/sdb1 /data ext4 defaults 0 0" | sudo tee -a /etc/fstab

分区操作注意事项

  1. 数据安全:分区操作会清空数据,操作前务必备份重要信息。
  2. 分区对齐:SSD或高级格式化磁盘需确保分区起始扇区对齐(通常为2048的倍数),parted可自动处理。
  3. GPT与MBR:GPT支持最多128个分区且无容量限制,MBR最多4个主分区(3个主分区+1个扩展分区)。

常见分区工具对比

工具 支持分区表 最大分区数 适用场景 交互命令
fdisk MBR/GPT MBR:4 小容量磁盘、传统系统 n/p/d/t/w
parted GPT/MBR GPT:128 大容量磁盘、新系统 mkpart/rm/print

相关问答FAQs

问题1:如何删除已存在的分区?
解答:使用fdisk时,输入d选择要删除的分区号,最后w保存;使用parted时,输入rm [分区号]quit,删除前需确保分区未被挂载且无重要数据。

问题2:分区后为何无法挂载,提示“device or resource busy”?
解答:通常因分区仍被系统占用,可执行sudo umount /dev/sdb1强制卸载(若提示繁忙,尝试sudo umount -l /dev/sdb1),或检查是否有进程占用(fuser -mv /dev/sdb1),若问题持续,可能是文件系统错误,需用fsck修复:sudo fsck /dev/sdb1

分享:
扫描分享到社交APP
上一篇
下一篇