最近租了一个无IPMI的OVH服务器,型号是SYS-LE-1。因为想用UEFI启动并分离boot分区,而OVH的Debian镜像并没显示efi分区,所以决定使用 netboot.xyz 的方式进行安装新系统。
首先要启动到救援模式下,之后进去之后记得查看一下救援系统的版本!!一定要64bit的版本。
之后 apt update
升级一下系统。如果能够正常使用的话,可以继续进行。如果提示404,可能是因为救援系统太老了(比如你选择了 rescue64-pro
),记得替换一下apt的sourcelist,可以直接用 http://archive.debian.org/debian-archive/
安装需要的东西
apt-get install ovmf qemu qemu-kvm
下载 netboot.xyz 的 iso 文件
wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso
启动虚拟机:
qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -enable-kvm -nodefaults -cdrom /root/netboot.xyz.iso -hda /dev/sda -hdb /dev/sdb -cpu host -smp 8 -m 16G -net nic -net user -vga std -vnc 0.0.0.0:0 -usbdevice tablet -k en-us
使用VNC连接服务器,就可以看到虚拟机正常启动了。在虚拟机中按照普通的方式安装系统即可。
之后!!一定要记得!!!更改IP地址到给你分配的!!!
两种选项,第一种直接还用这个虚拟机进行修改,另一种是利用rescue
模式挂载硬盘(甚至可以chroot)进行修改
不过因为系统版本不同,可能会有不同的网卡命名方式(如eth ens enp3s0f0 这种)。这里建议先创建一个udev rule来保证网卡名称。
整体文件内容:
/etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="你的网卡MAC", NAME="eth0"
/etc/network/interfaces
auto eth0
iface eth0 inet static
address 你的IP地址
netmask 255.255.255.0
gateway 你的网关
/etc/resolv.conf
nameserver 1.1.1.1
nameserver 8.8.8.8
当然,你也可以chroot之后使用下面的命令进行执行【注意!!!只能在救援模式下使用!!!用qemu的情况识别到的都是虚拟机的内容】:
# 注意,一定在重启之前查看是否是正确的输出!!!
echo "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\""$(ip addr show dev eth0 | awk '$1 == "link/ether" {print $2}')"\", NAME=\"eth0\"" > /etc/udev/rules.d/70-persistent-net.rules
cat /etc/udev/rules.d/70-persistent-net.rules
cat > /etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address $(ip addr show dev eth0 | awk '$1 == "inet" {print $2}' | cut -f1 -d/)
netmask 255.255.255.0
gateway $(ip route | awk '/^default via/ {print $3}')
EOF
cat /etc/network/interfaces
cat > /etc/resolv.conf <<EOF
nameserver 1.1.1.1
nameserver 8.8.8.8
EOF
cat /etc/resolv.conf
以上内容只能作为参考。在执行这样的操作前一定一定一定要知道自己在做什么、这里的步骤都在做什么,自己的设备应该是什么样的!!!!!!!!!!!
参考: https://rinaldojonathan.com/en/cara-buat-virtual-kvm-di-server-ovh-kimsufi-soyoustart/
博客本文连接:https://www.yao.moe/tech/netboot-xyz_without_ipmi/