文章目录
-
-
- 可行性
- 可用性
- 制作启动盘
- 推荐系统
- 国产系统下查看当前硬件型号
- 安装步骤
-
- 前置准备
- 动态无损分区
-
- [WePE + DiskGenius(推荐)](#WePE + DiskGenius(推荐))
- 国产系统下使用GParted
- 国产系统下使用命令行
- 安装Windows系统
- 修复GRUB引导
- 安装驱动
- 附录
-
可行性
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 系统。
- 硬件兼容性更好:绝大多数国产电脑主板没有集成TPM 2.0芯片,Windows 11强制要求TPM 2.0和安全启动,需要通过各种方式绕过,增加了安装难度和不稳定性
- 驱动支持更完善:很多国产硬件厂商只提供了Windows 10的驱动,没有Windows 11的适配,更很少提供对Windows 7及以下版本的系统驱动
镜像获取建议:
- 从微软官方网站下载原版Windows 10 ISO镜像:https://www.microsoft.com/zh-cn/software-download/windows10
- 避免使用各种修改版、精简版系统,这些系统可能包含恶意软件,且稳定性无法保证
- 下载完成后务必校验镜像的哈希值,确保文件完整无损
国产系统下查看当前硬件型号
在安装Windows之前,建议先在国产系统中记录下所有硬件的详细型号,以便后续查找Windows驱动。
图形界面方式
-
统信UOS:
- 打开「控制中心」→「系统信息」→「设备管理器」
- 依次展开各个分类,记录下CPU、显卡、声卡、网卡、无线网卡、蓝牙等设备的型号
-
银河麒麟:
- 打开「开始菜单」→「系统工具」→「设备管理器」
- 同样记录下所有硬件设备的型号
命令行方式
打开终端,执行以下命令:
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(推荐)
- 插入Ventoy启动盘,重启电脑,从U盘启动
- 在Ventoy菜单中选择WePE镜像,进入WePE系统
- 打开桌面上的「DiskGenius」工具
- 找到安装国产系统的硬盘,右键点击国产系统的数据分区(通常是最大的那个分区)
- 选择「调整分区大小」
- 在弹出的窗口中,拖动分区右侧的滑块,或者直接输入要划出的空间大小
- 建议给国产系统最多100GB空间,其他空间均划分给Windows系统
- 除非多硬盘,否则已经不建议进行多分区来区分系统盘和数据盘
- 点击「开始」,等待分区调整完成
- 【可选】创建主分区(推荐在安装系统时完成,此处无需操作)
- 调整完成后,会在硬盘末尾出现一块未分配的空间,右键点击这块空间
- 选择「建立新分区」
- 文件系统选择「NTFS」,分区类型选择「主分区」
- 点击「确定」,然后点击左上角的「保存更改」
- 等待分区创建完成
国产系统下使用GParted
- 在统信UOS/银河麒麟的终端直接输入「GParted」命令来打开GParted(默认已安装,如未安装可根据提示在商店中安装)
- 选择要操作的硬盘
- 右键点击数据分区(一般就是最大的分区),先点击「卸载分区」,再选择「调整大小/移动」
- 拖动滑块调整分区大小,留出足够的未分配空间
- 点击「应用全部操作」
- 【可选】创建新分区
- 操作完成后,右键点击未分配空间,选择「新建」
- 文件系统选择「ntfs」,点击「添加」
- 再次点击「应用全部操作」
国产系统下使用命令行
-
打开终端,执行以下命令查看磁盘分区信息:
bashsudo fdisk -l -
找到要调整的分区(例如/dev/sda2)
-
卸载该分区:
bashsudo umount /dev/sda2 -
使用parted工具调整分区大小:
bashsudo parted /dev/sda (parted) print (parted) resizepart 2 # 输入新的分区大小,例如100GB (parted) quit -
检查文件系统:
bashsudo e2fsck -f /dev/sda2 -
调整文件系统大小:
bashsudo resize2fs /dev/sda2 -
【可选】创建新分区
- 创建新的NTFS分区:
bashsudo fdisk /dev/sda (fdisk) n # 按提示创建新分区 (fdisk) t # 选择新创建的分区号 (fdisk) 7 # 设置分区类型为NTFS (fdisk) w- 格式化新分区:
bashsudo mkfs.ntfs /dev/sda3
安装Windows系统
Ventoy直接引导Windows镜像(推荐)
- 确保Windows 10 ISO镜像已经复制到Ventoy启动盘的ISO文件夹中
- 重启电脑,从Ventoy启动盘启动
- 在Ventoy菜单中选择Windows 10 ISO镜像
- 进入Windows安装程序,按照提示进行操作
- 当出现「你想将Windows安装在哪里?」的界面时,选择之前创建的未分配空间(或NTFS分区)
- 点击「下一步」,等待系统安装完成
- 系统会自动重启几次,期间不要拔掉U盘
WePE下虚拟光驱加载安装
- 从Ventoy启动盘启动进入WePE系统
- 打开虚拟光驱软件,选择加载新镜像
- 点击Windows 10 ISO镜像,选择「挂载为虚拟光驱」
- 打开虚拟光驱,双击运行「setup.exe」
- 进入Windows安装程序,按照提示进行操作
- 同样选择之前创建的未分配空间(或NTFS分区)进行安装
WePE下使用自动安装工具(解决安装失败问题)
这种方法是文件级别的复制操作,可以解决很多常规安装方式遇到的问题,例如安装程序找不到磁盘、安装过程中蓝屏等
- 从Ventoy启动盘启动进入WePE系统
- 打开桌面上的无人值守系统安装工具
- 点击「系统镜像」
- 点击「浏览」,找到Windows 10 ISO镜像
- 如果是多版本镜像,需要选择对应的版本(专业版、家庭版等)
- 在「目标分区」中选择之前创建的NTFS分区
- 填写用户名、密码等个性化设置选项
- 勾选「修复引导」等额外选项
- 点击「执行」,等待系统还原完成
- 安装完成后,重启电脑,系统会自动完成后续的安装配置
修复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 启动菜单,然后选择原来的国产系统的选项,进入到国产系统后再执行上面的脚本即可。
安装驱动
第一步:查找电脑品牌官网驱动(首选)
- 打开电脑品牌的官方网站
- 进入「支持」或「驱动下载」页面
- 输入电脑的具体型号(通常在电脑底部的标签上)
- 选择操作系统为「Windows」
- 下载所有可用的驱动程序,包括:
- 芯片组驱动
- 显卡驱动
- 声卡驱动
- 有线网卡驱动
- 无线网卡驱动
- 蓝牙驱动
- 摄像头驱动
- 电源管理驱动
- 按照以下顺序安装驱动:
- 芯片组驱动(必须第一个安装,安装后重启电脑)
- 显卡驱动
- 其他驱动(声卡、网卡等)
- 电源管理驱动(最后安装)
第二步前置可选:使用驱动精灵等安装
不推荐依赖该方式,仅推荐临时尝试,安装后卸载掉驱动精灵、驱动人生等软件。
- 该类软件广告和捆绑软件较多,小白容易躺枪。
- 该类软件主要支持主流硬件,对国产软件支持较弱。此外,明显感觉这类软件近几年重心和心思都花在如何广告、捆绑软件、限速来赚钱上了,对于收集硬件驱动反而不如之前上心了。
- 通过该类软件识别硬件型号来供下一步执行,也是不错的选择。
第二步:根据硬件型号查找驱动
如果品牌官网没有提供Windows 10驱动,就需要根据之前记录的硬件型号来查找驱动。
- 在Windows 10中,右键点击「此电脑」→「管理」→「设备管理器」
- 查看带有黄色感叹号的未识别设备
- 右键点击未识别设备→「属性」→「详细信息」
- 在「属性」下拉菜单中选择「硬件ID」
- 复制第一行硬件ID,例如「PCI\VEN_10EC&DEV_8168&SUBSYS_816810EC&REV_15」
- 使用搜索引擎搜索这个硬件ID + "Windows 10 驱动"
- 也可以对照之前在国产系统中记录的硬件型号,直接搜索该型号的Windows驱动
驱动安装方法
-
EXE安装包:
- 大多数官网提供的驱动都是EXE格式的安装包
- 直接双击运行,按照提示完成安装即可
- 安装完成后建议重启电脑
-
自动搜索文件夹安装INF驱动(最稳妥,推荐优先使用)
- 在设备管理器中,右键点击带有黄色感叹号的未识别设备
- 选择「更新驱动程序」
- 选择「浏览我的计算机以查找驱动程序软件」
- 点击「浏览」按钮,选择包含INF文件的整个驱动文件夹(不要只选到INF文件本身)
- 勾选「包括子文件夹」选项(非常重要,确保系统能扫描到所有子目录中的驱动文件)
- 点击「下一步」,系统会自动搜索并安装匹配的驱动
- 安装完成后重启电脑
-
手动选择单个INF文件强制安装(高级,仅自动搜索失败时使用)
- 当自动搜索无法找到合适驱动,或需要强制安装某个特定版本的驱动时使用。此方法有一定风险,可能导致系统不稳定或蓝屏。
- 在设备管理器中,右键点击带有黄色感叹号的未识别设备
- 选择「更新驱动程序」
- 选择「浏览我的计算机以查找驱动程序软件」
- 点击页面底部的「让我从计算机上的可用驱动程序列表中选取」
- 点击「从磁盘安装」按钮
- 点击「浏览」,找到并选中你要安装的单个INF文件
- 点击「确定」,系统会解析该INF文件并显示它支持的硬件型号
- 在列表中选择与你的硬件匹配的型号,点击「下一步」
- 此时系统会弹出**"Windows无法验证此驱动程序软件的发布者"或"不建议安装此驱动程序"**的警告提示
- 点击「仍然安装」或「是」确认强制安装
- 等待安装完成后重启电脑
强制安装驱动失败的紧急恢复方案
如果强制安装了不兼容的驱动,导致系统启动失败、蓝屏或无法进入登录界面,请按照以下步骤恢复:
-
进入Windows高级启动选项
- 系统启动时不停按F8,或强制重启电脑3次(在开机出现Windows Logo时长按电源键关机,重复3次)
- 系统会自动进入「自动修复」界面
- 点击「高级选项」→「疑难解答」→「高级选项」→「启动设置」
- 点击「重启」按钮
- 电脑重启后会显示启动设置菜单,按数字键4 或F4选择「启用安全模式」
-
卸载问题驱动
- 成功进入安全模式后,右键点击「此电脑」→「管理」→「设备管理器」
- 找到刚才强制安装驱动的硬件设备
- 右键点击该设备,选择「卸载设备」
- 非常重要 :在弹出的确认窗口中,务必勾选「删除此设备的驱动程序软件」
- 点击「卸载」按钮
- 卸载完成后重启电脑,系统会自动使用默认的通用驱动程序
附录
天阔N40国产笔记本Windows驱动
https://download.csdn.net/download/zhiyuan411/92880393