甲骨文单机器用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.创建Dockerfile
和docker-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
停止实例
停止后点击启动
,再点击cloud shell
,键盘反复按下ESC
直到进入BIOS界面
依次选择Boot Manager
--EFI Internal Shell
,然后等几秒
依次输入如下命令行
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分多钟
完成后exit
返回Boot Manager
这个界面,按ESC
再次返回
看到这个界面,选择Boot Maintenance Manager
并回车
选择Boot From File
并回车
再次回车
选择刚才下载的efi
文件:
选择Linux Network Installs
选择需要安装的系统
选择install
我选的ubuntu 24.04会下2301MB
的文件,下好以后会看到下图,按TAB
将光标移动到Continue in basic mode
(富文本模式会有乱码)
语言随意(选项中也有简体中文可选)
默认就行,然后DONE
等跑完以后再次DONE
这步是配置代理,不用管,DONE
等跑完以后,DONE
移动到Set up this disk as an LVM group
这行,按空格
取消前面的选中状态
,然后DONE
默认就行,TAB
移动到最下面的DONE
选择Continue
依次输入用户名
(随意), 服务器名名字
(随意), 密码
(随意), 再次确认密码
(不能随意),最后DONE
Continue
Install OpenSSH server
打勾,然后DONE
Allow password authentication over SSH
暂时先勾上,等后面安装好系统,配置好public key了以后,再去/etc/ssh/sshd_config
中改为No
全都不要勾选,直接DONE
,有需求的话后面再手动安装,他这里是用snap安装的软件
等安装和更新系统,最后Reboot Now
看到这里就算是成功了
输入刚才设置的用户名密码即可登录。
关闭cloud shell,用本地的终端登录,ssh [email protected]
(不能是root,要用刚才设置的普通用户,然后sudo -i
再配置root登录)