甲骨文单机器用netboot和Cloud Shell重装系统


目录

[TOC]


arm/amd都可以,借助netboot和Cloud Shell,全程25分钟左右

1.准备tftp服务器用于提供efi文件

需要有另外一个公网可以访问的服务器,没有的话就跳到2.开始重装,直接用我现成的

1.1.创建一个工作目录:

mkdir /home/tftp-server
cd /home/tftp-server

1.2.创建Dockerfiledocker-compose.yml

Dockerfile:

# 使用 Alpine 作为基础镜像
FROM alpine:latest

# 设置镜像源为阿里云的 Alpine 镜像源 (可选)
# RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

# 安装 TFTP 服务器和相关工具
RUN apk add --no-cache tftp-hpa wget

# 创建 TFTP 目录并设置权限
RUN mkdir -p /srv/tftp && \
    chmod -R 755 /srv/tftp && \
    addgroup -S tftpd && \
    adduser -s /bin/false -S -D -H -h /data -G tftpd tftpd

# 暴露 TFTP 端口
EXPOSE 69/udp

# 设置 VOLUME
VOLUME ["/srv/tftp"]

# 启动 TFTP 服务
CMD sh -c "rm -rf /srv/tftp/*.efi && \
           wget -O /srv/tftp/amd.efi https://boot.netboot.xyz/ipxe/netboot.xyz.efi && \
           wget -O /srv/tftp/arm.efi https://boot.netboot.xyz/ipxe/netboot.xyz-arm64.efi && \
           chmod 644 /srv/tftp/amd.efi && \
           chmod 644 /srv/tftp/arm.efi && \
           in.tftpd -L -v -s -u tftpd /srv/tftp"

docker-compose.yml:

version: '3.8'

services:
  tftp-server:
    build: .
    container_name: tftp-server
    image: tftp-server:latest
    ports:
      - "69:69/udp"
    volumes:
      - ./tftp-data:/srv/tftp

1.3.构建镜像并启动容器

docker-compose up -d

2.开始重装

登录Cloud Shell

1.png


停止实例

1725952287350.png


停止后点击启动,再点击cloud shell,键盘反复按下ESC直到进入BIOS界面

1725957124951.png

BIOS.png


依次选择Boot Manager--EFI Internal Shell,然后等几秒

1725952801149.png


依次输入如下命令行

FS0:
fconfig -s eth0 dhcp
ifconfig -l eth0

下载efi文件

会用到第1步中的tftp服务器的ip,用这个ip替换下面命令的ip,如果没有做第1步,就用下面这个

arm:

tftp 185.77.225.244 arm.efi

amd:

tftp 185.77.225.244 amd.efi
tftp是udp,丢包可能会比较多,故下载速度也会慢点,耐心等待,我这里用了6分多钟

1725953386215.png

完成后exit返回Boot Manager


这个界面,按ESC再次返回

1725957526257.png


看到这个界面,选择Boot Maintenance Manager并回车

1725953513433.png


选择Boot From File并回车

1725953565437.png


再次回车

1725953610868.png


选择刚才下载的efi文件:

1725953645624.png


选择Linux Network Installs

1725953694679.png


选择需要安装的系统

1725953838927.png

1725953887628.png


选择install

1725953920432.png


我选的ubuntu 24.04会下2301MB的文件,下好以后会看到下图,按TAB将光标移动到Continue in basic mode(富文本模式会有乱码)

1725958360582.png


语言随意(选项中也有简体中文可选)

1725954166967.png


默认就行,然后DONE

1725954222930.png


等跑完以后再次DONE

1725954266923.png


这步是配置代理,不用管,DONE

1725954312208.png


等跑完以后,DONE

1725954366838.png


移动到Set up this disk as an LVM group这行,按空格取消前面的选中状态,然后DONE

66f7cc292461b.png


默认就行,TAB移动到最下面的DONE

1725958448542.png


选择Continue

1725954617306.png


依次输入用户名(随意), 服务器名名字(随意), 密码(随意), 再次确认密码(不能随意),最后DONE

1725954704027.png


Continue

1725954791144.png


Install OpenSSH server打勾,然后DONE

Allow password authentication over SSH暂时先勾上,等后面安装好系统,配置好public key了以后,再去/etc/ssh/sshd_config中改为No

1725954831050.png


全都不要勾选,直接DONE,有需求的话后面再手动安装,他这里是用snap安装的软件

1725958478422.png


等安装和更新系统,最后Reboot Now

1725955011056.png

1725954962271.png


看到这里就算是成功了

1725955508708.png

输入刚才设置的用户名密码即可登录。

关闭cloud shell,用本地的终端登录,ssh [email protected](不能是root,要用刚才设置的普通用户,然后sudo -i再配置root登录)

Last modification:September 28, 2024
V50%看看实力