去年腾讯云搞活动的时候买了三年北京的轻量应用服务器,今年五月份ude所在的服务器就到期了,所以抓紧时间进行了迁移。
遇到的第一个问题是 我们已经受够了Ubuntu_Server上的种种问题,并且出于信仰,打算在在服务器上安装Archlinux (Arch is the best),但腾讯云并没有提供安装Archlinux的功能,镜像,快照等功能也没有相关镜像。
为了在腾讯云的轻量应用服务器上安装Archlinux,首先我在原有的Ubuntu上修改grub2的配置文件,使用(loop)功能引导archlinux的liveiso。一开始一切正常,当我分完区,格式化分区时,报错了,当时没注意,再往后mount的时候发现mount不上。这时候我才知道原来loop引导并没把liveiso的内容加载进内存(
然后就开始发愁怎么办,不分区的话,swap就只能用swapfile了,因为服务器上的硬盘速度更像是hdd(存疑),如果是hdd的话,那更靠近硬盘0扇区的扇区速度会更快。
”因为用loop的时候不能改分区,那我加载到内存就可以了吧“,我这么想着,然后安装了syslinux和image-boot,企图在grub2把镜像加载到内存再启动,然而这种方法也失败了,在live系统启动的时候挂载不到iso所在的存储设备,iso会尝试去/dev/disk/by-lable/arch_xxx寻找设备,但实际设备在/dev/memdisk,手动挂载/dev/memdisk到目标位置后系统内核会崩溃,搞了一两天也没搞出名堂,最后还是放弃了。
这时候又想到之前给U盘弄多iso引导的工具(Ventoy 新一代多系统启动U盘解决方案 - mxr123's blog (zhzi233.cn)),去官网下了个iso,然后用memdisk引导进去,把整个硬盘格了装ventoy,然后用wget把文件下载进了/mnt/vda2,下载完重启后发现,根本就没下载进去。这下好了,还要先通过腾讯云安装个能改文件的系统,这次发现那个/mnt/vda2根本都没mount,手动mount /dev/vda2 /mnt/vda2后把liveiso下载进去后umount再重启就在ventoy节目看到iso了,然后直接boot进去发现和我用loop的情况一样,按F1用memdisk模式boot也和我手动用memdisk的情况一样,折腾了一天相当于白折腾(((
这时候认输了,老老实实不分区了,而且上面折腾的期间安装过一次winserver系统,硬盘测了下速,发现情况和我想得不一样,好像硬盘中所有位置都一个速度,但速度又是hdd的速度标准。写博客的时候才想到应该是腾讯云那边用的是Raid阵列,速度差异可能就没有了。
但我也不知道怎么想的,最后一次折腾装了个debian进行grub2的文件编辑之类的,几乎一切都弄完了(安装grub的时候)发现腾讯云的debian镜像的分区 没有 1M分区(用于grub bios引导),保留签名进行分区,再完成剩余操作后,重启。fsck失败,逻辑分区大小超过物理硬盘大小。只好又安装腾讯云的ubuntu镜像再安装了一遍。
参考文章:腾讯云安装 Arch Linux 过程记录 - 知乎 (zhihu.com)
顺便吐槽一句,腾讯云的监控程序真厉害,我在liveiso的时候都能看见监控程序在运行,也不知道是具体怎么搞出这种操作的。反正我是不敢在腾讯云的任何界面输入系统里的密码了x
文章评论
今天发现了个脚本可以无脑在vps上安装archlinux,爱了
脚本链接:https://github.com/felixonmars/vps2arch