尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Ubuntu与Windows 10双系统安装与引导修复全攻略

Ubuntu与Windows 10双系统安装与引导修复全攻略 1. 从“双系统”到“真机共存”一个被误解的命题“在Ubuntu系统上安装Windows 10”这个标题乍一看可能会让很多老玩家会心一笑或者眉头一皱。因为按照传统的理解这几乎是一个“不可能”的任务。我们通常所说的“双系统”是指在物理硬盘上划分出不同的分区分别安装两个独立的操作系统通过引导程序如GRUB来选择启动哪一个。在这种模式下Ubuntu和Windows是平级的各自占据一块地盘互不隶属。所以严格来说不存在“在Ubuntu系统上安装Windows”这种说法更常见的表述是“在已有Ubuntu的电脑上再安装一个Windows 10组成双系统”。然而这个标题之所以能成为搜索热点恰恰反映了大量用户一个真实且迫切的需求场景我已经在用Ubuntu作为主力系统了但现在因为工作、学习或娱乐比如必须使用某个仅支持Windows的专业软件、玩某个游戏需要在同一台电脑上也能运行Windows。他们不想完全重装系统抹掉Ubuntu也不想仅仅为了偶尔用一下Windows而长期开着虚拟机消耗资源。他们想要的是一个独立、完整、性能无损的Windows环境与Ubuntu并存。因此这篇内容的核心就是解决这个“看似矛盾”的需求。我将为你详细拆解如何在已经安装了Ubuntu的电脑上安全、稳定地新增安装一个Windows 10实现真正的双系统引导。这个过程涉及磁盘分区、引导修复、驱动兼容等一系列关键操作一步走错就可能导致数据丢失或系统无法启动。我会结合我多次实操的经验把每个环节的原理、风险和具体操作都讲透让你不仅能跟着做更能明白为什么这么做。2. 前期准备比安装本身更重要的一小时在动手之前充分的准备是成功的一半也能避免99%的灾难性后果。这个阶段请务必耐心完成。2.1 硬件与软件清单核查首先确认你的电脑硬件是否支持。你需要一台已安装Ubuntu的电脑本文以Ubuntu 22.04 LTS为例其他版本大同小异。一个容量至少16GB的U盘用于制作Windows 10安装介质。推荐使用USB 3.0接口的U盘速度更快。Windows 10 ISO镜像文件从微软官网下载正版镜像。建议选择最新版本的Windows 10驱动兼容性更好。记住你下载的镜像版本如家庭版、专业版。足够的磁盘空间这是关键。Windows 10系统盘建议预留至少80GB空间考虑到后续更新和软件安装100GB以上更为稳妥。你需要从现有的Ubuntu磁盘中“挤”出这部分空间。2.2 关键数据备份不容有失的第一步这是整个流程中最重要、没有之一的一步。分区操作和引导修复都有小概率风险导致数据丢失或系统无法进入。个人文件备份将/home目录下的文档、图片、代码、配置文件等拷贝到外部硬盘、NAS或云盘。系统配置备份记录下你安装的特殊软件、自定义的系统设置。对于开发者可以导出已安装的软件包列表dpkg --get-selections package_list.txt。制作Ubuntu启动盘可选但强烈建议准备另一个U盘制作一个当前Ubuntu版本的Live USB。万一引导出问题你可以用它启动电脑并修复这是你的“救命稻草”。2.3 为Windows腾出磁盘空间在Ubuntu下我们可以使用图形化的“磁盘”工具Disks或命令行工具gparted来调整分区。强烈建议使用GParted Live USB因为在调整已挂载的系统分区时操作更稳定、更灵活。启动GParted如果你不想重启进入Live USB也可以在Ubuntu中安装gpartedsudo apt install gparted但操作扩展分区和移动分区时对已挂载的分区是灰色的。最安全的方法是使用Ubuntu安装U盘启动选择“试用Ubuntu”然后在试用环境中安装并运行gparted。缩小现有分区在GParted中找到你的Ubuntu系统所在的分区通常是最大的那个ext4分区。右键点击它选择“调整大小/移动”。在弹窗中你可以通过拖动右侧的滑块或者直接输入新的大小来缩小这个分区。这会从分区的尾部释放出未分配的空间。例如一个500GB的分区你将其调整为400GB尾部就会产生约100GB的“未分配”空间。操作前请确保该分区有足够的剩余空间远大于你想缩小的容量并且最好先进行文件系统检查sudo e2fsck -f /dev/sdXY和碎片整理对于ext4其实碎片很少但检查无妨。创建新分区在释放出的“未分配”空间上右键选择“新建”。我们需要创建两个分区EFI系统分区仅限UEFI启动模式如果你的电脑是近几年购买的很可能使用的是UEFI启动模式。你需要一个额外的EFI分区来存放Windows的引导文件。大小建议为100MB-500MB文件系统选择fat32标志设置为boot和esp。NTFS主分区用于安装Windows系统。将剩余的所有空间分配给它文件系统选择ntfs标签可以设为“Windows”方便识别。注意如果你的电脑是传统的BIOS启动模式Legacy则不需要创建额外的EFI分区但需要确保有一个“活动”标志的主分区。不过现代电脑和Ubuntu默认安装都倾向于UEFI模式本文后续以UEFI模式为准。你可以通过在Ubuntu终端执行ls /sys/firmware/efi来确认如果目录存在就是UEFI模式。完成分区调整后点击GParted工具栏的绿色对勾按钮应用所有操作。这个过程可能需要一些时间取决于数据量的大小期间切勿断电或强制关机。3. 制作安装介质与安装Windows 10准备好空间后我们就可以开始安装Windows了。3.1 制作Windows 10安装U盘在Ubuntu下我们不再使用Windows平台的Rufus工具而是使用开源强大的WoeUSB或Ventoy。方法一使用WoeUSB添加WoeUSB的PPA并安装sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt update sudo apt install woeusb插入U盘使用命令sudo woeusb --device /path/to/windows10.iso /dev/sdX将/path/to/windows10.iso替换为你的ISO文件路径/dev/sdX替换为你的U盘设备如sdb注意不要带数字如sdb1是错误的。这个命令会格式化U盘请再次确认U盘内无重要数据。方法二使用Ventoy更推荐Ventoy的优势在于你只需要一次性制作启动U盘之后只需将各种ISO文件Windows、Linux、PE等拷贝到U盘里即可启动无需反复格式化。从Ventoy官网下载Linux版本压缩包。解压后在终端进入解压目录执行sudo ./Ventoy2Disk.sh -i /dev/sdX同样sdX是你的U盘设备。完成后U盘会被分成两个区一个Ventoy数据区一个存放ISO文件的分区。将下载好的Windows 10 ISO文件直接拷贝到U盘的数据分区根目录即可。3.2 安装Windows 10到指定分区从U盘启动重启电脑在开机时按下启动菜单键通常是F12、F10、F2、Esc等因主板而异选择从你的Windows安装U盘启动。进行安装跟随Windows安装向导直到出现“你想将Windows安装在哪里”的界面。选择分区这里你会看到磁盘列表。找到我们之前为Windows创建的那个大容量NTFS分区你可以通过大小来识别。至关重要的一步选中这个分区然后点击“格式化”。这会在该分区上创建正确的NTFS文件系统。格式化完成后确保选中这个分区点击“下一步”。完成安装之后Windows安装程序会自动复制文件、安装功能、更新等期间会重启数次。请确保在第一次重启后及时拔掉U盘否则可能会再次进入安装界面。让安装过程继续直到进入Windows的初始设置界面区域、键盘、账户等。4. 修复引导让GRUB重新掌控全局安装完成后你会发现电脑直接进入了Windows 10而Ubuntu消失了。这是因为Windows的引导程序Windows Boot Manager覆盖了硬盘的EFI系统分区ESP中的Ubuntu引导项并取得了控制权。我们的目标是把GRUB找回来让它同时管理两个系统。4.1 使用Ubuntu Live USB修复GRUB进入Ubuntu Live环境插入之前准备好的Ubuntu安装U盘或包含Ubuntu ISO的Ventoy U盘重启并从U盘启动选择“试用Ubuntu”。挂载关键分区打开终端我们需要挂载原来的Ubuntu根分区和EFI系统分区。首先用sudo fdisk -l或lsblk -f查看磁盘分区情况。识别出你的Ubuntu根分区通常是ext4类型较大和EFI系统分区fat32类型较小约100-500MB。假设Ubuntu根分区是/dev/nvme0n1p2EFI分区是/dev/nvme0n1p1NVMe硬盘或/dev/sda1SATA硬盘。创建挂载点并挂载sudo mkdir /mnt/ubuntu sudo mount /dev/nvme0n1p2 /mnt/ubuntu # 挂载根分区 sudo mount /dev/nvme0n1p1 /mnt/ubuntu/boot/efi # 挂载EFI分区如果/boot/efi存在 # 如果/boot/efi不存在可能需要挂载到 /mnt/ubuntu/efi取决于你Ubuntu的安装结构对于更复杂的设置如使用了LVM、加密等还需要挂载其他必要的虚拟文件系统sudo mount --bind /dev /mnt/ubuntu/dev sudo mount --bind /dev/pts /mnt/ubuntu/dev/pts sudo mount --bind /proc /mnt/ubuntu/proc sudo mount --bind /sys /mnt/ubuntu/sysChroot并修复GRUBChrootchange root可以让我们将当前环境切换到已安装的Ubuntu系统内部进行操作。sudo chroot /mnt/ubuntu现在终端提示符应该变了你“进入”了你的原Ubuntu系统。首先更新GRUB配置让它探测到新安装的Windowsupdate-grub这个命令会运行os-prober工具自动扫描所有磁盘分区上的操作系统并将它们添加到GRUB菜单中。你会在输出信息里看到类似“找到 Windows Boot Manager 在 /dev/nvme0n1p1”的提示。然后将GRUB引导程序重新安装到EFI系统分区grub-install /dev/nvme0n1 # 注意这里是磁盘设备如nvme0n1, sda不是分区最后退出chroot环境并卸载分区exit sudo umount -R /mnt/ubuntu重启验证拔掉U盘重启电脑。现在你应该能看到熟悉的GRUB引导菜单了菜单里会同时包含Ubuntu和Windows 10的选项。选择Ubuntu确认能正常进入再重启选择Windows 10确认也能正常进入。至此双系统引导修复完成。4.2 可能遇到的问题与解决方案update-grub没有找到Windows这可能是因为os-prober默认被禁用某些发行版出于安全考虑。在chroot环境中编辑/etc/default/grub文件确保GRUB_DISABLE_OS_PROBERfalse。然后重新运行update-grub。时间不同步问题进入Windows和Ubuntu后你可能会发现两个系统的时间相差8小时或其它时区差。这是因为Windows默认将硬件时钟RTC视为本地时间而Linux视为UTC时间。解决方法在Windows中以管理员身份运行命令提示符输入reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1并重启或者在Ubuntu中将硬件时钟改为本地时间sudo timedatectl set-local-rtc 1 --adjust-system-clock。个人建议在Windows端修改注册表这是更干净的方法。无法挂载NTFS分区在Ubuntu中访问Windows的NTFS分区需要ntfs-3g驱动Ubuntu通常已预装。如果遇到只读情况可能是因为Windows开启了“快速启动”导致分区处于休眠状态。在Windows中进入“电源选项”-“选择电源按钮的功能”-“更改当前不可用的设置”然后取消勾选“启用快速启动”保存修改并彻底关闭Windows非重启再进入Ubuntu即可正常读写。5. 驱动与系统优化让双系统和谐共处安装和引导都搞定后还有一些细节需要打磨以获得最佳的双系统体验。5.1 驱动安装与更新Windows端首次进入Windows 10系统会自动通过Windows Update安装大部分基础驱动。但为了获得最佳性能特别是对于显卡NVIDIA/AMD、声卡、网卡特别是Wi-Fi和芯片组建议去电脑制造商如Dell、Lenovo官网或硬件厂商如NVIDIA、Intel官网下载并安装最新的官方驱动。Ubuntu端通常开源驱动已足够好用。对于NVIDIA显卡如果你需要更好的3D性能或CUDA支持可以在“软件和更新”的“附加驱动”选项卡中选择专有的NVIDIA驱动进行安装。重启后生效。5.2 共享数据分区为了方便在两个系统间交换文件可以专门划分一个共享数据分区。在磁盘剩余空间或调整出一个新分区格式化为exFAT或NTFS。exFAT的优势是Windows和Linux都能原生读写且没有单个文件4GB的大小限制非常适合作为共享盘。在Ubuntu中安装exfat-fuse和exfat-utilssudo apt install exfat-fuse exfat-utils来支持exFAT。在两个系统中都可以将此分区设置为开机自动挂载。在Ubuntu中可以通过图形化“磁盘”工具设置挂载点并启用自动挂载选项。5.3 引导菜单的美化与默认项设置如果你觉得GRUB菜单不够美观或等待时间不合适可以进行定制。修改默认启动项和等待时间编辑/etc/default/grub文件。GRUB_DEFAULT0设置默认启动项0是第一个saved是记住上次选择。GRUB_TIMEOUT10菜单等待时间秒。GRUB_TIMEOUT_STYLEmenu显示菜单若设为hidden则隐藏。 修改后运行sudo update-grub使更改生效。安装GRUB主题有大量社区制作的GRUB主题如grub2-themes包可以让引导菜单更漂亮。6. 高阶话题与备选方案6.1 UEFI固件设置BIOS设置的影响在整个过程中UEFI固件设置是关键。你需要确保安全启动Secure BootWindows安装通常需要开启。Ubuntu大多数版本也支持。如果安装或引导遇到问题可以尝试暂时关闭安全启动。启动顺序确保你的硬盘通常是带有“Windows Boot Manager”和“ubuntu”条目的那个在启动顺序的首位。有时安装Windows后UEFI会新增一个“Windows Boot Manager”条目并置顶你可以进入固件设置调整顺序或者如前所述通过修复GRUB来统一管理。6.2 备选方案虚拟机VM与WSL2在Ubuntu上运行Windows除了双系统还有更轻量级的方案适合不同场景虚拟机如VirtualBox, VMware Workstation Player适合需要同时运行两个系统并且对性能损失不敏感的场景如测试软件、运行老游戏。好处是完全隔离无需分区和修复引导快照功能方便回滚。缺点是3D图形性能和硬件直通如USB设备支持有限。WSL2 (Windows Subsystem for Linux 2)这是在Windows上运行Linux的方案与我们的需求相反。但它代表了另一种思路如果你90%的时间需要Windows只有开发等场景需要Linux那么WSL2是绝佳选择。它提供了近乎原生的Linux内核体验。6.3 彻底移除Windows如果未来你不再需要Windows想回收空间操作需要谨慎在Windows中备份所有个人数据。进入Ubuntu使用GParted删除为Windows创建的NTFS分区和额外的EFI分区如果有。将释放出的空间合并回Ubuntu的扩展分区或逻辑卷。最后在Ubuntu中运行sudo update-grubGRUB会自动从菜单中移除Windows选项。整个“在Ubuntu系统上安装Windows 10”的过程本质上是一场精密的磁盘空间与引导权的“手术”。核心难点和风险点集中在分区调整和引导修复。我强烈建议在操作前花时间完整阅读并理解每一步的目的尤其是备份数据和制作恢复盘。一旦你成功完成一次就会发现这套流程其实有很强的规律性。以后无论是调整分区大小、重装某个系统还是尝试其他Linux发行版与Windows共存你都能从容应对。双系统的魅力就在于它给了你一把钥匙可以随时打开两个截然不同的数字世界根据当下的需要自由切换。
返回列表