国产电脑/笔记本安装Windows双系统手记

文章目录

可行性

CPU是唯一决定是否可行的因素,如果不是海光或兆芯,不建议再继续折腾

具体参见 国产操作系统/Linux桌面系统使用手记#国产硬件平台对系统兼容性的影响

可用性

ARMv8及以上版本的CPU 在技术上理论可行,但实际可用性较差。如果需要尝试,推荐在虚拟机里安装Windows系统,例如飞腾CPU提供了PhyVirt不仅提供 ARM64 原生虚拟化加速技术来减少性能损耗,并通过虚拟化提供了 Windows on ARM 系统兼容的虚拟设备,大大提高了可用性。

GPU、固件、无线和蓝牙模块是影响可用性的重灾区,可以提前查看国产系统(统信/麒麟)中的硬件型号,并搜索是否存在对应的Windows驱动,来判断和评估可用性影响。

制作启动盘

推荐 Ventoy启动盘 + WePE系统,详见:https://blog.csdn.net/zhiyuan411/article/details/152757082,不再赘述。

推荐系统

首选推荐安装 Windows 10 家庭版/专业版。次选尝试安装 Windows 7 系统。

  1. 硬件兼容性更好:绝大多数国产电脑主板没有集成TPM 2.0芯片,Windows 11强制要求TPM 2.0和安全启动,需要通过各种方式绕过,增加了安装难度和不稳定性
  2. 驱动支持更完善:很多国产硬件厂商只提供了Windows 10的驱动,没有Windows 11的适配,更很少提供对Windows 7及以下版本的系统驱动

镜像获取建议

  • 从微软官方网站下载原版Windows 10 ISO镜像:https://www.microsoft.com/zh-cn/software-download/windows10
  • 避免使用各种修改版、精简版系统,这些系统可能包含恶意软件,且稳定性无法保证
  • 下载完成后务必校验镜像的哈希值,确保文件完整无损

国产系统下查看当前硬件型号

在安装Windows之前,建议先在国产系统中记录下所有硬件的详细型号,以便后续查找Windows驱动。

图形界面方式
  1. 统信UOS

    • 打开「控制中心」→「系统信息」→「设备管理器」
    • 依次展开各个分类,记录下CPU、显卡、声卡、网卡、无线网卡、蓝牙等设备的型号
  2. 银河麒麟

    • 打开「开始菜单」→「系统工具」→「设备管理器」
    • 同样记录下所有硬件设备的型号
命令行方式

打开终端,执行以下命令:

bash 复制代码
# 查看CPU信息
lscpu

# 查看显卡信息
lspci | grep VGA

# 查看所有PCI设备(包括声卡、网卡等)
lspci

# 查看USB设备(包括无线网卡、蓝牙、摄像头等)
lsusb

# 查看磁盘信息
lsblk

# 查看内存信息
sudo dmidecode -t memory

# 保存所有的硬件信息
# sudo apt install lshw
# sudo lshw -short
# sudo lshw -html > /tmp/hardware.html
sudo lshw > /tmp/hardware.txt

将这些命令的输出结果保存下来,后续查找驱动时会非常有用。

安装步骤

前置准备

主要是BIOS设置,推荐先保持默认状态进行安装,遇到问题再解决,参见:Win10 & Win11 安装和使用手记

动态无损分区
WePE + DiskGenius(推荐)
  1. 插入Ventoy启动盘,重启电脑,从U盘启动
  2. 在Ventoy菜单中选择WePE镜像,进入WePE系统
  3. 打开桌面上的「DiskGenius」工具
  4. 找到安装国产系统的硬盘,右键点击国产系统的数据分区(通常是最大的那个分区)
  5. 选择「调整分区大小」
  6. 在弹出的窗口中,拖动分区右侧的滑块,或者直接输入要划出的空间大小
    • 建议给国产系统最多100GB空间,其他空间均划分给Windows系统
    • 除非多硬盘,否则已经不建议进行多分区来区分系统盘和数据盘
  7. 点击「开始」,等待分区调整完成
  8. 【可选】创建主分区(推荐在安装系统时完成,此处无需操作)
    • 调整完成后,会在硬盘末尾出现一块未分配的空间,右键点击这块空间
    • 选择「建立新分区」
    • 文件系统选择「NTFS」,分区类型选择「主分区」
    • 点击「确定」,然后点击左上角的「保存更改」
    • 等待分区创建完成
