nakanomikuorg / arch-guide

✨ archlinux 简明指南 | 本指南包含从 archlinux 安装、显卡驱动、日常软件配置、多媒体制作、编程等你可能需要的全部内容 | 提供在线文档 ✨
https://arch.icekylin.online/
Creative Commons Attribution Share Alike 4.0 International
1.51k stars 145 forks source link

有关初始安装部分的修补建议 #151

Closed w568w closed 1 year ago

w568w commented 1 year ago

感谢作者的教程,引导我完成了第一次 Archlinux 安装。

不过在安装过程中,我发现教程中存在一些问题,希望查证:

  1. 「archlinux 基础安装」一节中,介绍使用如下指令安装附加软件:
pacstrap /mnt dhcpcd networkmanager vim sudo zsh zsh-completions

实际上,根据 网络配置 一节,这里的 dhcpcd 是「网络管理器」 netctl 使用的「DHCP 客户端」,而「网络管理器」 networkmanager 本身就内置了一个「DHCP 客户端」,因此无需再安装多余的 dhcpcd。另外实际上,Wiki 还明确指出:「不能同时运行两个 DHCP 客户端」。

  1. 同一节中,介绍在安装阶段使用如下命令来探测其他操作系统:
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH

但在实际安装中,我发现无论是虚拟机(VirtualBox on Windows)还是实机(Lenovo Region 系列笔记本电脑),os-prober 都无法在安装环境下探测到任何其他操作系统(即便安装了 ntfs-3g 软件包),只有重启进入 Archlinux 后,才能探测到实际系统。我猜测这一问题与 chroot 环境有关,希望将这一点加入相关步骤的 Tips 中供其他读者了解。

  1. 在较小的硬盘空间和部分 Windows 版本中,Windows 在安装时仅会划分约 128MB 空间给 EFI 系统分区,这不足以让 Archlinux 正常安装然而,「安装前的准备」一节对此并无提及,而「archlinux 基础安装」一节也直到「分区和格式化(使用 Btrfs 文件系统) 」部分才轻描淡写地说明「EFI 分区为 256MB」,对此现象没有任何说明,也没有为已经进行到这一步的读者提供解决问题的办法。 鉴于这一现象较为普遍,可以在「准备」中强调 EFI 分区的大小要求,或者提供 替代的解决方案

挂载 EFI 系统分区到 /efi, 然后再挂载一个 “拓展引导加载器分区”(XBOOTLDR)分区到 /boot。在以前创建的 ESP 太小而无法容纳多个引导加载程序以及内核但 ESP 又无法轻松调整大小时(例如在 Windows 之后将 Linux 安装到 双引导(多引导) 时),这可能非常有用。至少在 systemd-boot#使用 XBOOTLDR 安装 时支持此方法。

wuhang2003 commented 1 year ago

搁了个 PR 修了下你讲的三点问题( 另外第二点问题你想的没错,官方 Wiki 里边就有说:

os-prober在chroot中可能无法正常运作。如果遇到这种情况,重启并引导进入系统后再次尝试。