硬盘里有一台很古早的 VBox 虚拟机,大概还是20年初疫情刚开始的时候甚至更早。
自从在 Homelab 用 VMware 整了个黑群晖后,就很少切到 VBox 的宿主来滚他,上次滚动更新大概还是一年多。
最近,Winbug 魔改太多用着越来越卡逼了,Macbook 又是 arm 架构有些服务跑不动,感觉还是 Linux 用起来更舒服些,就打算把他迁移到 PVE 里用。
救砖
先滚一下,不出所料,一滚就挂。囧。。。滚到一半硬盘直接卡死了
然后 pacman 就各种包冲突,依赖报错,文件系统损坏。。。
那就去 liveCD 里抢救一下吧!
挂载分区,chroot
lsblk
mount /dev/sda2 /mnt
mount /dav/sda1 /mnt/boot/efi
manjaro-chroot /mnt /bin/bash
先换个快点的mirror(全加拿大就仨,,,怀念国内各大高校和云的镜像站)
pacman-mirrors -i -c Canada -m rank
然后把损坏的文件给清理一下
fsck -f /dev/sda2
s/^.*(?=:/usr)//g
s/:/.*$//g
grep -vE '(/[^/ ]*)+/?' tod.txt > tod_cleaned.txt
while IFS= read -r file; do
rm -f "$file"
done < tod.txt
接着,直接强制重装所有包
sudo pacman -Qqn | sudo pacman -S --overwrite \* -
尴尬了,虚拟磁盘空间不足
sudo pacman -S ncdu
sudo pacman -Sc
sudo pacman -Scc
sudo pacman -S pacman-contrib
sudo paccache -rk1
mkinitcpio -P
迁移