云服务器重装纯净系统无外乎几种办法,尝试了前两种后都无法实现,因此研究了一下如何使用 dd 的方式安装纯净操作系统:
- netboot.xyz 网络引导安装,Oracle Cloud 给的内存太小无法正常启动
- 挂载另一块硬盘,将 iso 放到另一块硬盘,并从其引导启动安装程序,Oracle Cloud 硬盘使用半虚拟化技术,引导阶段似乎无法认到第二块硬盘
- 预先制作镜像,dd 到系统盘
netboot.xyz 安装
- 从
netboot.xyz
下载 ARM64 的 EFI 文件到 /boot/efi
- 控制台连接 -> 创建本地连接 -> 通过 VNC 连上
- 重启,狂按
F2
Boot Maintenance Manager
Boot From File
- 默认第一个盘
EFI
- netboot.xyz-arm64.efi
- Linux Network Installs (arm64)
- RockyLinux9 实测选择图形化安装成功
制作 DD 镜像
- 用虚拟机装一个目标版本系统,虚拟机要设置为 UEFI 启动,硬盘大小要比服务器小
- 添加 virtio 驱动:编辑
/etc/dracut.conf
文件,新增
1
|
add_drivers+="virtio_scsi"
|
- 更新 dracut 配置:
dracut -f
- 关机,用一个 Live CD 引导,制作 dd 镜像,据说使用 VirtualBox 的话,可以直接压缩硬盘文件
1
|
dd if=/dev/sda | gzip > sda.img.gz
|
- 新开一台服务器,把原来的系统盘挂载过来,并把 dd 镜像传到该服务器
- dd 命令恢复镜像,这个命令会很久,因为 Oracle Cloud 限制了硬盘的读写速度,建议开一个 screen 窗口防止掉线
1
|
gzip -dc sda.img.gz | dd of=/dev/sda
|
- 分离系统盘,挂载回原服务器,开机
- 若没有成功开机,开个 VNC 上去看下问题出在哪
- 扩展最后一个分区的大小,这里最后一个分区是第 4 个
1
|
parted resizepart 4 100%
|
- 扩展文件系统大小
1 2 3 4
|
xfs_growfs /dev/sda4
resize2fs -p /dev/sda4
|
预览: