教程·阅读约 4 分钟·
用 Arch Linux 复活一台 15 年的上网本:从零开始的完整指南

用 Arch Linux 复活一台 15 年的上网本:从零开始的完整指南

手把手教你用 Arch Linux 32 位版复活一台 ASUS Eee PC 1000HE 上古上网本,把它变成一台可用的服务器或轻量工作站

原文来源:Reviving a 15-year-old netbook with Arch Linux — 一步步指导你给 ASUS Eee PC 1000HE 装上 Arch Linux 32,把它从电子垃圾变成实用设备

为什么要折腾旧电脑

你家里大概率也有一台——某次搬家时没舍得扔的旧笔记本,积了灰的 ThinkPad、十几年前的上网本。扔了觉得可惜,卖掉不值几个钱。但如果我说,这玩意儿还能变成一台跑 Linux 的服务器呢?

ASUS Eee PC 1000HE 是 2009 年的产品,搭载 Intel Atom N280(1.667GHz,32 位)、1GB DDR2 内存、149GB 机械硬盘,原装系统是 Windows XP。用现在的标准看,它就是电子垃圾——打开 Chrome 都能卡半天。但如果你愿意换一个思路,把它当作一台低功耗的 Linux 服务器,它会给你惊喜。

这篇文章不是泛泛的教程。你会看到每一行命令、每一个踩过的坑、每一个需要特别注意的配置细节。全程可复现。

—— 广告 ——

准备工作

硬件清单

组件参数
CPUIntel Atom N280(1.667GHz,56KB L1,512KB L2,仅 32 位)
内存1GB DDR2(可升级到 2GB)
硬盘149GB HDD
网卡有线和无线(不支持 5GHz)
固件BIOS(支持 EFI 分区用于"Boot Booster")

需要的工具

  • 另一台电脑(用于下载镜像并制作启动盘)
  • 一个 USB 闪存盘(至少 2GB)
  • 互联网连接

下载 Arch Linux 32 镜像

因为 Atom N280 是 32 位 CPU,所以我们需要 Arch Linux 32 社区维护版:

code
# 从 archlinux32.org 下载
curl -sLO https://archlinux32.org/download/archlinux32-2023.03.02-i686.iso
 
# 验证签名
gpg --keyserver-options auto-key-retrieve --verify archlinux32-2023.03.02-i686.iso.sig

然后用 Rufus(Windows)或 dd(Linux/Mac)把 ISO 写入 USB 盘。

第一步:启动安装介质

插入 USB 盘,开机时按 F2 进入 BIOS,把 USB 设为第一启动项。你会看到 Arch Linux 的引导菜单——选择"Boot Arch Linux (i686)"。

可能遇到的问题:Eee PC 的 BIOS 里有个"Boot Booster"选项,开启它会跳过一部分自检。建议先关闭它,等安装完成后再开。某些固件版本下 Boot Booster 会影响 USB 启动的稳定性。

第二步:连接网络

进入 live 环境后,第一步是连上互联网:

code
# 查看网络设备
ip link
 
# 如果是有线网络,通常已自动获取 IP
# 试试能不能 ping 通
ping -c 3 archlinux32.org
 
# 如果是 Wi-Fi,启动 iwd 交互工具
iwctl
 
# 在 iwd 里:
[iwd]# device list          # 查看无线设备
[iwd]# station wlan0 scan   # 扫描网络
[iwd]# station wlan0 get-networks  # 列出可用网络
[iwd]# station wlan0 connect <SSID>
# 输入 Wi-Fi 密码
[iwd]# exit

关于交换分区大小的选择:很多人习惯给 1-2GB,但这个机器只有 1GB 内存,如果你要编译代码,2GB 远远不够。RHEL 官方建议 2GB 以下内存的系统分配双倍大小。考虑到编译可能临时需要超过 4GB 内存,我分了 4GB。

第三步:系统时钟

code
timedatectl set-ntp true
timedatectl          # 确认时间正确

如果时间不对,后续的 HTTPS 证书验证会全部失败。

第四步:磁盘分区

Eee PC 出厂时通常有 4 个分区:C盘(Windows)、D盘(恢复分区)、EFI 分区和隐藏的恢复分区。我们要全部删掉重来。

code
# 查看磁盘
fdisk -l
 
# 内部硬盘通常是 /dev/sdb(USB 盘是 /dev/sda)
fdisk /dev/sdb

在 fdisk 里:

  • 输入 p 查看当前分区表
  • 输入 d 依次删除所有分区(需要多次)
  • 创建新分区表:输入 o(创建新的 MBR 分区表)
  • 创建交换分区:输入 np → 分区号 1 → 起始扇区默认 → 大小 +4G → 然后 t → 输入分区类型 82(Linux swap)
  • 创建根分区:输入 np → 分区号 2 → 起始扇区默认 → 默认(剩余全部空间)
  • 输入 w 写入并退出

格式化并激活:

code
# 格式化根分区为 ext4
mkfs.ext4 /dev/sdb2
 
# 创建并激活交换分区
mkswap /dev/sdb1
swapon /dev/sdb1

一个常见的误区:很多人以为 fdisk 的分区类型号是十六进制的,实际上它是用 L 列出的列表中的索引号。Linux swap 输入 82 即可。

