3.硬盘分区
这里如果大家之前没有修改过启动模式和硬盘的话,那么默认应该是UEFI模式,本篇仅限于这个模式讲。
首先查看你的ssd型号,
lsblk
输出像这样 的
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:1 0 488M 0 part /boot
├─nvme0n1p2 259:2 0 22.8G 0 part /opt
├─nvme0n1p3 259:3 0 4.7G 0 part [SWAP]
└─nvme0n1p4 259:4 0 201G 0 part /
记住,你的ssd应该是nvme开头的,不要把U盘(sda之类的)拿来操作了。看大小应该也能分别
嗯,上面这个就是我分好的了。大家可以参考下。
操作前我们先看看这个硬盘的信息,
这里同样以我的设备名字为例,请操作时换成你的设备名
parted /dev/nvme0n1 print
输出:
Model: 未知 (unknown)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 513MB 512MB fat32 EFI 启动, esp
2 513MB 25.0GB 24.5GB ext4 opt
3 25.0GB 30.0GB 5000MB linux-swap(v1) swap
4 30.0GB 246GB 216GB ext4 data
看到Partition Table: gpt就可以放心的进行下一步操作了
我这里是干掉了所有windows的分区和boot,大家在操作之前要谨慎考虑。如果装双系统,请保留windows的efi分区,只格式化标记为 data部分的分区(就是给你最大的那个分区)就好了。
这里我要干掉整个硬盘。
开始操作nvme0n1
parted /dev/nvme0n1
依次删掉这4个分区
rm 4
rm 3
rm 2
rm 1
创建gpt分区
mklabel gpt
创建boot,分给它512M
mkpart ESP fat32 1MB 513MB
这里后面两项是起始大小和结束大小,相减就是你给它分的大小。接着设置为boot
set 1 boot on
下面就开始你自己的分区了,可以参考我的分区方法
mkpart primary ext4 513MB 25.5GB
分了一个约为25G的分区,我给他留给/opt挂载点(顺序很重要哦,后面讲
下面是swap,这个可以开可以不开,我因为开发需要必须给4G以上的swap,不需要请跳过这步,但分区起始位置请不要搞错了
mkpart primary linux-swap 25.5GB 30GB
这里30GB是凑个整

然后其他我就没有细分了,直接给整个root吧(我比较懒,以前直接整个挂root
mkpart primary ext4 30GB 96%
96%指的是整个大小的96%,我之前看过说ssd剩下一部分保留分区不读写能延长ssd寿命,不知道是不是真的,反正用不完这么大的硬盘姑且就不分了,如果你觉得无所谓就直接100%
完成,输入
quit
这就完成了分区表的操作,你可以再执行parted /dev/nvme0n1来看看你分的结果,也方便接下来开始的格式化
从看到的结果,第一个512M的那个就是我们的boot分区,所以
mkfs.fat -F32 /dev/nvme0n1p1
第二个是预留给/opt的,所以
mkfs.ext4 /dev/nvme0n1p2
第三个是swap分区,没有则跳过
mkswap /dev/nvme0n1p3
swapon /dev/nvme0n1p3
最后是root分区
mkfs.ext4 /dev/nvme0n1p4
搞定!
这里说下为什么把比较大的分区留在最后,因为好扩展啊,如果你需要额外的分区,直接从这里分就好了,能够避免分区号乱乱的问题(好吧是我强迫症了