国产系统下使用GParted
  1. 在统信UOS/银河麒麟的终端直接输入「GParted」命令来打开GParted(默认已安装,如未安装可根据提示在商店中安装)
  2. 选择要操作的硬盘
  3. 右键点击数据分区(一般就是最大的分区),先点击「卸载分区」,再选择「调整大小/移动」
  4. 拖动滑块调整分区大小,留出足够的未分配空间
  5. 点击「应用全部操作」
  6. 【可选】创建新分区
    • 操作完成后,右键点击未分配空间,选择「新建」
    • 文件系统选择「ntfs」,点击「添加」
    • 再次点击「应用全部操作」
国产系统下使用命令行
  1. 打开终端,执行以下命令查看磁盘分区信息:

    bash 复制代码
    sudo fdisk -l
  2. 找到要调整的分区(例如/dev/sda2)

  3. 卸载该分区:

    bash 复制代码
    sudo umount /dev/sda2
  4. 使用parted工具调整分区大小:

    bash 复制代码
    sudo parted /dev/sda
    (parted) print
    (parted) resizepart 2
    # 输入新的分区大小,例如100GB
    (parted) quit
  5. 检查文件系统:

    bash 复制代码
    sudo e2fsck -f /dev/sda2
  6. 调整文件系统大小:

    bash 复制代码
    sudo resize2fs /dev/sda2
  7. 【可选】创建新分区

    • 创建新的NTFS分区:
    bash 复制代码
    sudo fdisk /dev/sda
    (fdisk) n
    # 按提示创建新分区
    (fdisk) t
    # 选择新创建的分区号
    (fdisk) 7 # 设置分区类型为NTFS
    (fdisk) w
    • 格式化新分区:
    bash 复制代码
    sudo mkfs.ntfs /dev/sda3
安装Windows系统
Ventoy直接引导Windows镜像(推荐)
  1. 确保Windows 10 ISO镜像已经复制到Ventoy启动盘的ISO文件夹中
  2. 重启电脑,从Ventoy启动盘启动
  3. 在Ventoy菜单中选择Windows 10 ISO镜像
  4. 进入Windows安装程序,按照提示进行操作
  5. 当出现「你想将Windows安装在哪里?」的界面时,选择之前创建的未分配空间(或NTFS分区)
  6. 点击「下一步」,等待系统安装完成
  7. 系统会自动重启几次,期间不要拔掉U盘
WePE下虚拟光驱加载安装
  1. 从Ventoy启动盘启动进入WePE系统
  2. 打开虚拟光驱软件,选择加载新镜像
  3. 点击Windows 10 ISO镜像,选择「挂载为虚拟光驱」
  4. 打开虚拟光驱,双击运行「setup.exe」
  5. 进入Windows安装程序,按照提示进行操作
  6. 同样选择之前创建的未分配空间(或NTFS分区)进行安装
WePE下使用自动安装工具(解决安装失败问题)

这种方法是文件级别的复制操作,可以解决很多常规安装方式遇到的问题,例如安装程序找不到磁盘、安装过程中蓝屏等

  1. 从Ventoy启动盘启动进入WePE系统
  2. 打开桌面上的无人值守系统安装工具
  3. 点击「系统镜像」
  4. 点击「浏览」,找到Windows 10 ISO镜像
    • 如果是多版本镜像,需要选择对应的版本(专业版、家庭版等)
  5. 在「目标分区」中选择之前创建的NTFS分区
  6. 填写用户名、密码等个性化设置选项
  7. 勾选「修复引导」等额外选项
  8. 点击「执行」,等待系统还原完成
  9. 安装完成后,重启电脑,系统会自动完成后续的安装配置
修复GRUB引导

安装Windows后,在安装过程的重启中(接近安装完成,或者说已经安装完成,只需要继续完成第一次进入Windows的个性化设置即可),大概率并不能在启动菜单中看到Windows系统,这是因为国产系统强制锁定 UEFI 引导顺序,需要修复GRUB引导。

