甲骨文使用cloudshell救砖

场景

一个号的甲骨文所有机器都被停了,但是这个号我是卡了bug的,硬盘没有删,只能挂载硬盘开机。但是没有引导了,用其他机器挂载dd一个引导不显示,因为机器全死了,因此使用cloudshell(因为cloudshell带了5g的空间) 下载efi来解决这个问题

部署一台tftp服务器

我用的是debian,按照下面操作就行

apt install tftpd-hpa
apt install tftp

默认的配置文件是在 /etc/default/tftpd-hpa

cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

可以看到默认的tftp的文件夹在 /srv/tftp
我自己是懒得改的,只要记住下载的文件到放到这个文件夹里。

然后 systemctl restart tftpd-hpa 重启一下tftp就搭建好了。

下载引导到tftp服务器

我没有改配置文件,默认是在 /srv/tftp 文件夹下。
netbootxyz 的github下载对应的引导:

  • arm的下载netboot.xyz-arm64.efi
  • amd的下载netboot.xyz.efi

甲骨文上的操作

首先进入要修复的主机,点击控制台连接,启动cloudshell

然后慢慢等,等连接上了,点击重新引导,差不多是下面的这个状态

然后在cloudshell处按 esc进入bios。
差不多是这个状态:

首先选择 Boot Manager

然后选择efi internal shell

在下图这个界面,依次输入命令:

FS0:

进入到目录

ifconfig -s eth0 dhcp

设置网口,自动获取网络
这个时候可以ping ip来看看网络是不是通的,记得是ip,不能是域名。

tftp 1.1.1.1 xyz.efi

1.1.1.1 是你tftp服务器的ip
xyz.efi 是服务器上的efi文件
这个命令就是去下载efi文件

下载完成后,重新引导实例,重新进入到bios
这个时候选择Boot Maintenance Manager

选择boot from file

然后选择volume,回车

这个时候可以看到下载的efi文件了,使用个文件安装系统就行


就正常安装系统就好了