fdisk 是传统的 Linux 磁盘分区工具,磁盘容量有2T的大小限制;gdisk 又叫 GPT fdisk, 作为 fdisk 的升级版,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘,本文介绍使用方法。
fdisk
工具分区,fdisk只能用于MBR分区,最大限制磁盘容量 2T;gdisk
又叫 GPT fdisk,是fdisk
的升级版,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘。将磁盘划分为若干个区块操作为磁盘分区,在各个操作系统中都有类似的内容,分区会为硬盘管理带来一些好处:
# Debian
sudo apt install gdisk
# Redhat
yum install gdisk -y
sudo gdisk [device]
例如:
$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.5
Problem opening /dev/sda for reading! Error is 13.
You must run this program as root or use sudo!
vvd@vvd-desktop:~$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.5
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help):
lsblk
命令?
查询帮助文档Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
命令 | 含义 |
---|---|
b | 将GPT数据备份到一个文件 |
c | 更改分区名称 |
d | 删除一个分区 |
i | 显示分区详细信息 |
l | 列出已知分区类型。此处8200是Linux swap,8300是Linux filesystem(对应fdisk的82和83)。还有一个8e00是Linux LVM |
n | 增加一个新的分区 |
o | 创建一个新的空白的GPT分区表 |
p | 显示当前磁盘的分区表 |
q | 退出gdisk程序,不保存任何修改 |
r | 恢复和转换选项(仅限专家) |
s | 排序分区 |
t | 改变分区的类型 |
v | 验证磁盘分区表 |
w | 将分区表写入裁判并退出(保存并退出) |
x | 额外功能(仅限专家) |
? | 显示帮助信息 |
磁盘编辑状态下,使用命令 l
Command (? for help): l
Type search string, or <Enter> to show all codes:
0700 Microsoft basic data 0c01 Microsoft reserved
2700 Windows RE 3000 ONIE boot
3001 ONIE config 3900 Plan 9
4100 PowerPC PReP boot 4200 Windows LDM data
4201 Windows LDM metadata 4202 Windows Storage Spaces
7501 IBM GPFS 7f00 ChromeOS kernel
7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8300 Linux filesystem
8301 Linux reserved 8302 Linux /home
8303 Linux x86 root (/) 8304 Linux x86-64 root (/)
8305 Linux ARM64 root (/) 8306 Linux /srv
8307 Linux ARM32 root (/) 8308 Linux dm-crypt
8309 Linux LUKS 830a Linux IA-64 root (/)
830b Linux x86 root verity 830c Linux x86-64 root verity
830d Linux ARM32 root verity 830e Linux ARM64 root verity
830f Linux IA-64 root verity 8310 Linux /var
8311 Linux /var/tmp 8400 Intel Rapid Start
8500 Container Linux /usr 8501 Container Linux resizable rootfs
8502 Container Linux /OEM customization 8503 Container Linux root on RAID
8e00 Linux LVM a000 Android bootloader
a001 Android bootloader 2 a002 Android boot 1
类型特别多,还有好几页,这里就不列出了 默认类型 8300
n
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-11721045134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-11721045134, default = 11721045134) or {+-}size{KMGTP}: +500G
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
+500G
表明当前分区大小 500 G,可以使用的单位为 K\M\G(T是不能用的),如果不填或填错会默认使用所有剩余空间p
可以查看当前正在编辑的分区表
Command (? for help): p
Disk /dev/sda: 11721045168 sectors, 5.5 TiB
Model: ST6000NM0115-2R7
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): DA785A85-79D2-4AD1-911E-F169800B803A
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 11721045134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1048578047 500.0 GiB 8300 Linux filesystem
2 1048578048 3145730047 1000.0 GiB 8300 Linux filesystem
3 3145730048 6291458047 1.5 TiB 8300 Linux filesystem
4 6291458048 11721045134 2.5 TiB 8300 Linux filesystem
这里我们生成了4个分区表
d
Command (? for help): d
Partition number (1-4): 4
Command (? for help): p
Disk /dev/sda: 11721045168 sectors, 5.5 TiB
Model: ST6000NM0115-2R7
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): DA785A85-79D2-4AD1-911E-F169800B803A
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 11721045134
Partitions will be aligned on 2048-sector boundaries
Total free space is 5429589101 sectors (2.5 TiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1048578047 500.0 GiB 8300 Linux filesystem
2 1048578048 3145730047 1000.0 GiB 8300 Linux filesystem
3 3145730048 6291458047 1.5 TiB 8300 Linux filesystem
c
Command (? for help): c
Partition number (1-4): 4
Enter name: DATA_I_XL
Command (? for help): p
Disk /dev/sda: 11721045168 sectors, 5.5 TiB
Model: ST6000NM0115-2R7
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): DA785A85-79D2-4AD1-911E-F169800B803A
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 11721045134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1048578047 500.0 GiB 8300 DATA_I_S
2 1048578048 3145730047 1000.0 GiB 8300 DATA_I_M
3 3145730048 6291458047 1.5 TiB 8300 DATA_I_L
4 6291458048 11721045134 2.5 TiB 8300 DATA_I_XL
q
表示不保存本次修改的分区表,退出编辑状态w
表示保存本次分区表编辑情况,退出编辑状态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/sda.
The operation has completed successfully.
lsblk
命令查看 /dev/sda
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 5.5T 0 disk
├─sda1 8:1 0 500G 0 part
├─sda2 8:2 0 1000G 0 part
├─sda3 8:3 0 1.5T 0 part
└─sda4 8:4 0 2.5T 0 part
sdb 8:16 0 5.5T 0 disk
可以看到我们分的四个分区保存了下来,至此我们磁盘分区已经完成
之后对磁盘进行格式化. 挂载即可正常使用。
mkfs.<file_system> <device>
在命令行 mkfs.
下按 TAB 可以看到相关命令
$ mkfs.
mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat mkfs.xfs
示例:为 /dev/sda1
分区配置 XFS 文件系统:
sudo mkfs.xfs /dev/sda1
Ubuntu 可以在图形界面的磁盘管理看到修改内容
blkid -p <device>
命令查看分区详细信息
fdisk /dev/sda
/ gdisk /dev/sda
mkfs.xfs /dev/sda1
mount /dev/sda1 /opt
df -h