仍然进入到国产系统统信或者麒麟系统中,然后将下面内容保存为update-grub.sh文件,并添加可执行权限(chmod +x ./update-grub.sh),然后执行该脚本即可添加Windows选项,并设置为默认启动Windows、等待选择时间设置为10秒:

bash 复制代码
#!/bin/bash
set -euo pipefail

# ==================== 配置常量 ====================
GRUB_CONFIG="/etc/default/grub"
GRUB_CFG_BACKUP="/etc/default/grub.backup.$(date +%Y%m%d_%H%M%S)"
TIMEOUT_SECONDS=10

# ==================== 颜色定义 ====================
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# ==================== 工具函数 ====================
info() { echo -e "${BLUE}[INFO]${NC} $1"; }
success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; }
warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; }
error() { echo -e "${RED}[ERROR]${NC} $1"; exit 1; }

# ✅ 唯一准确的方法:提取GRUB实际显示的顶层启动菜单
# 不做任何猜测,严格按照grub.cfg中的顺序和标题输出
get_actual_boot_menu() {
    awk '
    BEGIN { depth=0; count=0 }
    /^[[:space:]]*(menuentry|submenu)[[:space:]]/ {
        if (depth == 0) {
            # 提取单引号之间的标题
            split($0, parts, /'\''/)
            print count, parts[2]
            count++
        }
    }
    /{/ { depth++ }
    /}/ { depth-- }
    ' /boot/grub/grub.cfg
}

# ==================== 权限检查 ====================
if [[ $EUID -ne 0 ]]; then
   error "此脚本必须以root权限运行,请使用 sudo $0"
fi

# ==================== 步骤1:备份原始配置 ====================
info "正在备份原始GRUB配置文件到: $GRUB_CFG_BACKUP"
cp "$GRUB_CONFIG" "$GRUB_CFG_BACKUP" || error "备份GRUB配置失败"
success "原始配置备份完成"

# ==================== 步骤2:基础配置修复 ====================
info "正在修复基础GRUB配置..."

# 强制启用os-prober
sed -i '/^#*GRUB_DISABLE_OS_PROBER/d' "$GRUB_CONFIG"
echo "GRUB_DISABLE_OS_PROBER=false" >> "$GRUB_CONFIG"

# 强制显示启动菜单
sed -i '/^GRUB_TIMEOUT_STYLE/d' "$GRUB_CONFIG"
echo "GRUB_TIMEOUT_STYLE=menu" >> "$GRUB_CONFIG"

# 设置超时时间
sed -i "s/^GRUB_TIMEOUT=.*/GRUB_TIMEOUT=${TIMEOUT_SECONDS}/" "$GRUB_CONFIG"

# 重新生成grub.cfg确保菜单最新
update-grub > /dev/null 2>&1
success "基础配置修复完成"

# ==================== 步骤3:展示实际启动菜单 ====================
echo
info "==================== 您的实际启动菜单(重启后看到的顺序) ===================="
BOOT_MENU=$(get_actual_boot_menu)
echo "$BOOT_MENU"
info "=================================================================================="
echo

# 验证菜单是否为空
if [[ -z "$BOOT_MENU" ]]; then
    error "无法读取启动菜单,请检查系统是否正常"
fi

# 获取最大有效索引
MAX_INDEX=$(echo "$BOOT_MENU" | wc -l)
MAX_INDEX=$((MAX_INDEX - 1))

info "以上就是您重启电脑后会看到的启动菜单,序号从0开始"
info "请仔细对照,输入您想要设置为默认启动的序号"
echo

# ==================== 步骤4:用户手动选择默认项 ====================
while true; do
    read -p "请输入默认启动项的序号 [0-$MAX_INDEX]: " DEFAULT_INDEX
    
    # 验证输入是否为数字
    if ! [[ "$DEFAULT_INDEX" =~ ^[0-9]+$ ]]; then
        warning "无效输入,请输入0到$MAX_INDEX之间的数字"
        continue
    fi
    
    # 验证索引是否在有效范围内
    if [[ "$DEFAULT_INDEX" -lt 0 || "$DEFAULT_INDEX" -gt "$MAX_INDEX" ]]; then
        warning "序号超出范围,有效范围是 0 到 $MAX_INDEX"
        continue
    fi
    
    # 获取用户选择的启动项名称
    DEFAULT_ENTRY=$(echo "$BOOT_MENU" | sed -n "$((DEFAULT_INDEX + 1))p" | cut -d' ' -f2-)
    
    echo
    read -p "确认将默认启动项设置为: $DEFAULT_ENTRY (y/N): " -n 1 -r
    echo
    if [[ $REPLY =~ ^[Yy]$ ]]; then
        break
    else
        info "已取消,请重新输入"
    fi
