U-NAS eMMC空间不够用,用dd命令实现系统迁移

提醒

本教程是自己在折腾过程中的一些个人经验总结,仅供参考。不足之处也请批评指正。在参考时请结合自己机器的实际情况予以调整,如因操作不当造成的数据丢失,恕不负责,请谅解。

引子

我之前购入的四盘位U-NAS hs401p自带的eMMC为16G,安装完一些应用后,剩余的空间在1G以下,经常担心存储空间被爆无法进入web界面。所以开始考虑能不能把eMMC系统迁移复制到其他媒介,一劳永逸地解决空间不足的问题。这个思路来自于之前折腾arm盒子学到的经验,很多arm盒子的原系统都是写在了自带的eMMC硬盘,而原系统的备份,包括写入系统,基本要借助dd命令。
可能有人会问,为什么还继续用U-NAS系统。我实在不想再折腾了,数据基本定型了,懒得再大费周章地换来换去。

工具

用到的工具:

  • 存储媒介 (无需提前格式化,但如果有重要资料请提前备份好)
  1. 如果主板有m.2硬盘位,可以考虑把系统迁移到一块nvme硬盘上,哪怕是一块几十块钱的128G的固态硬盘都够用了。
  2. 如果不想浪m.2硬盘位,还想让m.2硬盘作为系统缓存或者存储空间,也可以考虑把系统转移到U盘。或者还有一个思路,主板内部还有2个9pin的USB转接口,利用其中1个转接口来转接一个msata硬盘,长时间使用总感觉msata硬盘更可靠(只是个人想法)。虽然是usb2.0接口,但日常使用应该对读写速度要求不会太高。
  • HDMI线 主要用来连接U-NAS和显示设备,用来调整BIOS设置。
  • 键盘 承接前一个工具,主要用来调整BIOS设置。
  • 软件 SSH工具,比如:puTTY、finalshell、MobaXterm等都可以。

步骤(以刷至m.2固态硬盘为例 )

为了确保万无一失,在进行以下操作时,还是把数据硬盘从硬盘笼取出来。

复制系统
  • 确保系统迁移的目标存储媒介已经插在U-NAS上,并正常开机从默认的eMMC启动系统。ps.如果准备写入U盘,在U-NAS开机状态时插入也是OK的。
  • 查看硬盘名称
    用SSH工具连接U-NAS,可以先用lsblk命令查看当前的硬盘设备及对应的名称
lsblk

查看硬盘设备名称.png

现在能看到的就两块:一块自带的eMMC,对应名称是mmcblk0;另一块就是迁移的目标固态硬盘:nvme0n1,而且可以看到我这块固态硬盘下面有7个分区:从nvme0n1p1nvme0n1p7

  • 删除目标存储媒介的分区
  1. 输入以下命令,会进入fdisk工具的操作界面
fdisk /dev/nvme0n1
删除目标存储媒介分区.png
  1. 输入p会显示当前硬盘的具体信息
  2. 下一步输入d(即delete删除的意思),会提示准备删除分区的代号(直接按回车则代表输入的是最大数字的代号),因为我准备把整块固态都作为系统盘,所以在这里把分区全部删除。
  3. 于是依次从7删到1:重复输入d,再接着按回车的动作……
  4. 全部删除后,输入w,这代表准备写入和保存新的分区,也代表将格式化这块固态硬盘。按回车执行。
  • 通过dd命令将eMMC中系统复制到固态硬盘
dd if=/dev/mmcblk0 of=/dev/nvme0n1 bs=4M

注意:if后面跟的是eMMC硬盘的设备名称,of后面跟的是目标固态硬盘的设备名称,不要搞反了

复制的过程会持续一段时间,完成后会有提示


复制完成.png
  • 再用lsblk命令查看硬盘信息
    复制后的硬盘信息.png

    可以看到固态硬盘里现在是分区,两个分区的大小和上面eMMC分区是一模一样的。
    nvme0n1p2(也就是根分区)的大小还是14G,这一部分也是用来安装软件用的空间,目前还差为这块分区的空间进行扩容。
扩容固态硬盘的根分区空间
  • 把固态硬盘剩余空间分配给nvme0n1p2(根分区),依然通过fdisk工具
fdisk /dev/nvme0n1
  • 输入p,查看固态硬盘的具体分区信息,nvme0n1p2是准备进行扩容的分区
    复制完成后的固态硬盘分区信息.png
  • 输入d删除nvme0n1p2

    删除固态硬盘的分区.png

  • 输入n创建新分区,再输入2,确定新分区大小,直接回车的话即即分配剩余所有空间

    创建新分区.png

  • 输入n(即NO)保留原分区的信息

    保留原分区信息.png

  • 输入w写入

  • 写入完成后,再次用fdisk查看完成后的硬盘信息

fdisk /dev/nvmeon1

输入p查看信息,已经不是最开始迁移完成后的14G了

扩展完成后的硬盘信息.png

屏蔽eMMC 从固态硬盘启动系统
  • 这个时候可以关机,准备重新启动U-NAS
    重启前给U-NAS连好显示器和键盘,准备调整BIOS,按开机电源后,狂按键盘的del键,进入BIOS界面。
  • 来到Chipset这一项,选择最后一项
    BIOS chipset.png
  • 选择SCC开头的这一项,禁用eMMC,按F4保存退出
    BIOS SCC configuration.png

    BIOS 禁用 eMMC.png
最后一步,为根分区扩容
  • 前面的操作目前还差最后一步,用btrfs命令扩容
btrfs filesystem resize max /

resize 后也可以把max换成具体的数字比如: +100G

btrfs命令.png

  • 完成后可以重启U-NAS系统,在web管理界面验证一下是否扩容成功。
如果出现系统日志报错

btrfsck --repair /dev/nvme0n1p2

最后

在前面用dd命令复制迁移之前,也可以用dd命令把eMMC中的系统打包出来,留做备份。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容