文章目录
前言
一般来说,在将openwrt写入虚拟机的时候,它的默认大小由它的作者大神所编译,比如官方的原版写入后占用的磁盘空间为120.28M,可以说容量非常小。
直接在虚拟机中更改硬盘的大小,最终并非直接在系统中直接增加,仅仅只是未分配状态。
因此,在网上查了很多资料后,大多数都是针对overlay扩容,但是我这个版本根本就没有这个磁盘,谈何扩容。
最终在不懈地努力下,终于找到一个适合我的方法。
注意:此方法仅测试了官方的efi版本的,未测试其他
步骤
1.关机状态下,直接编辑虚拟机的硬盘容量
2.再次打开虚拟机,可以看到,即使调整了容量,并不会直接体现在系统里,仍然只有100M
3.SSH连接openwrt,输入以下命令安装必要软件
opkg update
opkg install block-mount e2fsprogs fdisk blkid vim
4.配置磁盘空间
依次输入以下命令:
-
fdisk -l
可以看到
/dev/sda
变为 2GB 了。 -
fdisk /dev/sda
这边输入
m
可以查看帮助,也可以按照我的来,直接跳过 -
输入
n
(新建分区)出现3个提示,直接回车即可。
-
输入
p
(打印分区信息),可以看到多了一个sda3
的分区 -
输入
w
(写入分区信息并退出) -
输入
mkfs.ext4 /dev/sda3
(格式化分区) 并复制 UUID -
重启
reboot
。
5.配置fstab
分别执行下面的命令:
uci add fstab mount
uci set fstab.@mount[-1].uuid=UUID #UUID改为你上面得到的值
uci set fstab.@mount[-1].options=rw,sync,noatime
uci set fstab.@mount[-1].fstype=ext4
uci set fstab.@mount[-1].enabled_fsck=1
uci set fstab.@mount[-1].enabled=1
uci set fstab.@mount[-1].target=/
uci set fstab.@mount[-1].device=/dev/sda3
uci commit fstab
6.将根目录复制到新的分区下
执行以下命令:
mkdir /mnt/sda3
mount /dev/sda3 /mnt/sda3
mkdir -p /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda3 -xf -
umount /tmp/cproot
umount /mnt/sda3
7.启用引导
/etc/init.d/fstab enable
/etc/init.d/fstab start
8.重启
reboot
进入系统查看分区信息
成功扩容了。
注意点
以上需要自行更改的一个是磁盘挂载的盘符,我这边是 /dev/sda3
,另一个是 UUID
,其他照抄就行。
最后
由于精力有限,只能测试 efi 的版本,其他几个版本均为测试,网上有很多教程都不是针对 efi 的,大家可以自行找一下。
之前也用过大神编译的,画面非常好看,功能也非常多,但是对我来说,我有自己的服务器,有服务器上的个人网盘,也有群晖,也有ddns ipv6动态域名解析做远程访问,所以那些功能对我来说比较多余,所以还是用个官方原版的,自行安装需要的软件。
这篇文章发出来记录一下,大概率根据我的个性,说不定过几天又要重新安装一遍。哈哈哈~