done

# ==================== 步骤5:应用设置 ====================
info "正在应用设置..."
sed -i "s/^GRUB_DEFAULT=.*/GRUB_DEFAULT=$DEFAULT_INDEX/" "$GRUB_CONFIG"
update-grub > /dev/null 2>&1

# ==================== 步骤6:最终验证 ====================
echo
success "设置完成!"
echo
info "==================== 最终配置确认 ===================="
echo "启动菜单超时时间: $TIMEOUT_SECONDS 秒"
echo "默认启动项序号: $DEFAULT_INDEX"
echo "默认启动项名称: $DEFAULT_ENTRY"
info "======================================================"
echo

# 恢复提示
info "如需恢复原始配置,请执行以下命令:"
info "sudo cp $GRUB_CFG_BACKUP /etc/default/grub && sudo update-grub"
echo

# ==================== 重启提示 ====================
read -p "是否现在重启系统验证设置?(y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
    info "系统将在5秒后重启..."
    sleep 5
    reboot
else
    info "请稍后手动重启系统使设置生效"
fi

如果遇到仅有Windows启动选项,而丢失了之前国产系统的启动选项,则在启动时按F12(或 F11、F7,不同品牌快捷键不同)进入BIOS 启动菜单,然后选择原来的国产系统的选项,进入到国产系统后再执行上面的脚本即可。

安装驱动
第一步:查找电脑品牌官网驱动(首选)
  1. 打开电脑品牌的官方网站
  2. 进入「支持」或「驱动下载」页面
  3. 输入电脑的具体型号(通常在电脑底部的标签上)
  4. 选择操作系统为「Windows」
  5. 下载所有可用的驱动程序,包括:
    • 芯片组驱动
    • 显卡驱动
    • 声卡驱动
    • 有线网卡驱动
    • 无线网卡驱动
    • 蓝牙驱动
    • 摄像头驱动
    • 电源管理驱动
  6. 按照以下顺序安装驱动:
    1. 芯片组驱动(必须第一个安装,安装后重启电脑)
    2. 显卡驱动
    3. 其他驱动(声卡、网卡等)
    4. 电源管理驱动(最后安装)
第二步前置可选:使用驱动精灵等安装

不推荐依赖该方式,仅推荐临时尝试,安装后卸载掉驱动精灵、驱动人生等软件。

  1. 该类软件广告和捆绑软件较多,小白容易躺枪。
  2. 该类软件主要支持主流硬件,对国产软件支持较弱。此外,明显感觉这类软件近几年重心和心思都花在如何广告、捆绑软件、限速来赚钱上了,对于收集硬件驱动反而不如之前上心了。
  3. 通过该类软件识别硬件型号来供下一步执行,也是不错的选择。
第二步:根据硬件型号查找驱动

如果品牌官网没有提供Windows 10驱动,就需要根据之前记录的硬件型号来查找驱动。

  1. 在Windows 10中,右键点击「此电脑」→「管理」→「设备管理器」
  2. 查看带有黄色感叹号的未识别设备
  3. 右键点击未识别设备→「属性」→「详细信息」
  4. 在「属性」下拉菜单中选择「硬件ID」
  5. 复制第一行硬件ID,例如「PCI\VEN_10EC&DEV_8168&SUBSYS_816810EC&REV_15」
  6. 使用搜索引擎搜索这个硬件ID + "Windows 10 驱动"
  7. 也可以对照之前在国产系统中记录的硬件型号,直接搜索该型号的Windows驱动
