# Ubuntu 24.04 + Windows 双系统安装(Chromebox 10th / Kaisa / coreboot) **体例**:[DOCUMENTATION_STYLE.md](DOCUMENTATION_STYLE.md)。**内核编译磁盘空间、源码 clone** 见 [WORK_PROGRESS.md](WORK_PROGRESS.md);**自编内核安装**见 [../kernel-build/OPERATION_Install_CustomKernel_Ubuntu_HWE617.md](../kernel-build/OPERATION_Install_CustomKernel_Ubuntu_HWE617.md)。本文只写 **分区与安装顺序**。 可复现路径:**先 Windows,再 Ubuntu 24.04**(推荐);含 UEFI/GRUB/时钟及与 **CoolStar 音频**、**HWE 6.17** 工作的衔接说明。 > 适用范围:coreboot/UEFI 的 Chromebox(Kaisa 类);机型菜单差异略过。 --- ## 一、安装前准备(强烈建议) - **备份**:重要数据全量备份;如可行,先做整盘镜像。 - **USB 启动盘**: - Windows 安装盘(UEFI) - Ubuntu 24.04 安装盘(UEFI) - **关闭 Secure Boot(如存在)**:后续第三方驱动/自编译内核更省事。 - **准备空间**:建议至少 200GB(按需调整)。 --- ## 二、推荐分区规划(示例) 同一块磁盘 UEFI/GPT,最稳妥: - **EFI System Partition (ESP)**:300–1024MB(FAT32,Windows 安装一般会自动建 100MB;若你重装,建议 300MB+) - **Windows**: - `C:`(NTFS)≥ 80–120GB(含驱动与更新更从容) - **Ubuntu**: - `/`(ext4)≥ 50GB(建议 80GB+,内核源码/编译会占空间) - (可选)`/home`(ext4)按需 - (可选)swap:8–32GB(看内存与休眠需求) > 编译 `linux-hwe-6.17` deb 所需分区空闲:见 **WORK_PROGRESS.md**(与上文「衔接」一致)。 --- ## 三、安装顺序(推荐:Windows → Ubuntu) ### 1) 先安装 Windows 1. UEFI 启动 Windows 安装盘。 2. 选“自定义:仅安装 Windows”。 3. 只为 Windows 创建/选择目标分区(其余空间留空为“未分配”)。 4. 完成安装后进入 Windows。 **Windows 侧(本项目相关)**: - 先不要急着装“通用 Realtek 声卡包”。本机 3.5mm 往往依赖 **CoolStar SOF + ALC5682 I2S** 栈。 - 先按本仓库 Windows 指南处理: - `docs/windows/OPERATION_Windows_Audio.md` - `docs/windows/HARDWARE_ID_DRIVER_MAP_Windows.md` ### 2) 再安装 Ubuntu 24.04 1. UEFI 启动 Ubuntu 安装盘。 2. 选择“其他选项/手动分区”(避免覆盖 Windows)。 3. 在“未分配空间”里创建 Ubuntu 分区(`/`、可选 `/home`、swap)。 4. **引导程序安装位置**:选择整盘的 ESP(通常安装器会自动识别并写入 `EFI/ubuntu/`)。 5. 完成安装并重启。 此时一般会出现 GRUB 菜单,可直接选择 Ubuntu/Windows。 ### 3) 双启动机制:UEFI 先选,GRUB 再选(推荐日常方案) 双系统下可以把它理解成**两层**: 1. **第一层:UEFI(固件)** 根据 **启动顺序** 或你按快捷键打开的 **Boot Menu**,决定先执行 ESP(EFI 分区)里的哪一个引导程序,例如: - `EFI/ubuntu/shimx64.efi` 或 `EFI/ubuntu/grubx64.efi` → 进入 **GRUB** - `EFI/Microsoft/Boot/bootmgfw.efi` → 直接进入 **Windows** 2. **第二层:GRUB(仅当 UEFI 先选了 ubuntu/GRUB 那条)** GRUB 再给出菜单,让你选进 **Ubuntu** 或 **Windows**(链式加载 Windows 的 EFI)。 **日常最省事**:不必每次进固件 Boot Menu 找条目。 **推荐做法(与「先 Windows 后 Ubuntu」配合)**: - 在固件(UEFI)里把 **ubuntu / Ubuntu(或带 GRUB 的那条)** 的启动项排在 **Windows Boot Manager** **之前**,让开机默认先走 GRUB;在 GRUB 里可设 **超时时间** 和 **默认启动项**。 - 若 **开启 Secure Boot**,Ubuntu 往往通过 **shim** 再加载 GRUB,逻辑相同,只是链路上多一层签名验证。 **备选做法**(也能双系统,但步骤多): - UEFI **默认**指向 **Windows Boot Manager**;需要 Linux 时再按快捷键进 **Boot Menu** 手动选 **ubuntu**。适合几乎只用 Windows、偶尔进 Linux 的场景。 --- ## 四、如果装完 Ubuntu 看不到 Windows 启动项 在 Ubuntu 里: 1. 确认 Windows EFI 文件存在(ESP 里通常是 `EFI/Microsoft/Boot/bootmgfw.efi`)。 2. 安装并启用 os-prober(Ubuntu 24.04 可能默认禁用): ```bash sudo apt update sudo apt install -y os-prober sudo sed -i 's/^#\\?GRUB_DISABLE_OS_PROBER=.*/GRUB_DISABLE_OS_PROBER=false/' /etc/default/grub sudo update-grub ``` 3. 若仍不出现,用 `efibootmgr` 查看 UEFI 启动项(需要你能在 BIOS/Boot Menu 里也看到 Windows Boot Manager)。 --- ## 五、GRUB/EFI 常见修复(应急) ### 1) 仅修复 Ubuntu 引导(Ubuntu 启动项丢了) 用 Ubuntu Live USB 启动,挂载系统分区与 ESP 后 `chroot` 修复(简化示例,具体设备名自行替换): ```bash sudo mount /dev/nvme0n1pX /mnt # Ubuntu / sudo mount /dev/nvme0n1pY /mnt/boot/efi # ESP for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done sudo chroot /mnt grub-install update-grub exit sudo reboot ``` ### 2) Windows 启动项丢了 优先用 Windows 安装盘的“修复计算机 → 启动修复”。 若修复后 Ubuntu 启动项被覆盖,回到上面再修一次 GRUB。 --- ## 六、时间/时钟(双系统最常见小坑) Windows 默认把硬件时钟当作本地时间,Linux 默认按 UTC。建议让 Windows 也用 UTC(二选一即可): 在 Ubuntu 执行: ```bash timedatectl set-local-rtc 0 --adjust-system-clock ``` 或在 Windows 侧按常见方法设置 RealTimeIsUniversal(需自行评估,避免在企业策略环境触发问题)。 --- ## 七、与本项目相关的建议落点 ### 1) Windows 音频(3.5mm 无声/无插拔提示) 优先关注设备管理器中的: - **CoolStar SOF Audio (WDM)**:若 Error,经常导致“ALC5682 显示 OK 但无声” - **Realtek ALC5682 I2S Audio**:硬件 ID 常见 `ACPI\\10EC5682\\...` 按本仓库文档走: - `docs/windows/OPERATION_Windows_Audio.md` - `docs/windows/HARDWARE_ID_DRIVER_MAP_Windows.md` ### 2) Linux 内核(HWE 6.17 编译/安装) 若你要在 Ubuntu 24.04 上编译本仓库的 HWE 6.17 内核包: - 源码放置:`kernel-src/linux-hwe-6.17-6.17.0/` - 脚本入口:`scripts/ubuntu-hwe-617-build.sh` - 经验提醒:不要在同一源码树混用裸 `make` 与 `debian/rules`;如做过 smoke-test,打包前可 `make ARCH=x86 mrproper` 清洁树(详见 `docs/meta/WORK_PROGRESS.md`)。 --- ## 八、验收清单(装好后最小验证) - **UEFI 启动菜单**里能看到: - Windows Boot Manager - ubuntu(或 GRUB) - **UEFI 启动顺序**:默认优先 **ubuntu/GRUB** 时,开机应直接出现 **GRUB 菜单**(无需每次按快捷键进 Boot Menu) - **GRUB** 能启动两系统 - Ubuntu 中: - `lsblk` 看分区布局符合预期 - Windows 分区可只读挂载(可选,避免误写) - Windows 中: - 设备管理器音频相关项无明显 Error(至少按 `OPERATION_Windows_Audio.md` 的顺序处理过)