wsl划分sd卡分区

Posted by 婷 on December 23, 2023 本文总阅读量

简介

rock3a的板子用32GBSD卡作为启动介质,发现只划分了两个分区,剩下大概25GB的空间没有用到。想在wsl把这25GB多划分为一个分区,给利用起来,同时保持原有的两个分区里面的数据,文件系统格式不变。

image-20231211000706015

image-20231211001112944

过程

之前博客的文章已经提到了怎么在wsl上支持usb,这里已经支持上了。我们通过读卡器接到windows,再通过usbip转到wsl上,此时输入lsblk可以看到卡里确实有25GB没有利用起来。

image-20231212234703759

这个利用方法,一种是我可以整张SD卡只划分两个分区,剩下的25GB无损扩大到/dev/sdd2。一种是划分三个分区,第三个分区划分为25GB的大小。

无损扩大第二个分区

列出当前wsl的分区情况

sudo fdisk -l

image-20231212234911095

这里可以看到我们的32GBSD卡的分区情况,文件名字为/dev/sdd

image-20231212234854041

开始用工具调整分区

sudo fdisk /dev/sdd

image-20231212235025577

输入p,列出当前分区

image-20231212235042197

记录下sdd2的起点,这里是1081344

然后输入d,回车,再输入2,回车,那么就删除了2号分区,也就是sdd2

image-20231212235151700

此时可以看一下分区表(输入p,回车),只剩sdd1

image-20231212235213276

接下来输入n,回车,表示要新建分区。

fdisk要求选择是主分区还是扩展分区。这里选择主分区,即输入p,回车。接着输入2,回车,表示创建sdd2。然后输入起始扇区,我们把刚刚记录的1081344填写进去,或者这里也已经帮我们算好默认值了。然后输入结束扇区,可以使用默认值,也就是最后一个扇区。

这里不要把signature去掉,选择n

image-20231213003039172

最后,输入w,回车,把修改后的分区表写入SD卡即可。

image-20231212235525320

然后输入命令修复可能存在的文件系统问题

sudo e2fsck -af /dev/sdd2
sudo resize2fs /dev/sdd2

image-20231213003135134

新建第三个分区

跟前面步骤差不多

image-20231213010015511

image-20231213010028419

最后同样修复下可能存在的文件系统问题,不过这次是针对/dev/sdd3

sudo e2fsck -af /dev/sdd3
sudo resize2fs /dev/sdd3

SD卡启动

用了新建了分区后的SD卡启动rock3a,可以看到这里识别到了第三个分区p3

image-20231213010316799

这里直接挂载会提示错误,因为我们还没把mmcblk1p3格式化为ext4格式(总是会犯这种错误)

image-20231213010433217

格式化为ext4格式

mkfs.ext4 /dev/mmcblk1p3

image-20231213010555421

挂载ext4文件系统

mount -t ext4 /dev/mmcblk1p3 /sd3

image-20231213010621957

如果想要开机自动挂载,就把挂载命令加在/etc/profile文件就好

image-20231223221851237

因为ubuntu通过apt下载的软件包,一般都会放在/var/cache/apt/archives中,为了把软件包放到我们新建的分区,我们直接编辑/etc/apt/apt.conf,(文件可能不存在)改变我们存放的路径

dir::cache::archives /sd3/apt-archives;

image-20231223220355689

其他

在前面的Do you want to remove the signature的时候,一开始选择了Y。然后貌似用卡去启动,出现了些奇奇怪怪的问题,感觉可能损坏了文件系统的分区表?等后续学习文件系统再来看这个问题。

参考链接