驱动安装方法
  1. EXE安装包

    • 大多数官网提供的驱动都是EXE格式的安装包
    • 直接双击运行,按照提示完成安装即可
    • 安装完成后建议重启电脑
  2. 自动搜索文件夹安装INF驱动(最稳妥,推荐优先使用)

    • 在设备管理器中,右键点击带有黄色感叹号的未识别设备
    • 选择「更新驱动程序」
    • 选择「浏览我的计算机以查找驱动程序软件」
    • 点击「浏览」按钮,选择包含INF文件的整个驱动文件夹(不要只选到INF文件本身)
    • 勾选「包括子文件夹」选项(非常重要,确保系统能扫描到所有子目录中的驱动文件)
    • 点击「下一步」,系统会自动搜索并安装匹配的驱动
    • 安装完成后重启电脑
  3. 手动选择单个INF文件强制安装(高级,仅自动搜索失败时使用)

    • 当自动搜索无法找到合适驱动,或需要强制安装某个特定版本的驱动时使用。此方法有一定风险,可能导致系统不稳定或蓝屏
    • 在设备管理器中,右键点击带有黄色感叹号的未识别设备
    • 选择「更新驱动程序」
    • 选择「浏览我的计算机以查找驱动程序软件」
    • 点击页面底部的「让我从计算机上的可用驱动程序列表中选取」
    • 点击「从磁盘安装」按钮
    • 点击「浏览」,找到并选中你要安装的单个INF文件
    • 点击「确定」,系统会解析该INF文件并显示它支持的硬件型号
    • 在列表中选择与你的硬件匹配的型号,点击「下一步」
    • 此时系统会弹出**"Windows无法验证此驱动程序软件的发布者""不建议安装此驱动程序"**的警告提示
    • 点击「仍然安装」或「是」确认强制安装
    • 等待安装完成后重启电脑
强制安装驱动失败的紧急恢复方案

如果强制安装了不兼容的驱动,导致系统启动失败、蓝屏或无法进入登录界面,请按照以下步骤恢复:

  1. 进入Windows高级启动选项

    1. 系统启动时不停按F8,或强制重启电脑3次(在开机出现Windows Logo时长按电源键关机,重复3次)
    2. 系统会自动进入「自动修复」界面
    3. 点击「高级选项」→「疑难解答」→「高级选项」→「启动设置」
    4. 点击「重启」按钮
    5. 电脑重启后会显示启动设置菜单,按数字键4F4选择「启用安全模式」
  2. 卸载问题驱动

    1. 成功进入安全模式后,右键点击「此电脑」→「管理」→「设备管理器」
    2. 找到刚才强制安装驱动的硬件设备
    3. 右键点击该设备,选择「卸载设备」
    4. 非常重要 :在弹出的确认窗口中,务必勾选「删除此设备的驱动程序软件」
    5. 点击「卸载」按钮
    6. 卸载完成后重启电脑,系统会自动使用默认的通用驱动程序

附录

天阔N40国产笔记本Windows驱动

https://download.csdn.net/download/zhiyuan411/92880393

中科可控NZ43A国产笔记本Windows驱动

https://download.csdn.net/download/zhiyuan411/92880403

相关推荐
J2虾虾1 小时前
Spring AI Alibaba - 记忆管理(Memory)
人工智能·windows·spring
ZnS_oscar2 小时前
如何删除自我保护性强的程序
windows
麦意紫苏川2 小时前
HTML5进化论:重塑现代Web开发的基石
windows
fengyehongWorld2 小时前
Windows 命令行包管理工具scoop的使用
windows
思麟呀2 小时前
C++11并发编程:互斥锁
linux·开发语言·c++·windows
xiaoliuliu123453 小时前
LaTeX 2023 (TeX Live + TeXstudio) 安装与汉化教程 Windows版:自定义路径+编辑器配置指南
windows·编辑器
技术达芬奇3 小时前
如何让 WSL 2 在后台持续运行:彻底解决关闭终端后 WSL 退出问题(Hermes Agent 持续运行)
windows·agent
一个人旅程~4 小时前
完整精华版macbookHighSierra 至Montere-Ventyra版本跨越评估与避坑指南(含证书有效期)
windows·经验分享·macos·电脑
Cheng小攸4 小时前
【无标题】
windows