在Linux下重装Windows的完全指南

在Linux下重装Windows的完全指南

许多Linux用户出于工作或游戏需要,可能会在已有Linux系统的基础上重装Windows。由于Windows的引导方式与Linux不同,如果不加处理,重装后会导致Linux引导丢失。本文将详细介绍在Linux下安全重装Windows的完整流程,涵盖UEFI和传统BIOS两种模式。

准备工作

  1. 备份数据:重装系统有数据丢失风险,务必提前备份Linux家目录和重要文件。
  2. 确认启动模式:使用命令 ls /sys/firmware/efi 判断系统是否为UEFI模式。若存在文件则为UEFI,否则为传统BIOS。
  3. 准备Windows安装介质:从微软官网下载ISO镜像,并使用dd命令或工具(如Rufus)制作启动U盘。在Linux下推荐 dd if=windows.iso of=/dev/sdX bs=4M status=progress(注意替换sdX为U盘设备)。
  4. 调整分区:使用GParted或fdisk缩容Linux分区,为Windows腾出空闲空间。Windows通常需要至少50GB。注意不要格式化Linux分区。

安装Windows

  1. 重启电脑并进入BIOS/UEFI,设置从U盘启动。
  2. 在Windows安装界面,选择“自定义(高级)”。此时会看到空闲空间,创建分区:选中空闲空间,点击“新建”,Windows会自动创建系统分区(ESP/MSR)和主分区。注意不要删除或格式化Linux分区。
  3. 继续完成Windows安装。安装后系统会自动以Windows的引导管理器启动,Linux将暂时无法进入。

修复GRUB引导

方法一:使用Live USB进入救援模式

  1. 准备一个Linux Live USB(同发行版推荐)。
  2. 从Live USB启动,打开终端,挂载Linux根分区(假设为 /dev/sda2):
    mount /dev/sda2 /mnt
    挂载EFI分区(若UEFI):
    mount /dev/sda1 /mnt/boot/efi
  3. 进入chroot环境:
    for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
    sudo chroot /mnt
  4. 重新安装GRUB:
    • UEFI:grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
    • 传统BIOS:grub-install /dev/sda(sda是硬盘设备)
  5. 更新GRUB配置:update-grub 或 grub-mkconfig -o /boot/grub/grub.cfg
  6. 退出chroot:exit,然后重启。此时应出现GRUB菜单,其中包含Linux和Windows选项。

方法二:使用Boot-Repair工具(推荐新手)

  1. 从Live USB启动,连接网络。
  2. 添加PPA并安装Boot-Repair:
    sudo add-apt-repository ppa:yannubuntu/boot-repair
    sudo apt update
    sudo apt install boot-repair
  3. 运行 boot-repair,点击“推荐修复”,工具会自动检测并修复GRUB。

常见问题与注意事项

  • Windows覆盖了GRUB:这是正常现象,修复GRUB即可。
  • 无法识别Windows:确保在chroot中运行 os-prober 和 update-grub。
  • 时间错乱:Windows使用本地时间,Linux使用UTC。在Linux下执行 timedatectl set-local-rtc 1 --adjust-system-clock 解决。
  • 双系统启动默认顺序:可编辑 /etc/default/grub 调整 GRUB_DEFAULT。

通过以上步骤,你可以在保留Linux系统的情况下成功重装Windows,并实现双系统引导。记得定期备份重要数据,以防意外。