OpenWrt 新建磁盘分区、删除磁盘分区和挂载磁盘分区
去年买了个 R2S 来当软路由,为了省心,开箱即用,自带了定制化的 OpenWrt 系统,运行还算稳定,没有出现死机、重启等现象,其实我也只是用了它的 OpenClash 功能,其他不用的功能一律被我关闭,所以整个机子的负载一直都处在一个比较低的状态:
这几天在折腾 Emby ,装插件,昨天折腾了半天群晖的 SFTP 权限,死活装不上,所以我打算将 Emby 装到 R2S 上来(不过最后还是没装在这里),反正闲着也是闲着,就在拉 Docker 镜像这一步的时候,就出问题了,提示我磁盘空间不足,于是就有了我后续一系列的折腾,下面开始正题。
###1. 通过终端连接至 OpenWrt 并获取管理员权限
# 每人根据实际情况调整
ssh [email protected]
# 输入密码登录后,先获取管理员权限
sudo -i
2. 查看磁盘使用情况
df -h
可以看到目前以挂载的分区的使用情况,上面挂载在 /data
下的 /dev/mmcblk0p3
就是我昨天新添加的分区。
###3. 查看所有磁盘信息(包括未挂载磁盘)
fdisk -l
可以看到有两个磁盘,上面的不用管,很明显。下面的 /dev/mmcblk0
就是我插的 32G 内存卡。
可以看到现在内存卡有三个分区,从第 2 步的信息来看,mmcblk02
分区被创建了,但并没有被挂载。
4. 创建新的磁盘分区
4.1 进入磁盘
fdisk /dev/sda
输入 m
可以获取帮助。
4.2 添加新分区
输入 n
并回车。
4.3 选择分区类型
输入 p
选择分区类型,也可以直接回车,默认为 p
。
4.4 选择分区号
可选1-4,我已经创建了三个,所以只能选 4,一般默认就好。
4.5 选择起始扇区
这里有个坑,导致我昨天明明有很多的剩余空间,但只能创建出 31M的分区,从第 3 步的磁盘信息中可以看到,我的扇区不是从最开始(2048)进行分配的,而是从 65536 开始的,如果你的的磁盘最前面的扇区没有被分配,那么分区的时候,默认是从 2048 开始的,所以这时候,就需要我手动填写。mmcblk02
的结束扇区是 1703935,所以我昨天创建 mmcblk03
的时候,开始扇区填写的是 1703936。
4.6 选择结束扇区
结束扇区的话,默认会到最后(或者下个分区开始扇区的前一位),如果你不想分配完,那也可以手动指定。
4.7退出磁盘操作
按 w
保存并退出。
fdisk -l
查新查看磁盘信息,会发现刚才创建的分区 mmcblk0p4
已经显示,31M,因为我只剩这么点未分配的空间了。
这是操作的所有步骤
5. 格式化分区
此时刚建好的分区还不能挂载,因为还不知道文件系统的类型,因此需要格式化一下,我将它格式化成了 ext4 格式。
mkfs.ext4 /dev/mmcblk0p4
6. 挂载分区
先在根目录创建一个目录,用于挂载分区
cd /
mkdir data2
然后进行挂载
mount /dev/mmcblk0p4 /data2
可以看到已经被成功挂载了,已经可以正常使用 data2 目录了。权限可以根据用途自行设置。
7. 卸载分区
umount /data2
8. 删除分区
8.1 进入磁盘操作
fdisk /dev/mmcblk0
8.2 查看分区信息
输入 p
回车,查看分区的信息
8.3 删除分区
按 d
删除分区,然后输入要删除的分区编号,回车。
磁盘分区相关的基本操作就这些,结果是,我分好了区,最终还是没顺利把 Emby 跑起来,最后还是在群晖上顺利安装上了插件,只是过程依旧艰辛,下篇文章再讲。