
48小时把 Windows 主机刷成 Ubuntu Server:一份能复刻的血泪实录(超详细图文版)
从为什么要改、BIOS 到底改哪些、分区怎么做、GRUB 失败怎么救、网络与 SSH 怎么配,所有命令与踩坑全写进来,给后来人和未来的自己。
48小时把 Windows 主机刷成 Ubuntu Server:一份能复刻的血泪实录(超详细图文版)
这不是“教程”,是一次完整的心路历程复盘。
我原本只想把一台闲置的 i5 Windows 主机改成 Ubuntu Server,做一台 7x24 小时在线的家用服务器,安静、稳定、可远程、可自动化。按理说就是:做 U 盘 → 进 BIOS → 一路下一步 → 完事。
结果硬生生折腾了 48 小时。
最离谱的是,我踩的坑几乎都不是“Linux 操作层面”的坑,而是硬件/UEFI/安装器/主板固件的坑。这些坑如果没人事先告诉你,你一定会在里面耗很久。
所以我决定把这份“战报”写下来,做到三个目标:
- 给后来人一个 100% 能复刻的流程。
- 给未来的自己一个快速复盘的“速通脚本”。
- 把所有命令、所有关键细节都写全,不留“空气步骤”。
这篇内容非常长(超过 1 万字),建议你收藏,或者复制进自己的笔记系统。
1. 为什么要改?(不是折腾,是架构)
真实原因很简单:
- 我需要一台安静、稳定、随时可 SSH 的机器当“生产力工人”。
- Windows 的更新、资源占用、GUI 开销让我不安心。
- Linux 是最适合“无人值守”的系统:开机就能跑,后台任务不掉线。
目标不是“装 Linux”,而是:
- 把这台主机变成长期在线的「家庭服务器」。
- 用 Mac/笔记本远程 SSH 控制,主机放角落,不占桌面也不吵。
- 后续在上面跑 AI 脚本、Playwright、Docker、自动化流水线。
1.1 这篇文章适合谁
如果你满足下面任何一条,这篇就值得你读完:
- 你要把 Windows 主机改成 Ubuntu Server,而且主板是消费级/游戏主板。
- 你不想在桌面噪音里折磨自己,希望像用云服务器一样安静。
- 你以前装过 Linux,但这次就是怎么装都报错。
- 你只要“能复刻”的步骤,而不是“讲道理”。
1.2 这篇文章怎么读(别一上来就全背)
我建议你这样读:
- 先看 第 4、5 章(BIOS + 分区流程)——这是主线。
- 如果又卡住了,再回头看 第 6、7、8 章(核弹清盘 / GRUB 急救 / 登录失败修复)。
- 装好以后再去看 第 9、10 章(网络与 SSH)。
- 如果你要装第二台,直接看 速通版。
1.3 风险提示(不说清楚以后会后悔)
- 重装会清空硬盘,你电脑里如果还有任何重要文件,请先备份。
- Windows 许可证不会丢:现代主板都写在 BIOS 里,装回 Windows 自动激活。
- 这套流程是给“没有心理负担”的人用的,如果你对数据没备份,那就先停下来备份。
2. 安装前的准备(少一步都可能翻车)
2.1 准备清单
- U 盘(≥8GB,稳定优先)
- Ubuntu Server ISO(24.04 LTS)
- Rufus(Windows 制作启动盘)
- 键盘、显示器、网线
2.2 关键物理原则(我翻车最多的地方)
原则 1:U 盘和键盘必须插在机箱背面黑色 USB 2.0 接口。
如果你插在:
- 前面板口(供电不稳)
- 蓝色 USB 3.0 口(Linux 引导阶段会掉线)
你会遇到:
usb 1-4: device descriptor read/64, error -71然后键盘失灵、安装中断、密码输入错乱。
原则 2:安装全过程断网。
不插网线,原因很简单:
- 安装器联网更新容易失败或变慢
- 更新过程中卡住,你就会以为是硬盘问题
总结:插对口 + 断网,直接避开 60% 的坑。
2.3 机器信息记录(防止后面乱)
我这台机器是:
- CPU:i5-13400
- 主板:七彩虹(Colorful)消费级板
- 硬盘:NVMe(XPG 这类)
你可以先在 Windows 里记录一下:
wmic cpu get name
wmic diskdrive get model,size这一步不是必须,但它能在你后面“分区/识别硬盘”时降低迷糊概率。
3. U 盘制作(Windows 下)
3.1 下载 ISO
- Ubuntu Server 24.04 LTS
3.2 Rufus 制作(推荐设置)
- 分区类型:GPT
- 目标系统:UEFI
- 文件系统:FAT32(默认)
- 写入模式:ISO(不行再用 DD)
如果你遇到“UEFI 启动黑屏白点”,可以尝试重新烧录并切换为 DD 模式。
3.3 可选:校验 ISO(避免下载损坏)
Windows 自带校验命令(PowerShell 或 CMD 都能用):
certutil -hashfile ubuntu-24.04-live-server-amd64.iso SHA256如果 hash 对不上官网,就不要继续装,重下。
4. BIOS 四大必改项(这一步做错,后面全是死路)
我踩的最大坑几乎都在 BIOS。只要这一步没改对,后面都会变成随机报错。
4.0 进 BIOS 的稳定方式(别只靠 F11)
如果你进不去 BIOS,先用这个 Windows 命令强制进入:
shutdown /r /fw /t 0它会直接把你送进 UEFI 设置,避免按键窗口太短的问题。
4.1 改 SATA 模式,关 VMD
路径通常是:
Advanced -> SATA Configuration必须保证:
- SATA Mode: AHCI
- VMD Controller: Disabled
为什么? VMD 会把 NVMe 硬盘锁在 Windows 的 RAID 管理下,Linux 会提示 Device Busy 或无法分区。
4.2 关闭 CSM(必须纯 UEFI)
Advanced -> CSM Configuration
CSM Support = Disabled否则你会遇到:
- 启动菜单没有
UEFI:前缀 - 分区时看不到
EFI System Partition
4.3 处理 Secure Boot(真正的坑)
Secure Boot -> Key Management -> Restore Factory Keys
Attempt Secure Boot = Disabled注意: “Restore Factory Keys” 不是打开安全启动,而是让 BIOS 恢复“正常密钥状态”。 如果不做这一步,你会遇到“安装到 99% 最后一步崩溃”。
4.4 保存退出
按 F10 保存。
5. 正常安装流程(断网 + 手动分区)
5.0 每一页怎么选(逐屏说明)
如果你第一次装 Ubuntu Server,下面是“该点什么”的清单:
- Language:English(别选中文,日志会乱码)
- Keyboard:English
- Network:没网就 Done(我们是断网安装)
- Proxy:空着
- Mirror:默认
- Storage:Custom storage layout(手动分区)
- Profile:填写用户名、密码(后面要 SSH)
- SSH setup:勾选 Install OpenSSH server(如果你想少走一步)
- Featured Server Snaps:全不选
记住一个原则:宁可少装,也不要乱勾。
5.1 进入安装
- 重启 → F11 选择
UEFI: 你的 U 盘 - 选择
Try or Install Ubuntu Server
5.2 语言与键盘
- Language: English
- Keyboard: English
5.3 网络
- 断网情况下:直接 Done
- Proxy:空着
- Mirror:默认
5.4 分区(重点)
不要选 Use an entire disk(默认 LVM 会坑你)
选择:Custom storage layout。
分区结构(推荐)
- EFI 引导分区
- Size:512M
- Format:EFI System Partition(或 FAT32)
- Mount:/boot/efi
- 系统分区
- Size:剩余全部
- Format:ext4
- Mount:/
6. 如果硬盘死锁(Device busy)怎么办?
症状:
- 分区界面报错
curtin block-meta失败- 删除分区不让删
这是旧分区/旧 LVM 残留导致的。
6.1 核弹清盘(推荐)
进入安装菜单按 e 编辑启动项,在 linux ... --- 末尾加 break,进入 (initramfs) 后执行:
dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=100解释:抹掉硬盘头 100MB,分区表彻底清空。
6.2 查看硬盘名
ls /dev/nvme*6.3 如果没分区节点
modprobe nvme然后再 ls /dev/nvme*。
6.4 如果擦盘报 Busy 的连招
极端情况下,硬盘已经被安装器挂载,你可以先解除占用再擦:
swapoff -a
vgchange -an
lvchange -an /dev/ubuntu-vg/ubuntu-lv
umount -R /target
dmsetup remove_all
wipefs -a /dev/nvme0n17. 安装进度 99% 崩溃(GRUB Failed)怎么办?
这是最绝望的一关:
- 文件都拷进去了
- 最后一步
installing grub报错
这不是你操作的问题,而是主板固件和 UEFI 的坑。
7.1 现场急救(不重装)
在报错界面进入终端:
Mac 键盘:Fn + Ctrl + Option + F2
普通键盘:Ctrl + Alt + F2
执行以下命令(逐行):
sudo -i
mount --bind /dev /target/dev
mount --bind /proc /target/proc
mount --bind /sys /target/sys
chroot /target
grub-install --removable --target=x86_64-efi --efi-directory=/boot/efi
update-grub
exit
reboot关键点:
--removable是绕过主板限制的核心参数- 执行后立刻拔掉 U 盘
7.2 救援流程图(看一眼心里不慌)
8. 装好后登录失败怎么办?
如果你看到:
localhost login:但输入密码一直错误,很可能是因为系统在崩溃前没完成用户创建。
8.1 最稳:U 盘 chroot 创建用户
启动 U 盘,进入终端后:
mount /dev/nvme0n1p2 /mnt
chroot /mnt /bin/bash
adduser jimmy
usermod -aG sudo jimmy
exit
reboot8.2 Recovery 模式(如果能进 GRUB)
进入 Recovery 模式后:
mount -o remount,rw /
adduser jimmy
usermod -aG sudo jimmy
reboot9. 断网安装后的联网步骤
9.0 网卡名字怎么确认
先用 ip a 看看网卡叫啥,常见是 enp2s0、eno1 或 eth0。
ip a9.1 DHCP 自动获取
sudo nano /etc/netplan/01-netcfg.yaml填入:
network:
version: 2
ethernets:
enp2s0:
dhcp4: true应用:
sudo chmod 600 /etc/netplan/01-netcfg.yaml
sudo netplan apply检查:
ip a
ping -c 4 baidu.com9.2 静态 IP(两台机器不冲突)
network:
version: 2
ethernets:
enp2s0:
dhcp4: false
addresses:
- 192.168.1.20/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 223.5.5.5
- 8.8.8.89.3 联网 + SSH 路径图
10. SSH 远程相关的所有坑
10.0 建议的 SSH 初始化流程(顺手一次配好)
在你的 Mac/Windows 客户端上生成密钥(已有可跳过):
ssh-keygen -t ed25519 -C "[email protected]"把公钥拷进服务器(可以在服务器上执行,也可以在客户端执行):
ssh-copy-id [email protected]可选:在本地 ~/.ssh/config 加一段别名(以后只要 ssh i5-a):
Host i5-a
HostName 192.168.1.20
User jimmy
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
ServerAliveCountMax 310.1 SSH 安装
sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh10.2 Host key changed
ssh-keygen -R 192.168.1.1510.3 Connection refused
- SSH 没装或没启动(按 10.1 处理)
10.4 Timeout
- IP 不对或冲突
- 用
ip a确认
11. 故障排查大全(按症状查)
11.1 F11 没反应 / 进不去 BIOS
如果这台机器还能进 Windows,直接用命令强行进 BIOS(最稳):
shutdown /r /fw /t 0如果只能靠按键:
- 键盘必须插背部 USB 2.0
- 优先用
Del进 BIOS - 进 BIOS 后找
Boot Override强行选 U 盘
11.2 启动黑屏或白点不动
用安全图形模式启动(Safe Graphics):
- 在 U 盘菜单里选
safe graphics - 或在启动项末尾加
nomodeset
11.3 没有 UEFI 选项 / 分区里没有 EFI 选项
九成是 CSM 没关。
检查:
- BIOS 里 CSM Support = Disabled
- F11 菜单必须看到
UEFI:前缀
11.4 硬盘不识别 / 找不到 nvme0n1
lsblk
ls /dev/nvme*
modprobe nvme
partprobe
fdisk -l11.5 Device busy / 不能删分区
先停用所有可能占用:
swapoff -a
vgchange -an
lvchange -an /dev/ubuntu-vg/ubuntu-lv
umount -R /target
dmsetup remove_all再清理签名:
wipefs -a /dev/nvme0n111.6 USB error -71 / 键盘失灵
- 把 U 盘和键盘移到背部黑色 USB 2.0
- 拔掉多余 USB 设备
lsusb看是否识别
lsusb11.7 没拿到 IP
先把网卡拉起来:
sudo ip link set enp2s0 up如果系统自带 dhclient,试一下:
sudo dhclient如果装了 NetworkManager,可以用:
sudo nmcli dev status
sudo nmtui11.8 GRUB 菜单很难进
如果进到了 grub>,别慌:
set timeout_style=menu
set timeout=30
normal11.9 Host key changed / SSH 失配
ssh-keygen -R 192.168.1.1512. 装好后的收尾动作(让它像服务器)
这部分不是必须,但强烈建议你顺手做完,否则它只是“能跑”,还没到“能长期跑”。
12.1 设置主机名
sudo hostnamectl set-hostname i5-worker-112.2 校准时区
sudo timedatectl set-timezone Asia/Shanghai12.3 禁止睡眠(避免夜里睡死)
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target12.4 更新系统(稳住基础包)
sudo apt update
sudo apt upgrade -y12.5 简单防火墙(只开 SSH)
sudo ufw allow 22
sudo ufw enable
sudo ufw status12.6 检查磁盘占用
df -h12.7 断电自启(BIOS)
在 BIOS 里找:Restore on AC Power Loss → Power On。
这样停电后来电,服务器会自动开机。
13. 第二台机器的“速通版”流程
这套是 15-20 分钟完成版:
- U 盘 + 键盘插后面黑色 USB2.0
- 断网
- BIOS:AHCI + VMD Disabled + CSM Disabled + Secure Boot Attempt Disabled
- UEFI 启动 U 盘
- 手动分区(EFI + ext4)
- 若 grub 失败 → 执行救援命令
- 配 netplan
- SSH 远程
14. 命令清单(全文汇总)
核弹清盘
dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=100硬盘签名清理
wipefs -a /dev/nvme0n1硬盘检查
ls /dev/nvme*
lsblk
fdisk -l
partprobe
modprobe nvme解除 LVM/挂载占用
swapoff -a
vgchange -an
lvchange -an /dev/ubuntu-vg/ubuntu-lv
umount -R /target
dmsetup remove_allGRUB 急救
sudo -i
mount --bind /dev /target/dev
mount --bind /proc /target/proc
mount --bind /sys /target/sys
chroot /target
grub-install --removable --target=x86_64-efi --efi-directory=/boot/efi
update-grub
exit
reboot用户修复
mount /dev/nvme0n1p2 /mnt
chroot /mnt /bin/bash
adduser jimmy
usermod -aG sudo jimmy
exit
reboot网络配置
sudo nano /etc/netplan/01-netcfg.yaml
sudo chmod 600 /etc/netplan/01-netcfg.yaml
sudo netplan apply网络排查
ip a
ping -c 4 baidu.com
sudo ip link set enp2s0 up
sudo dhclient
sudo nmcli dev status
sudo nmtuiSSH
sudo apt install openssh-server
sudo systemctl enable --now ssh
ssh-keygen -t ed25519 -C "[email protected]"
ssh-copy-id [email protected]
ssh-keygen -R 192.168.1.15Windows 强制进 BIOS
shutdown /r /fw /t 015. 心路历程的最后一句话
这次折腾最大的收获不是“装好了 Ubuntu”,而是:
- 我知道了 BIOS 那些开关到底在干什么
- 我第一次能用 chroot 把一台快死的系统救回来
- 我真正理解了“系统能跑”和“系统能用”之间的距离
下次再做,我知道自己只要走“速通版”,绝对 20 分钟搞定。
如果你也正在翻车,先深呼吸。你不是菜,只是被硬件坑了。
这份记录就是我从崩溃到通关的完整路线图。
作者
分类
更多文章
需要定制方案?
遇到问题或想让我帮你完成繁重的工作?给我发条消息,我会在24小时内回复——简单咨询永远免费。
邮件列表
加入我们的社区
订阅邮件列表,及时获取最新消息和更新

