本指南的目标是:在一块空白硬盘上,安装一个稳定、无图形界面的 Arch Linux 系统,并将其配置为基础的 Samba 文件共享服务器 (NAS)。
核心流程概览
- 准备阶段:制作启动盘,正确设置 BIOS。
- 环境准备:以正确的 UEFI 模式启动,连接网络。
- 磁盘操作:分区、格式化、挂载。(第一个易错点)
- 系统安装:使用
pacstrap安装基础系统。 - 系统配置:进入
chroot环境,配置系统。 - 引导安装:安装 GRUB 引导程序。(第二个易错点)
- 重启收尾:完成安装并首次启动。
- NAS 配置:安装并配置 Samba 服务。
第一步:准备阶段 (Preparation)
- 下载镜像:访问国内镜像站(如清华大学开源镜像站)下载最新的 Arch Linux ISO 文件。
- 制作U盘:使用 Rufus、Ventoy 或 Etcher 等工具,将 ISO 文件制作成可引导的 U 盘。
- 设置 BIOS/UEFI:
- 重启电脑,进入 BIOS 设置界面。
- 关闭安全启动 (Secure Boot):这个选项通常在 "Security" 或 "Boot" 菜单下,必须禁用,否则无法引导 Arch Linux。
- 开启 CSM (兼容模块) 并设置为 "UEFI and Legacy" (可选但推荐):这会让你在启动时能明确选择是以 UEFI 还是 Legacy 模式启动 U 盘。就像您之前在 BIOS 图片中看到的那样。
第二步:环境准备 (Live Environment)
以 UEFI 模式启动 U 盘:
- 重启电脑,按
F11/F12等快捷键进入启动菜单 (Boot Menu)。 - 您会看到您的 U 盘有两个选项,例如:
UEFI: Kingston USBKingston USB
- 必须选择带有
UEFI:前缀的那个。这是解决您之前引导问题的最关键一步。
- 重启电脑,按
验证 UEFI 启动:
- 进入
root@archiso ~ #命令行后,运行以下命令:ls /sys/firmware/efi/efivars - 如果命令输出了一长串文件列表,恭喜您,启动模式正确。如果报错 "No such file or directory",请立刻重启,检查上一步的选择。
- 进入
连接网络并配置镜像源:
- 连接有线网络通常会自动完成。用
ping archlinux.org测试。 - 编辑镜像源列表,将清华源放在最顶端以加速下载:
vim /etc/pacman.d/mirrorlist # 在文件最上方添加下面这行 # Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
- 连接有线网络通常会自动完成。用
第三步:磁盘操作 (Partitioning & Formatting)
这是您之前遇到最多问题的地方。请严格按步骤操作。
分区 (fdisk):
fdisk /dev/nvme0n1g:创建一个新的 GPT 分区表。n-> 回车 -> 回车 ->+512M:创建 512MB 的 EFI 分区。t->1:将分区类型改为 "EFI System"。n-> 回车 -> 回车 -> 回车:创建使用全部剩余空间的根分区。p:检查分区表是否正确。w:【关键】将分区表写入硬盘并退出。
※ 实战排错 #1:忘记写入分区表
- 症状:执行
mkfs命令时,提示/dev/nvme0n1p1: No such file or directory(文件或目录不存在)。 - 原因:在
fdisk中执行了分区操作,但最后忘记输入w来保存。所有操作只在内存中,并未应用到硬盘上。 - 解决:重新执行一遍
fdisk的所有分区步骤,最后务必输入w保存。
格式化 (mkfs):
- 格式化 EFI 分区为 FAT32:
mkfs.fat -F32 /dev/nvme0n1p1 - 格式化根分区为 ext4:
mkfs.ext4 -F /dev/nvme0n1p2
- 格式化 EFI 分区为 FAT32:
挂载 (mount):
mount /dev/nvme0n1p2 /mnt mount --mkdir /dev/nvme0n1p1 /mnt/boot
第四步:系统安装 (Pacstrap)
pacstrap -K /mnt base linux linux-firmware vim nano dhcpcd
- 此命令会将基础系统、内核、固件和一些常用工具安装到您挂载的
/mnt目录中。
※ 实战排错 #2:空间不足
- 症状:
pacstrap报错Partition /mnt too full(分区太满)。- 原因:通常是因为分区没有被正确格式化,或者内核仍在读取旧的分区表信息,导致系统认为分区大小不正确(例如,读取到旧的只有100MB的恢复分区)。
- 解决:
umount -R /mnt卸载分区。- 用
fdisk重新分区并用w保存。- 用
partprobe /dev/nvme0n1强制内核重新读取分区表。- 用
lsblk确认分区大小正确后,再重新格式化和挂载。
第五步:系统配置 (Chroot)
生成 fstab:
genfstab -U /mnt >> /mnt/etc/fstab进入 Chroot 环境:
arch-chroot /mnt- 注意,此时您的命令提示符会从
~变为/,表示您已在新系统的根目录里。
- 注意,此时您的命令提示符会从
配置时区、语言、网络和密码:
# 设置时区为上海 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc # 配置语言 (取消 en_US.UTF-8 和 zh_CN.UTF-8 的注释) vim /etc/locale.gen locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf # 设置主机名 (你的NAS在网络上的名字) echo "arch-nas" > /etc/hostname # 启用网络服务,开机自动联网 systemctl enable dhcpcd # 【关键】设置 root 管理员密码,否则重启后无法登录 passwd
第六步:引导安装 (GRUB)
这是您之前遇到的第二个关键问题。
安装 GRUB 软件包:
pacman -S grub efibootmgr安装 GRUB 到硬盘:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH --recheck
※ 实战排错 #3:引导安装失败
- 症状 1:
grub-install报错EFI variables are not supported on this system。 - 症状 2:安装看似成功,但重启后提示
Reboot and Select proper Boot device。BIOS 里也看不到硬盘的 UEFI 启动项。 - 根本原因:您在第二步中,没有以 UEFI 模式启动安装 U 盘,而是以 Legacy 模式启动了。这导致 chroot 环境无法访问主板的 UEFI 接口,也就无法注册启动项。
- 解决:
exit退出 chroot,reboot重启电脑。- 进入启动菜单,务必选择
UEFI: [你的U盘名]启动。 - 进入 Live 环境后,重新挂载 (
mount)、进入arch-chroot,然后再次执行grub-install命令。这次它就会成功,并提示Installation finished. No error reported.。
- 症状 1:
生成 GRUB 配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
第七步:重启收尾 (Finalize)
exit # 退出 chroot 环境
umount -R /mnt # 卸载所有分区
reboot # 重启
```**在电脑屏幕变黑的瞬间,拔掉 U 盘!**
### **第八步:NAS 配置 (Samba)**
1. **登录系统**:
* 您会看到一个黑色的登录界面,输入用户名 `root`,密码为您之前设置的密码。
2. **安装 Samba**:
```bash
pacman -S samba
```
3. **创建共享目录**:
```bash
mkdir -p /srv/share
chmod -R 777 /srv/share
```
4. **配置 Samba**:
* 编辑配置文件 `vim /etc/samba/smb.conf`。
* 在文件最末尾添加以下内容,创建一个无需密码即可访问的公开共享文件夹:
```ini
[Public]
comment = Public Share
path = /srv/share
browseable = yes
writable = yes
guest ok = yes
public = yes
```
5. **启动 Samba 服务**:
```bash
systemctl enable smb
systemctl start smb
```
**至此,您的 Arch Linux 无桌面 NAS 服务器已全部配置完成!** 您可以在局域网内的其他电脑上,通过访问 `\\arch-nas` (Windows) 或 `smb://arch-nas` (macOS) 来访问您的共享文件夹了。
评论区(0 条)
发表评论⏳ 加载编辑器…