实战SOP:CodeArts替我装Debian13双盘双系统
背景:为什么要在这台机器上再装一个 Linux
主系统是 Windows 11,日常开发靠 WSL2 也够用。但最近几件事开始撞墙:要跑完整内核模块实验、要试 Docker 的某些存储驱动、要验证 GPU 直通方案——这些在 WSL2 里都只能做到"半真",因为它本质是轻量虚拟机,不是完整系统。
彻底换 Linux 又不现实:办公软件、网银、打印驱动都在 Windows 上。于是决定走双盘双系统:原来的 NVMe 留给 Windows 不动,新加的一块 NVMe 装 Debian 13,两套系统各自独立引导,谁也别碰谁。装系统这件事我交给了码道 CodeArts——不是因为它会敲命令,而是因为分区表、引导项、时钟、驱动这些一次性知识,每次手装都要重新查一遍文档。
方案:五步,破坏半径最小
| 步骤 | 人工做的事 | CodeArts 做的事 |
|---|---|---|
| 1. 备盘 | 备份数据、准备安装U盘 | 检查两块盘的型号与容量,确认目标盘 |
| 2. 分区 | 无 | 生成 GPT 分区方案并核对 |
| 3. 安装 | 安装器里确认选项 | 逐步指导:语言、镜像源、分区、GRUB位置 |
| 4. 驱动与配置 | 无 | 换源、装固件、配中文、对齐时钟 |
| 5. 引导验收 | 重启切系统 | 检查启动项、GRUB识别Windows、双向验证 |
1. 先看清盘,别急着动手:
lsblk -o NAME,SIZE,MODEL,MOUNTPOINT
sudo fdisk -l
CodeArts 的第一件事就是核对:第二块盘是空盘、容量确认、型号与预期一致。这一步看着多余,但它决定了"我不会把 Windows 盘格式化掉"。
2. 分区方案(第二块盘 /dev/nvme1n1 独立装):
sudo parted /dev/nvme1n1 mklabel gpt
sudo parted /dev/nvme1n1 mkpart ESP fat32 1MiB 513MiB
sudo parted /dev/nvme1n1 set 1 esp on
sudo parted /dev/nvme1n1 mkpart root ext4 513MiB 100%
sudo mkfs.fat -F32 /dev/nvme1n1p1
sudo mkfs.ext4 /dev/nvme1n1p2
关键决策:在第二块盘上新建一个独立 ESP,而不是复用 Windows 的 EFI 分区。512MB 的 FAT32 放 GRUB,根分区吃掉剩余全部。这样做的好处是引导记录也隔离了——Debian 装坏了只需清空第二块盘,Windows 完全无感。
3. 安装器里几个必须核对的地方。 安装 Debian 13 时,CodeArts 让我逐项确认:语言与区域、镜像站选国内源(装得快)、分区方式选"手动"并精确指向第二块盘的两块分区、GRUB 安装位置选第二块盘的 ESP。它反复强调一句:安装器里所有涉及"格式化"的提示,先看设备名再点下一步。
4. 首次启动后的收尾:
sudo apt update && sudo apt full-upgrade -y
sudo apt install firmware-iwlwifi # 按网卡型号装固件
sudo apt install fonts-noto-cjk # 中文环境
timedatectl set-local-rtc 0 # RTC 走 UTC
sudo update-grub # 重新扫描,识别 Windows
5. 验收:
efibootmgr -v # 看启动项,确认 Debian 与 Windows 都在
update-grub # 输出里应能找到 Windows Boot Manager
重启进 GRUB 选 Windows,再重启选 Debian,两边都能正常登录、网络与显示正常,才算真的装完。
实践要点
- 第二块盘独立 ESP,是最重要的一个决定。 复用 Windows 的 EFI 分区,看似省事,但两个系统的引导文件挤在一起,任何一边的引导更新都可能波及另一边。独立 ESP 让"装坏了"的代价从"可能进不去 Windows"降到"清掉第二块盘重来"。
- 装之前先导出 BitLocker 恢复密钥。 如果 Windows 盘启用了 BitLocker,引导项或 Secure Boot 状态的变化可能触发恢复流程。密钥不在手,就是开不了机;这一步 CodeArts 会提醒,但备份动作得人工做。
- Secure Boot 不必关。 Debian 13 的引导器有签名,保持开启也能正常启动;只有装第三方内核模块(比如某些显卡驱动)时才需要处理 MOK 签名,CodeArts 会给出对应的注册流程。能不关就不关,少一个"为什么又启动失败"的变量。
- 双系统时钟必须对齐。 两个系统对 RTC 的理解不一致,会导致每次切换系统时间差 8 小时。统一让 RTC 走 UTC:Linux 侧
timedatectl set-local-rtc 0,Windows 侧把 RealTimeIsUniversal 设为 1。改一次,一劳永逸。 - 镜像源提前换好。 国内直连官方源,一次完整升级可能要几十分钟;换成国内镜像站,同样的升级几分钟。安装时就选好,装完再换也可以,别等到装软件时才想起。
- 安装时最稳的做法是核对设备名。 分区、格式化这类不可逆操作,每次点确认前看一眼 /dev/nvmeX 是不是第二块盘。容量对不上、型号对不上,立刻停下来重查。
- GRUB 的默认项设为"上次使用"。 经常在两边切换的话,每次都手动选很烦;让 GRUB 记住上次的系统,重启体验最接近单系统。
小结
双盘双系统的本质是隔离:两个系统各占一块盘、各管各的引导,任何一边出问题都不至于让对方陪葬。CodeArts 在这件事上的价值,不是替我敲命令,而是把"分区表怎么分、引导装哪、时钟怎么对、驱动要不要签名"这些一次性知识,变成一份可执行的检查清单——每一步都有命令、每一处不可逆操作都有核对项。装完之后,我对这台机器的掌控感反而更强了:出问题知道去哪查,而不是盲猜。
- 点赞
- 收藏
- 关注作者
评论(0)