更新源码
This commit is contained in:
175
docs/meta/OPERATION_DualBoot_Ubuntu24_Windows.md
Normal file
175
docs/meta/OPERATION_DualBoot_Ubuntu24_Windows.md
Normal file
@@ -0,0 +1,175 @@
|
||||
# Ubuntu 24.04 + Windows 双系统安装(Chromebox 10th / Kaisa / coreboot)
|
||||
|
||||
本文给出一条可复现的双系统路径:**先装 Windows,再装 Ubuntu 24.04**(推荐),并覆盖常见坑:UEFI 启动项、GRUB 修复、时钟、以及本项目关心的 **Windows 音频驱动(CoolStar/ALC5682/SOF)** 与 **Linux HWE 6.17 内核编译/安装** 的衔接。
|
||||
|
||||
> 适用范围:coreboot/UEFI 引导的 Chromebox(Kaisa 类),磁盘为 NVMe/SATA 均可。
|
||||
> 说明:不同机型 BIOS 菜单与快捷键略有差异,但总体流程一致。
|
||||
|
||||
---
|
||||
|
||||
## 一、安装前准备(强烈建议)
|
||||
|
||||
- **备份**:重要数据全量备份;如可行,先做整盘镜像。
|
||||
- **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(看内存与休眠需求)
|
||||
|
||||
> 若你计划在 Ubuntu 上编译 `linux-hwe-6.17` deb:建议 Ubuntu 分区额外留出 **≥35–50GB 空闲**(见本仓库 `docs/meta/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` 的顺序处理过)
|
||||
|
||||
Reference in New Issue
Block a user