第五步:安装基础系统

这是最关键的一步。挂载根分区到 /mnt,然后用 pacstrap 安装:

code
# 挂载根分区
mount /dev/sdb2 /mnt
 
# 先安装 archlinux32-keyring(重要!确保签名信任)
pacman -S archlinux32-keyring
 
# 安装基础系统
pacstrap -K /mnt base linux linux-firmware
 
# 生成 fstab
genfstab -U /mnt >> /mnt/etc/fstab
 
# 进入新系统
arch-chroot /mnt

为什么需要先安装 keyring? 32 位 Arch 的签名密钥链与 64 位版不同。如果不先安装 keyring,pacstrap 会在验证包签名时失败——这是个很容易让新手卡住的陷阱。

第六步:系统配置

code
# 时区(亚洲/上海或根据你的位置)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
# 硬件时钟
hwclock --systohc
 
# 生成 locale
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
 
# 设置主机名
echo "eee-pc-1000he" > /etc/hostname
 
# 设置 root 密码
passwd

第七步:安装引导程序

因为系统是 BIOS + MBR,我们用 GRUB:

code
# 在 chroot 环境再次安装 keyring
pacman -S archlinux32-keyring
 
# 安装 GRUB
pacman -S grub
 
# 安装到 MBR(注意是 /dev/sdb,不是分区)
grub-install --target=i386-pc /dev/sdb
 
# 生成配置
grub-mkconfig -o /boot/grub/grub.cfg

注意grub-install 的目标设备是 /dev/sdb(整个磁盘),不是 /dev/sdb1/dev/sdb2。写入 MBR 需要磁盘级别的访问权限。

第八步:网络配置(持久化)

安装 iwd:

code
pacman -S iwd

创建有线网络配置 /etc/systemd/network/20-wired.network

code
[Match]
Name=enp3s0
 
[Network]
DHCP=yes

创建无线网络配置 /etc/systemd/network/25-wireless.network

code
[Match]
Name=wlan0
 
[Network]
DHCP=yes
IgnoreCarrierLoss=3s

配置 DNS:

code
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

配置 iwd /etc/iwd/main.conf

code
[General]
EnableNetworkConfiguration=true
 
[Network]
NameResolvingService=systemd

配置 hosts 文件 /etc/hosts

code
127.0.0.1   localhost
::1         localhost
127.0.1.1   eee-pc-1000he

启用所有网络服务:

code
systemctl enable iwd systemd-networkd systemd-resolved

第九步:完成安装并重启

code
# 退出 chroot
exit
 
# 卸载文件系统
umount -R /mnt
 
# 重启
reboot

记得移除 USB 启动盘,并在 BIOS 中将硬盘设回第一启动项。

安装后的配置

包管理器与 AUR 助手

code
# 安装常用工具
pacman -S coreutils sudo which git wget openssh neovim tmux fish
 
# 安装 AUR 助手(推荐 paru)
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

内存不足的应对:编译 paru 时可能会遇到 "No space left on device" 错误——这不是硬盘空间不够,而是 /tmp 在内存中(tmpfs)被塞满了。解决方法:从缓存重新编译即可,makepkg 会自动使用已有缓存。

桌面环境(可选)

如果想把上网本当轻量桌面用,推荐 LXQt(比 GNOME/KDE 轻得多):

code
pacman -S xorg xorg-xinit lxqt breeze-icons

配置 X11 启动:

code
# 复制默认 xinitrc
cp /etc/X11/xinit/xinitrc ~/.xinitrc
 
# 编辑 ~/.xinitrc,删除默认的 Twm/Xterm/clock 等行
# 在文件末尾添加:
exec startlxqt

配置自动启动 X 在登录时(追加到 ~/.profile):

code
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
  exec startx
fi

这样只有 tty1 登录时启动桌面,其他 tty 保留命令行——不影响 SSH 远程管理。

内存升级建议

这台机器可以升级到 2GB DDR2 SO-DIMM(Atom N280 支持的最大容量)。一根二手条子大约 5 美元。在 Amazon/eBay 上可以买到。升级后编译体验会有质的提升。

用它能做什么

装机只是第一步。这台"重生"的上网本可以做的事情比你想象的要多:

  • 家庭服务器:跑 Nginx、Samba 文件共享、Pi-hole DNS 过滤
  • Git 服务器:用 Gitea 自建代码仓库
  • 下载机:装 Transmission 或 Aria2 做离线下载
  • 轻量 Web 开发:跑静态网站、Node.js 小应用
  • 学习 Linux:用来练习命令行操作和系统管理

它跑不动大型应用,但做这些轻量任务绰绰有余。而且整机功耗不到 20W,24 小时开机的电费一年也就几十块钱。

总结

把一台 15 年前的上网本变成可用的 Linux 机器,整个过程约 2 小时。你需要的是耐心、一条网线、和一个 USB 盘。Arch Linux 32 社区依然活跃,意味着你不会遇到"系统无人维护"的问题。

下一台被你扔进垃圾桶的旧电脑,也许值得你给它第二次生命。

分享到
微博Twitter

© 2026 四月

原文链接:https://www.aprilzz.com/tutorials/revive-15-year-netbook-arch-linux