先进入恢复模式Rescue Mode, 正常系统模式可能DD不成功.
*先进入恢复模式Rescue Mode, 正常系统模式可能DD不成功.*
***先进入恢复模式Rescue Mode, 正常系统模式可能DD不成功.***
登录恢复模式 先更新系统和安装必要的组件
apt update apt install wget unzip
下载RouterOS的CHR镜像
代码:
wget https://download.mikrotik.com/routeros/7.15.2/chr-7.15.2.img.zip
说明,最新的下载地址请参考 https://mikrotik.com/download 需要下载 Cloud Hosted Router类别下的 Raw disk image
解压镜像
unzip chr-7.15.2.img.zip
把chr-7.15.2.img.zip文件名改为为chr.img
mv chr-7.15.2.img chr.img
查看镜像的Start值
fdisk -lu chr.img
注意Start值, 那么下面代码中的offset值乘以512. 如如果是2, 那么offset=1024 RouterOS v6.x 的Start值为1 RouterOS v7.x 的Start值为34
挂载镜像 RouterOS 7.x
mount -o loop,offset=17408 chr.img /mnt
RouterOS 6.x
mount -o loop,offset=512 chr.img /mnt
获取IP信息和设置变量
ADDR0=
ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1
GATE0=
ip route list | grep default | cut -d' ' -f 3
注意,这里的网卡名称是eth0, 如果不是eth0, 那么根据自己的VPS网卡信息更改。例如我的是ens3:
ADDR0=`ip addr show ens3 | grep global | cut -d' ' -f 6 | head -n 1`
查询方法, ifconfig, 看看这个网卡名称:
ifconfig
创建目录
mkdir -p /mnt/rw
设置routeros开机的时候自动设置网络信息
echo "/ip address add address=$ADDR0 interface=[/interface ethernet find where name=ether1] /ip route add gateway=$GATE0 " > /mnt/rw/autorun.scr
验证设置信息
cat /mnt/rw/autorun.scr
卸载镜像
umount /mnt
设置文件系统为只读
echo u > /proc/sysrq-trigger
查看硬盘路径
fdisk -lu
以本次操作为例, 我的VPS硬盘路径是 /dev/sda
DD RouterOS系统镜像
dd if=chr.img bs=1024 of=/dev/sda && reboot
如果硬盘路径不同,请根据自己的情况修改.
有些机器不会自动重启, 那么运行
echo "b" > /proc/sysrq-trigger
代码:
教程参考
https://www.youtube.com/watch?v=auHPmQ3ile0