向后调整Linux分区:Arch Linux分区重建后的操作疑问
没问题,我来一步步帮你搞定这个分区调整后的后续操作,让你的Arch Linux重新正常运行起来:
1. 先给新分区格式化文件系统
首先你得确认新创建的分区设备名,比如用lsblk或者fdisk -l命令查看,它一般会是/dev/sdxN的格式(比如/dev/sda3)。确认好后,用ext4格式格式化它(这是Arch最常用的文件系统):
mkfs.ext4 /dev/sdxN
如果你需要单独的swap分区,也可以用mkswap /dev/sdxM创建,之后记得在fstab里配置挂载。
2. 挂载新分区到Live环境
接下来要把新分区挂载到Live系统的/mnt目录,方便后续安装系统和配置:
mount /dev/sdxN /mnt
如果你是UEFI启动的系统,别忘了挂载ESP分区(就是之前Windows或者原Arch用的EFI系统分区,一般是/dev/sdx1):
mkdir -p /mnt/boot mount /dev/sdx1 /mnt/boot
要是你是BIOS启动模式,这一步可以跳过ESP挂载,直接用根分区的boot目录就行。
3. 安装Arch基础系统包
用pacstrap命令把Arch的基础系统安装到新挂载的分区里:
pacstrap /mnt base linux linux-firmware
这个过程会下载并安装核心系统文件,耐心等它完成就行。
4. 生成自动挂载配置文件fstab
这一步是让系统开机时自动挂载你的分区,用genfstab命令生成:
genfstab -U /mnt >> /mnt/etc/fstab
生成后最好打开/mnt/etc/fstab检查一下,确保里面的UUID和分区对应正确,避免后续开机挂载失败。
5. 进入新系统的chroot环境
现在要切换到新安装的系统环境里进行配置:
arch-chroot /mnt
6. 完成系统基础配置
这几步是让系统能正常运行的基础设置:
- 设置时区:比如你在国内的话,就用上海时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc - 配置Locale:编辑
/etc/locale.conf文件,写入你需要的语言设置,比如:
然后生成Locale文件:echo "LANG=en_US.UTF-8" > /etc/locale.conflocale-gen - 设置主机名:给你的机器起个名字,比如
arch-desktop:echo "arch-desktop" > /etc/hostname - 设置root密码:输入
passwd命令,然后按提示设置你的root密码。
7. 安装引导程序
这一步是关键,不然系统没法开机启动:
- 如果是UEFI模式:
先安装grub和efibootmgr工具:
然后安装grub到ESP分区:pacman -S grub efibootmgr
最后生成grub的配置文件:grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinuxgrub-mkconfig -o /boot/grub/grub.cfg - 如果是BIOS模式:
安装grub:
把grub安装到磁盘的MBR区域(注意这里是磁盘名,不是分区名,比如pacman -S grub/dev/sda):
同样生成grub配置:grub-install /dev/sdxgrub-mkconfig -o /boot/grub/grub.cfg
8. 退出chroot并重启
配置完成后,退出chroot环境:
exit
然后卸载挂载的分区:
umount -R /mnt
最后重启机器,拔掉Live U盘,就能进入新的Arch系统了!
一些注意事项
- 操作时一定要仔细确认分区设备名,别搞错了格式化到错误的分区
- 如果你之前原Linux分区里有重要数据,那删除分区后数据已经丢失了,下次调整分区前记得备份
- 如果重启后无法引导,大概率是ESP分区挂载错误或者grub安装配置有问题,再用Live U盘启动重新检查一遍
内容的提问来源于stack exchange,提问作者Miksu




