
用 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 服务器,它会给你惊喜。
这篇文章不是泛泛的教程。你会看到每一行命令、每一个踩过的坑、每一个需要特别注意的配置细节。全程可复现。
—— 广告 ——
准备工作
硬件清单
| 组件 | 参数 |
|---|---|
| CPU | Intel 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 社区维护版:
# 从 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 环境后,第一步是连上互联网:
# 查看网络设备
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。
第三步:系统时钟
timedatectl set-ntp true
timedatectl # 确认时间正确如果时间不对,后续的 HTTPS 证书验证会全部失败。
第四步:磁盘分区
Eee PC 出厂时通常有 4 个分区:C盘(Windows)、D盘(恢复分区)、EFI 分区和隐藏的恢复分区。我们要全部删掉重来。
# 查看磁盘
fdisk -l
# 内部硬盘通常是 /dev/sdb(USB 盘是 /dev/sda)
fdisk /dev/sdb在 fdisk 里:
- 输入
p查看当前分区表 - 输入
d依次删除所有分区(需要多次) - 创建新分区表:输入
o(创建新的 MBR 分区表) - 创建交换分区:输入
n→p→ 分区号 1 → 起始扇区默认 → 大小+4G→ 然后t→ 输入分区类型82(Linux swap) - 创建根分区:输入
n→p→ 分区号 2 → 起始扇区默认 → 默认(剩余全部空间) - 输入
w写入并退出
格式化并激活:
# 格式化根分区为 ext4
mkfs.ext4 /dev/sdb2
# 创建并激活交换分区
mkswap /dev/sdb1
swapon /dev/sdb1一个常见的误区:很多人以为 fdisk 的分区类型号是十六进制的,实际上它是用 L 列出的列表中的索引号。Linux swap 输入 82 即可。
第五步:安装基础系统
这是最关键的一步。挂载根分区到 /mnt,然后用 pacstrap 安装:
# 挂载根分区
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 会在验证包签名时失败——这是个很容易让新手卡住的陷阱。
第六步:系统配置
# 时区(亚洲/上海或根据你的位置)
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:
# 在 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:
pacman -S iwd创建有线网络配置 /etc/systemd/network/20-wired.network:
[Match]
Name=enp3s0
[Network]
DHCP=yes创建无线网络配置 /etc/systemd/network/25-wireless.network:
[Match]
Name=wlan0
[Network]
DHCP=yes
IgnoreCarrierLoss=3s配置 DNS:
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf配置 iwd /etc/iwd/main.conf:
[General]
EnableNetworkConfiguration=true
[Network]
NameResolvingService=systemd配置 hosts 文件 /etc/hosts:
127.0.0.1 localhost
::1 localhost
127.0.1.1 eee-pc-1000he
启用所有网络服务:
systemctl enable iwd systemd-networkd systemd-resolved第九步:完成安装并重启
# 退出 chroot
exit
# 卸载文件系统
umount -R /mnt
# 重启
reboot记得移除 USB 启动盘,并在 BIOS 中将硬盘设回第一启动项。
安装后的配置
包管理器与 AUR 助手
# 安装常用工具
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 轻得多):
pacman -S xorg xorg-xinit lxqt breeze-icons配置 X11 启动:
# 复制默认 xinitrc
cp /etc/X11/xinit/xinitrc ~/.xinitrc
# 编辑 ~/.xinitrc,删除默认的 Twm/Xterm/clock 等行
# 在文件末尾添加:
exec startlxqt配置自动启动 X 在登录时(追加到 ~/.profile):
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 社区依然活跃,意味着你不会遇到"系统无人维护"的问题。
下一台被你扔进垃圾桶的旧电脑,也许值得你给它第二次生命。
© 2026 四月
原文链接:https://www.aprilzz.com/tutorials/revive-15-year-netbook-arch-linux
相关文章
在 13 年前的 Xeon 服务器上跑 Gemma 4 26B:一份实操指南
用不到 300 美元的老旧服务器跑谷歌 Gemma 4 26B 大模型,详细记录从硬件选型、编译修复到性能调优的全过程
用 C 语言实现 Go 风格的并发:goroutine 与 channel 的原理与手写实现
深入浅出地讲解 Go 语言 goroutine 和 channel 的底层原理,并用 C 语言结合 POSIX 线程从零实现一个简化版的并发模型
MCP(Model Context Protocol)从入门到实战:构建你的第一个 AI 工具服务器
手把手教你理解 MCP 协议的原理、架构,并用 Python 从零搭建一个支持实时数据查询的 MCP 服务器