# 1. 使用另外一台机器救砖

{% hint style="success" %}
更新日志：

2023.06.18：更改为半虚拟化，简化步骤

2023.09.09：更新原来失效的链接
{% endhint %}

{% hint style="info" %}
适用于：除新加坡以外的区域；需要AMD资源；Arm实例硬盘小于等于 150 GB.
{% endhint %}

{% hint style="warning" %}
注意：如果为多AD区域，两台机器必须在同一可用性域，否则挂载不了！\
如果无法创建同AD的 Amd，则请使用第二种方法！
{% endhint %}

## 1. 创建备用实例 (AMD)

&#x20;     同账号找一个新的实例；如果没有则创建一个免费的 Amd 实例，并 ssh 连接：

<figure><img src="https://200377221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHxeFxEUjxHzQbzhdXYV%2Fuploads%2F2rEy60KpO2C6GPUWHxtp%2Fimage.png?alt=media&#x26;token=e0b6eed5-f0c0-4446-b652-f90128f1abe2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://200377221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHxeFxEUjxHzQbzhdXYV%2Fuploads%2FUyRtpr73psI4ljHf7LiJ%2Fimage.png?alt=media&#x26;token=08f145d9-9c18-41f1-81ee-76380c9a8eb7" alt=""><figcaption><p>连接 SSH</p></figcaption></figure>

## 2. 分离 Arm 实例硬盘

### &#x20;    ① 先停止 Arm 实例：

![](https://200377221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHxeFxEUjxHzQbzhdXYV%2Fuploads%2FXEyVGCZXOD6vRseRF0RR%2Fimage.png?alt=media\&token=dba6920e-0d5b-40a3-8e98-99e7ae5799b4)

### &#x20;    ② 分离引导卷

{% hint style="warning" %}
注意是**停止**不是终止，一会还得挂载回来！别手贱删掉了！
{% endhint %}

<figure><img src="https://200377221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHxeFxEUjxHzQbzhdXYV%2Fuploads%2Fx9Wuxv5JsN2vNROpwy0w%2Fimage.png?alt=media&#x26;token=754d5742-5ed7-43a0-a3f1-c243491d97c6" alt=""><figcaption></figcaption></figure>

## 3. 将 Arm 实例硬盘挂载到 Amd 实例上

① 进入 Amd 实例，点击附加的块存储

<figure><img src="https://200377221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHxeFxEUjxHzQbzhdXYV%2Fuploads%2FQ6AfB81biMxbVYkdGflZ%2Fimage.png?alt=media&#x26;token=db0ca98b-b4cb-40a3-acac-dad369764cc7" alt=""><figcaption></figcaption></figure>

② 选择刚刚分离的 Arm 实例引导卷，类型`半虚拟化`，访问选择`读和写`

<figure><img src="https://200377221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHxeFxEUjxHzQbzhdXYV%2Fuploads%2FRNsMhxbPM1owRqsMeQUu%2Fimage.png?alt=media&#x26;token=b1eafd87-ea0b-4f60-a1cd-20f665aecf8f" alt=""><figcaption></figcaption></figure>

## 4. 开始重置

**注：此系统为原作者简化的 Debian 系统，主要为了快速恢复失联；等待恢复后需要再次 DD**

① 下载镜像

```
sudo -i
cd /root
wget https://static.duckyci.com/image/debian.sdb.gz
```

② 重置系统

```
sudo -i
gzip -dc /root/debian.sdb.gz | dd of=/dev/sdb
```

③ 新打开一个 ssh 窗口

```
sudo -i
watch -n 1 pkill -USR1 ^dd$
```

④ 然后重新回到此窗口，将发现dd正在进行中，一直等待到进度完成，此dd需要复制3.2G数据。

<figure><img src="https://img-1256282866.cos.ap-beijing.myqcloud.com/image-20221228152927672.png" alt=""><figcaption></figcaption></figure>

## 5. 重置结束，分离备用实例附加盘，挂载回失联实例引导盘

<figure><img src="https://img-1256282866.cos.ap-beijing.myqcloud.com/image-20221228163656347.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://img-1256282866.cos.ap-beijing.myqcloud.com/image-20221228163803917.png" alt=""><figcaption></figcaption></figure>

## 6. 再次重置系统&#x20;

使用 root/10086.fit (用户名/密码) 连接上去，再重装系统：如下表示将系统重置为 `ubuntu20.04`系统，账号/密码：`root/DuckyRoBot`

`*我们试验后发现这个系统在大约3天后会故障，就连不上了，因此再 DD 一次更好！`

**注意事项：dd过程一定要耐心等待，不要胡乱操作比如去后台重启，容易失联。耐心等待10-30分钟。**

```bash
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -u 20.04 -v 64 -a -firmware -p DuckyRoBot
```

说明：

* -d: Debian系统 版本可选：【7、8、9、10，11】
* -u: Ubuntu系统 版本可选：【14.04、16.04、18.04、20.04】
* -p: 密码

## 7. 特别感谢

参考：[https://blog.huijia21.com/20221228162742.html](https://blog.huijia21.com/20221228162742.html#%E4%B8%80%E3%80%81DD%E6%9C%AC%E6%9C%BA%E7%B3%BB%E7%BB%9F)
