通常 pve
安装出来的是 lvm
作为兼容层 上面再是具体的文件系统
可是吧 单硬盘 我用不到
是的 我不喜欢这种分区方案
可是 这是 linux
啊 那不都是通用的
开搞
备份 再恢复 就行
先采用官方正常的安装流程 装完后进入 livecd
推荐 archlinux
的
先挂载系统分区
是 lvm
格式的
先 使用 lvscan
罗列出来
1 | root@pve:/tmp# lvscan |
再直接挂载就行
1 | mount /dev/mapper/pve--OLD--A39EDD75-root olda/ |
是 btrfs
格式的
直接挂载分区就行 默认安装的是不带子卷的
1 | mount /dev/nvme0n1p3 olda/ |
备份文件
使用 rsync
1 | rsync -qaHAXS olda/ /tmp/bak/ |
重新分区
1 | cfdisk /dev/nvme0n1 |
分两个
1 | Device Start End Sectors Size Type |
再格式化下
1 | mkfs.fat -n EFI -F32 /dev/nvme0n1p1 |
创建子卷
1 | mount /dev/nvme0n1p2 /tmp/newbtrfs |
大概有这些子卷
1 | root@pve:/tmp/newbtrfs# tree -L 1 |
挂载新分区
1 | mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1p2 /tmp/newpve |
恢复备份
1 | rsync -qaHAXS /tmp/bak/ /tmp/newpve/ |
修复引导
默认用的 grub2
进行引导的
参考 proxmox-boot-tool
这个
而我 用的 systemd-boot
1 | arch-chroot /tmp/newpve/ |
修改 /etc/kernel/cmdline
加入子卷启动项 rootflags=subvol=@
1 | root=UUID=eb239303-5067-4e32-add8-55fd643059ac rootflags=subvol=@ rw |
运行 proxmox-boot-tool clean
删除 /etc/kernel/proxmox-boot-uuids
中旧的 esp
uuid
运行 proxmox-boot-tool init /dev/nvme0n1p1
自动处理 efi
引导等
至此 reboot
后应该可以进入系统了
关闭 grub
提示信息
1 | Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it! |
进入系统后 执行 echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
置于能不能卸载 grub
这件事情呢 发现是不行的
但是可以卸载 memtest86+
卸载旧内核
他是 proxmox-kernel-
开头的包
直接 apt purge proxmox-kernel-6.8.12-9-pve
就行