在使用Arch Linux的过程中,不经意间改了某个重要的配置文件启动不了系统是很正常的事。你原来的系统启动不了,你就需要启动盘这个能启动的系统去修复你搞坏的系统。
网上有些教程会叫你这样做,插上Arch启动盘然后:
mount /dev/sdxxxxx(这里是你linux所在的硬盘) /mnt
arch-chroot /mnt
然而,如果你安装的Arch是btrfs文件系统的,你这样操作是没有用的,它会提示你。
mount: /mnt/proc:mount point does not exist
没有/mnt/proc,这个时候你要是问ChatGPT怎么办,它会告诉你。你就mkdir,然后再把自己的proc挂进去。然后你就会一路发现自己缺少 /mnt/sys /mnt/dev /mnt/run ....越错越离谱。
其实,你ls一下/mnt 会发现里面只有@和@home两个文件,这就是它为什么会报错你缺东西。对于btrfs文件系统,我们安装的时候怎么挂载的,修复的时候也要怎么挂载。
mount -t btrfs -o subvol=/@,compress=zstd /dev/sdxn(linux系统所在) /mnt
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sdxn(linux系统所在) /mnt/home
mount /dev/sdxn(efi分区所在) /mnt/boot
#如果不是img之类efi分区出问题的情况,可以不挂/mnt/boot。
现在arch-chroot /mnt进去,就可以修复系统了。此时你相当于你系统的root用户,把原来改错的改回来再拔了U盘重启就行了。
如何修复btrfs文件系统的ArchLinux © 2024 by 過雁 is licensed under CC BY-NC-SA 4.0 编辑编辑