系统环境:Alpine vir 3.18.2 x86_64

安装parted工具

fdisk 命令不支持GPT,parted命令可以交互式初始化硬盘和分区

alpine:~# apk add parted
(1/2) Installing readline (8.2.1-r1)
(2/2) Installing parted (3.6-r1)
Executing busybox-1.36.1-r1.trigger
OK: 466 MiB in 94 packages
alpine:~#

运行交互式模式

进入parted交互式模式,输入help查看交互式命令。

alpine:~# parted
GNU Parted 3.6
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help                                                             
  align-check TYPE N                       check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table) #磁盘类型,GPT等
  mkpart PART-TYPE [FS-TYPE] START END     make a partition #新建分区
  name NUMBER NAME                         name partition NUMBER as NAME #分区命名
  print [devices|free|list,all]            display the partition table, or available devices, or free space, or all found partitions #列出信息
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit #选择设备,硬盘、分区
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  type NUMBER TYPE-ID or TYPE-UUID         type set TYPE-ID or TYPE-UUID of partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted)

列出所有硬盘

假设添加的硬盘为/dev/sdc

(parted) print devices                                                    
/dev/sda (5369MB)
/dev/sdb (53.7GB)
/dev/sdc (10.7GB)
(parted)

选择硬盘

(parted) select /dev/sdc
Using /dev/sdc
(parted)

设置硬盘类型为GPT

(parted) mklabel gpt
(parted)

添加分区

这里全盘设置为一个分区,交互式模式下分别输入分区名,文件系统类型,起始位置和结束位置,起止位可以用容量表示也可以用百分比表示,添加完毕后查看分区号为1,则分区的路径为/dev/sdc1,退出分区工具

(parted) mkpart
Partition name?  []? data
File system type?  [ext2]? ext4
Start? 0%
End? 100%
(parted) print
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 10.7GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  10.7GB  10.7GB               data

(parted)quit

格式化分区

使用mke2fs命令格式化为ext4分区

alpine:~# mke2fs -t ext4 /dev/sdc1
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done                            
Creating filesystem with 2620928 4k blocks and 655360 inodes
Filesystem UUID: 857ac26d-86f7-4b0a-87b6-d1db61c063ed
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

alpine:~#

永久挂载新硬盘

查看分区UUID

alpine:~# blkid
/dev/sdc1: UUID="857ac26d-86f7-4b0a-87b6-d1db61c063ed" TYPE="ext4"
/dev/sdb2: UUID="f7cd3f23-fc5b-49f1-9c7a-20bf89b3a7f9" TYPE="ext4"
/dev/sda3: UUID="9c0abfe7-463b-432d-b5a1-0b96b965c8e4" TYPE="ext4"
/dev/sda2: UUID="efcb0489-c89f-4982-ae28-fdd6fbe3e03f" TYPE="swap"
/dev/sda1: UUID="3A00-9604" TYPE="vfat"
/dev/sdb1: UUID="7138a683-7603-4a69-82c3-1206e30c4efc" TYPE="ext4"
alpine:~#

修改fstab文件,配置分区挂载路径 /opt/programs,programs文件夹应已存在

alpine:~# vi /etc/fstab
UUID=65b4dfed-c3d3-4550-bd21-e8b8e6aa83ac       /       ext4    rw,relatime 0 1
UUID=2677-3F6F  /boot/efi       vfat    rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro 0 2
UUID=28971e08-2233-4696-aac5-f15d3e61e52a       swap    swap    defaults        0 0
UUID=857ac26d-86f7-4b0a-87b6-d1db61c063ed	/opt/programs	ext4	defaults	0 0 #在UUID部分后增加一行记录
/dev/usbdisk    /media/usb      vfat    noauto  0 0
tmpfs   /tmp    tmpfs   nosuid,nodev    0       0
~
~
- /etc/fstab 1/6 16%
:wq #保存退出

也可使用分区路径到文件夹路径的方式添加挂载配置

请注意,UUID部分记录和路径部分记录不能交叉

不能一行UUID记录一行路径记录

刷新挂载 mount -a

alpine:~# mount -a
alpine:~#

查看挂载情况 df -h

alpine:~# df -h
Filesystem                Size      Used Available Use% Mounted on
devtmpfs                 10.0M         0     10.0M   0% /dev
shm                     138.0M         0    138.0M   0% /dev/shm
/dev/sda3                 4.1G      2.7G      1.1G  70% /
tmpfs                    55.2M    584.0K     54.6M   1% /run
/dev/sda1               263.5M    280.0K    263.2M   0% /boot/efi
/dev/sdb1                 9.7G      2.4M      9.2G   0% /opt/cloudreve
tmpfs                   138.0M         0    138.0M   0% /tmp
cgroup_root              10.0M         0     10.0M   0% /sys/fs/cgroup
/dev/sda3                 4.1G      2.7G      1.1G  70% /var/lib/docker
/dev/sdb2                39.1G     53.1M     37.0G   0% /opt/apps
/dev/sdc1                 9.7G      2.0M      9.2G   0% /opt/programs #分区已成功挂载
alpine:~#