开源软件企业

linux磁盘分区

2024/3/12 17:37:23

使用fdisk命令删除分区

打开终端,并使用root权限登录。

运行fdisk -l命令查看当前磁盘分区情况,确定要删除的分区。

运行fdisk /dev/sda命令(假设要删除的分区位于/dev/sda)。

进入fdisk命令行界面后,通过输入d命令删除分区。根据提示选择要删除的分区号。

使用w命令保存并退出fdisk命令行界面。

新建分区

2)我们用命令 fdisk /dev/sda 进入分区操作,输入 p  ,查看当前分区表,此时没有分区;


3)输入  n  ,新建一个分区;

     再输入  p  ,选择分区类型为主分区(如果想添加扩展分区,就按e);

     然后输入  1  ,选择分区号(这里注意一下,加上扩展分区,主分区只能有四个,所以只能选择1-4,一般按顺序输入分区号);


4)然后会提示输入第一个扇区,这里直接回车默认2048就好;

     接着会让你输入第一个分区的大小,这里是加了200G,输入+200G(不要忘记+号);

     分区大小选择好后,会包含一个签名,询问是否要移除该签名,如果不移除的话,此时的分区格式就是ntfs,这里我们需要ntfs格式的分区,所以不移除,输入 N ;


5)创建之后我们用 p 命令查看一下磁盘分区,可以看到已经有一个sda1分区了;



 Ubuntu 16.04系统,系统盘为240G固态硬盘,还有1T机械硬盘,现要再添加一个4T硬盘。

问题分析:

  使用GTP对硬盘进行分区并挂载硬盘的方法,一般而言服务器上挂载的硬盘都是比较大的,传统的对硬盘进行分区需要在终端敲sudo fdisk进行操作

  但是,当挂载的硬盘的容量大于2T的时候,是无法通过sudo fdisk进行分区的,这个时候必须要进行GPT进行分区,并且设置为开机启动。

    fdisk 分区,硬盘超过2T,只能生成2T分区。

      $ sudo fdisk /dev/sda 

      Device does not contain a recognized partition table.
      The size of this disk is 3.7 TiB (4000787030016 bytes). DOS partition table format can not be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).

      Created a new DOS disklabel with disk identifier 0x721e33d2.

 

解决方法:

1、使用GTP对硬盘进行分区 

终端输入 sudo fdisk -l  查看机器上都插了哪些安装盘,看到/dev/sda,并且没有进行分区且大小为3.7T,是要挂载的硬盘。


$ sudo fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 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: 0xb091dbe9

Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 498116607 498114560 237.5G 83 Linux
/dev/nvme0n1p2 498118654 500117503 1998850 976M 5 Extended
/dev/nvme0n1p5 498118656 500117503 1998848 976M 82 Linux swap / Solaris


Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x2ef87b1f

Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 1126399 1124352 549M 7 HPFS/NTFS/exFAT
/dev/sdb2 1128446 3907028991 3905900546 1.8T 5 Extended
/dev/sdb5 1128448 3874134015 3873005568 1.8T 83 Linux
/dev/sdb6 3874136064 3907028991 32892928 15.7G 82 Linux swap / Solaris

Partition 2 does not start on physical sector boundary.

    然后运行如下命令: 

      sudo parted /dev/sda #进入parted 

      mklabel gpt #将磁盘设置为gpt格式,

      mkpart logical 0 -1 #将磁盘所有的容量设置为GPT格式

      print #查看分区结果

      这个时候应该是默认进行分了一个/dev/sda1这个分区

      然后退出parted,在终端输入 sudo mkfs.ext4 -F /dev/sda1 

         将刚刚分出来的sda1格式化为ext4的格式,然后就可以设置开机自动挂载了。

  2、设置开机自动挂载

   

创建/mnt/sde1目录:

mkdir -p /mnt/sde1

将/dev/sde1分区挂载在/mnt/sde1上:

mount -t ext4 /dev/sde1 /mnt/sde1

将/mnt/sde1挂载写入到系统启动项:

echo /dev/sde1 /mnt/sde1 ext4 defaults 1 2 >> /etc/fstab

 


附录:

  常用相关命令:

lsblk -f 可以查看硬盘UUID
fdisk -l 查看硬盘
mkfs.ext4 /dev/vdb 格式化硬盘
blkid 查看磁盘的UUID