1. 开工之前:先搞懂这台机器的底细
雷神新911这类游戏本,我在线下帮朋友装系统时摸过不少,它最大的特点就是预留了两个M.2插槽,但很多人出于成本考虑只插了一块NVMe固态,于是单硬盘装双系统就成了刚需场景。加上新911预装的是正版Windows 10,很多用户又不想格掉原厂系统,既想留着保修和预装环境,又想日常开发用Linux,这就得在一张盘上同时伺候两个系统。
先说结论:这类机型默认走UEFI引导加GPT分区表,Win和Ubuntu双系统完全可行,而且比老式Legacy BIOS加MBR分区要干净得多。UEFI的好处是有独立的EFI系统分区(ESP),所有操作系统的引导文件都可以塞进这个分区里,由固件统一调度。你开机时看到的那块蓝色GRUB菜单,本质上就是一个放在ESP分区里的引导程序,它负责把Windows Boot Manager和Ubuntu的内核一起列出来。
动手前还有一个容易被忽略的点:雷神新911的BIOS设置里,有些批次默认开了安全启动(Secure Boot),有些则是关着的。Ubuntu从18.04往后对Secure Boot的支持已经很成熟,装完一般能直接进系统,但如果你装完卡在引导阶段,大概率就是Secure Boot在捣乱。我的建议是装机前先顺手关掉它,省得后面排查问题多绕一圈。这个操作不影响Windows运行,最多就是开机时少了一个固件校验环节,速度反而会快一点点。
另外提醒一句:既然是单硬盘,数据安全第一。实际操作前,把Windows里的重要资料先备份到移动硬盘或者网盘上。哪怕分区做得再小心,电源抖动、操作失误、格式化选错盘这种事,一旦发生就是不可逆的。我见过太多人信誓旦旦说“我就分个区不会丢”,结果半夜哭着来找我问还能不能找回照片。备份不丢人,不备份才麻烦。
1.1 为什么单硬盘双系统要先理清引导方式
很多教程上来就教你怎么分区、怎么点下一步,但我建议你先花两分钟搞明白引导链路,因为双系统装坏了,八成都是引导问题,而不是系统本身的问题。
现代UEFI启动的完整链路是这样的:开机后固件读取硬盘上的EFI分区,找到里面注册过的引导项(比如ubuntu目录下的grubx64.efi、Microsoft目录下的bootmgfw.efi),然后按照NVRAM里的启动顺序执行。双系统装好后,默认由GRUB接管,GRUB再链式加载Windows的引导文件。所以本质上,Ubuntu的安装器干了一件事:把GRUB写进ESP分区,并且把Windows Boot Manager的路径写进GRUB的配置文件里。
理解了这个逻辑,你就明白为什么网上常说“先装Windows再装Ubuntu”。Windows的安装器有个霸道脾气:如果你的硬盘里已经存在其他系统的引导文件,它可能会重置或覆盖部分ESP内容。而Ubuntu的安装器则比较客气,它检测到Windows存在时,会自动在GRUB菜单里加入Windows启动项。所以先装Windows、后装Ubuntu,是操作最顺、踩坑最少的顺序。如果你反着来,后面还得用各种工具去重建Windows引导,徒增工作量。
还有一个细节:新911原厂Windows的分区布局里,通常有一个几百MB的EFI分区、一个MSR保留分区、一个主系统分区C盘,还有一个恢复分区。这些分区你都要看在眼里、记在心里,装Ubuntu时千万别手滑格式化掉不认识的分区。
1.2 雷神新911的硬件差异与预判
新911这个型号其实覆盖了好几个配置版本,有十代酷睿配GTX 1650的,也有十一代酷睿配RTX 3060的,它们的BIOS界面和默认设置略有差异,但大逻辑是通用的。我的经验是:先确认你手上这款的BIOS版本和默认显存分配方式。少数机器出厂开启了CSM兼容模式,这会导致Ubuntu安装器以Legacy方式识别硬盘,装出来的系统跟UEFI引导对不上,开机就是黑屏或找不到启动设备。
你可以在Windows里打开msinfo32,看“BIOS模式”那一栏。显示“UEFI”就是正常的,显示“传统”的话,进BIOS把CSM关掉。还有一个判断方法:查看磁盘管理里是否有EFI系统分区,有的话基本可以确认走的是UEFI。
另外,新911因为是游戏本,独立显卡是NVIDIA家的。这一点对Ubuntu安装影响不小:NVIDIA显卡在开源驱动nouveau下表现极差,尤其是新卡,装系统时可能直接花屏、黑屏或者卡在Logo界面。这不代表你装错了,只是驱动没跟上。后面我会专门讲怎么处理这个坑。
2. 分区方案:单硬盘双系统的命门
分区规划是整个双系统安装里最值得花心思的环节。很多人随便压缩个100GB出来就给Ubuntu用,结果用几个月就发现/home不够了,或者swap分区设太小导致休眠老出问题。我希望你在一开始就想清楚布局,省得后面推倒重来。
先说一个核心原则:Ubuntu和Windows最好各自管好自己的分区,尤其是EFI分区。有人喜欢让两个系统共用同一个ESP分区,Ubuntu安装器默认也支持这么做。但这个方案有个隐患:Windows更新偶尔会重写EFI分区里的引导文件,遇到脾气不好的更新会把GRUB搞丢,你只能拿Live USB去修。所以我个人更推荐给Ubuntu单独分一个300MB左右的EFI分区,各用各的,互不干扰。新911的ESP分区默认有300MB,再分一个300MB出来对硬盘容量来说九牛一毛,但能省下未来很多麻烦。
2.1 一张表看懂推荐的GPT分区布局
以我这台“雷神新911”实际采用的方案为例,硬盘是1TB的NVMe固态。默认分区表如下:
| 分区 | 大小 | 文件系统 | 挂载点 | 说明 |
|---|---|---|---|---|
| /dev/nvme0n1p1 | 300MB | FAT32 | /boot/efi | Ubuntu专用EFI分区 |
| /dev/nvme0n1p2 | 100MB | 未知 | 无 | 原厂MSR保留分区,别碰 |
| /dev/nvme0n1p3 | 400MB | FAT32 | 无 | 原厂Windows EFI分区,别碰 |
| /dev/nvme0n1p4 | 约200GB | NTFS | 无(Windows C盘) | 原厂系统盘 |
| /dev/nvme0n1p5 | 约800MB | NTFS | 无 | 原厂恢复分区,别碰 |
| /dev/nvme0n1p6 | 32GB | swap | swap | 交换分区 |
| /dev/nvme0n1p7 | 60GB | ext4 | / | 根分区 |
| /dev/nvme0n1p8 | 剩余约700GB | ext4 | /home | 数据分区 |
这张表里的数字仅供参考,但有两个点值得你记住:一是Ubuntu的EFI分区必须单独分,二是根分区和/home分开。为什么分开?因为以后你升级系统或者重装Ubuntu时,只要挂载点不选错,/home里的东西全部还在。这对于不爱备份的人来说简直是救命设计。我有一次升级Ubuntu大版本直接把系统干崩了,结果重装后/home原封不动,桌面、下载、文档全都在,那种感觉真的很踏实。
2.2 分区大小怎么定
分区大小直接取决于你的使用场景。
swap分区:如果你的内存有16GB以上,swap理论上可以不给,但强烈建议还是分一个。Linux在内存吃紧时会用swap做兜底,而且休眠(suspend-to-disk)依赖它。我给新911分的是32GB,差不多是内存容量的两倍。现在硬盘动辄1TB,这点空间不算奢侈。如果你内存只有8GB,swap可以给到16GB;如果内存32GB以上,swap分个16GB基本也就够了。
根分区/:这里装的是系统和应用程序。Ubuntu默认安装大概占用8-10GB,加上后续装的开发工具、依赖库,60GB是起步价。如果你喜欢用Flatpak或者Docker,根分区建议直接上80-100GB,否则半年以后你就会开始满世界找办法清理磁盘。
/home分区:所有用户数据都在这里,包括下载的电影、项目的代码、虚拟机的镜像、Steam游戏等等。我的习惯是给到剩下的全部空间。有些人还会单独分出NTFS格式的数据分区给Windows和Ubuntu共用,这也是一种玩法,但要注意ext4对NTFS不能直接原生写入,挂载起来也要额外配置,我用下来觉得不如直接/home放ext4,需要跨系统共享时扔到Windows分区里临时读取更省事。
2.3 为什么不建议在Windows下直接压缩出Ubuntu分区
我知道很多人看网上的教程,第一步都是打开Windows的“磁盘管理”,对C盘右键“压缩卷”,挤一块空间出来。这个操作本身没毛病,Windows自带的压缩功能确实能在不损坏数据的情况下缩小NTFS分区。但问题是:压缩出来的那块未分配空间,Ubuntu安装器识别起来没问题,可你要放Ubuntu的EFI分区、swap、根分区、/home分区,这一堆逻辑分区最好都是主分区,而Windows的MBR时代早过去了,GPT下分区数量限制宽松很多,理论上没问题。
真正让我不建议这么做的是另外一个原因:Windows的“压缩卷”工具对NTFS的收缩是保守的,它只能把分区末尾的可用空间挤出来,如果C盘里有大量文件碎片或者系统文件固定在中间位置,压缩出来的空间往往远小于预期。而且压缩过程中有一定概率出现文件系统错误,万一中途断电,整个C盘都会出问题。
我更推荐的做法是:在Ubuntu的Live安装环境下,用GParted去调整分区大小。Linux环境下调整NTFS分区用的是ntfsresize库,它在移动分区边界时比Windows原生的压缩工具更灵活,也更能看到实际的文件系统使用情况。当然,操作前备份依然是绝对的前提。
3. 动手实操:从Windows腾地方到Ubuntu落地
规划完了就进入正题。整个流程分成三步:先处理Windows侧的几个前置项,再制作Ubuntu启动U盘并设置UEFI启动,最后在Ubuntu安装器里完成分区和引导安装。
3.1 第一步:Windows里的关键准备
在关机重启之前,有两个Windows侧的动作必须做。
第一,关闭快速启动。这是Windows 10/11默认开启的一项功能,本质上是把内核会话保存到休眠文件里,让下次开机“看起来”很快。但它对双系统非常不友好:关机不彻底,NTFS分区可能处于挂起状态,Ubuntu写入时就可能报错或者读取到脏数据。你可以在“控制面板-电源选项-选择电源按钮的功能”里,把“启用快速启动”前面的勾去掉。
第二,关闭BitLocker。有些新911出厂时开了设备加密,尤其是系统盘C盘可能处于BitLocker加密状态。Ubuntu安装器不认加密卷,如果你不去解锁,它会直接把整个盘识别成无法操作的状态,甚至提示“没有检测到当前系统”。在“设置-更新和安全-设备加密”里把它关掉,可能要花几分钟等待解密完成。
做完这两步,再在Windows磁盘管理里看一眼你要动的硬盘编号。特别注意:如果你的电脑里还插着其他硬盘,比如移动硬盘、从盘,装Ubuntu时一定要看清楚目标盘,选错盘导致移动硬盘变成Linux分区,这种事故我见过太多次了。为了安全,装机时我习惯把不相关的外部存储全部拔掉。
3.2 第二步:制作Ubuntu启动盘和UEFI启动项设置
Ubuntu镜像去官网下载最新LTS版本就好。LTS意味着长期支持版本,稳定性和兼容性都经过大量用户验证,我建议所有新手都优先选LTS,不要追着尝鲜版跑。制作启动盘我推荐用Rufus,Windows下直接运行,选择GPT分区方案、UEFI目标系统类型,写入方式选DD镜像模式,几秒钟就能做好。
插上U盘,重启按F2进BIOS设置界面。雷神新911的BIOS是中文图形界面的,找到“启动”选项卡,把U盘的UEFI启动项拖到第一位,或者按F7直接呼出临时启动菜单选择U盘。这一步注意区分UEFI开头的U盘启动项和Legacy开头的,必须选UEFI那个。
如果你在BIOS里找不到UEFI启动项,先把CSM关掉再试。有些板子默认开启CSM后,反而把UEFI设备隐藏了,这时候关掉CSM才是正道。
3.3 第三步:Ubuntu安装器里的几个坑与正解
U盘启动后,你会进入GRUB引导菜单,选择“Try or Install Ubuntu”。先选“Try Ubuntu”进Live环境,容易确认分区状态和网络连接没问题。
正式打开安装器后,到“安装类型”那一页,选择“其他选项”(Something else),这一步千万别选“清除整个磁盘并安装Ubuntu”,这相当于把硬盘全格式化掉。在分区界面里,你会看到那块硬盘上所有分区的列表,包括Windows的那些分区。每个分区的容量和类型都会列出来,你按着2.1节那张表来就行。
具体操作顺序是这样的:先选中之前预留的50GB未分配空间(如果你在Windows里压缩过),点击“+”新建分区。第一个分区设为EFI系统分区,大小300MB;第二个设为交换空间,大小按内存配置来;第三个用ext4格式,挂载点选/;第四个ext4挂载点选/home,大小用到剩余空间。
重点来了:安装器底部有一个“安装启动引导器的设备”下拉菜单,默认选中是一整块硬盘,比如/dev/nvme0n1。这个默认选项通常没问题,GRUB会被安装到该硬盘的EFI分区中。但如果你手动指定了某个分区,一定要确保选中的是那块单独分出来的Ubuntu EFI分区(比如/dev/nvme0n1p1),而不是Windows的EFI分区。选错了的话,轻则GRUB装到不合适的扇区,重则把Windows引导搞没。
剩余步骤就是设用户名、密码、键盘布局这些常规操作。装完后提示重启,重启时记得把U盘拔掉,否则可能又进到Live环境里。
4. 双系统的引导管理:GRUB的玩法与自救
系统装好只是第一步,真正的日常体验全在引导管理上。Ubuntu安装器默认帮你把GRUB设为默认引导器,开机时你会看到一个紫色或黑色的GRUB菜单,里面有Ubuntu和Windows Boot Manager两个选项。默认选Ubuntu,但你可以在第一个菜单项上按回车前先按方向键选择Windows,回车就能进Windows。
4.1 为什么双系统开机能看到选择菜单
这一步的基础原理前面说过:GRUB在安装时扫描了ESP分区里的引导文件,发现了Windows Boot Manager,于是自动把它的入口加进了GRUB配置。你可以打开Ubuntu终端看一下实际配置:
cat /boot/grub/grub.cfg | grep menuentry输出里能看到一个叫做Windows Boot Manager (on /dev/nvme0n1p1)的菜单项,这就是GRUB帮你识别出来的Windows入口。如果你发现这个入口缺失,基本就是安装时GRUB没扫描到Windows的EFI文件。解决办法很简单:先确认Windows的EFI分区存在,然后更新一次GRUB:
sudo update-grub它会重新扫描所有分区里的可引导系统,重新生成/boot/grub/grub.cfg。这条命令是你双系统维护里的核心工具,要记牢。
如果你嫌每次开机都要选系统太麻烦,可以调整GRUB的默认超时时间和默认启动项。修改/etc/default/grub文件:
sudo nano /etc/default/grub找到GRUB_TIMEOUT字段,默认是10秒,改成5或3都可以;把GRUB_DEFAULT从0改成你想要的菜单项序号,0是Ubuntu,Windows的位置要看grub.cfg里的顺序。改完记得再次运行sudo update-grub让它生效。
4.2 GRUB丢了怎么办
GRUB丢失是双系统用户最常遇到的故障。症状表现为开机直接进Windows,没有任何菜单;或者开机黑屏,提示no such partition、grub rescue>。
第一种情况往往是Windows更新重置了NVRAM启动项,把Windows Boot Manager设成了第一优先,GRUB虽然还在ESP里躺着,但固件完全没去加载它。解决起来很简单:重启进BIOS,在启动顺序里把ubuntu那个启动项拖到第一位,或者直接在启动菜单里手动选择带Ubuntu字样的项。
第二种情况更麻烦一点:GRUB的配置文件损坏或者核心模块丢失,引导器半残状态,在grub rescue>提示符下操作比较复杂。我的处理习惯是直接用Ubuntu的Live U盘重新引导,然后挂载系统分区和EFI分区,用chroot的方式修复GRUB。
具体步骤可以这样操作:
# 启动Live环境后打开终端,查看分区 sudo fdisk -l # 假设根分区是/dev/nvme0n1p7,EFI分区是/dev/nvme0n1p1 sudo mount /dev/nvme0n1p7 /mnt sudo mount /dev/nvme0n1p1 /mnt/boot/efi # 如果根分区和/home是分开的,也要挂载home sudo mount /dev/nvme0n1p8 /mnt/home # 挂载必要的系统目录 sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys # 进入系统环境 sudo chroot /mnt # 重新安装GRUB到EFI分区 grub-install /dev/nvme0n1 update-grub exit执行完后重启,GRUB菜单应该就回来了。这个流程我建议你有空的时候先在虚拟机里模拟一遍,真到用的时候就不会手忙脚乱。
4.3 Windows引导修复
反过来,如果哪天GRUB整个没了,你想从Windows启动U盘修复Windows引导,也是一项必备技能。在Windows安装U盘的命令行界面里执行:
diskpart list disk sel disk 0 list vol先看清EFI分区对应的卷号,然后退出diskpart,执行:
bcdboot C:\Windows /s S: /f UEFI其中S:是你EFI分区挂载后的盘符,C:是Windows系统盘的盘符。这条命令会把Windows的引导文件重新写入EFI分区并注册引导项。修复完再回到Ubuntu那边重新装一次GRUB,双系统就能复活。
5. 装完之后的善后工作与技术细节
系统能开机只是及格线,接下来这些细节才真正影响你长期使用的心情。
5.1 解决时钟错乱问题
装完双系统后你会发现一个经典问题:Windows里的时间比实际时间慢了8小时,或者Ubuntu里显示的时间不准。原因在于两个系统对硬件时钟的解释不同:Windows把CMOS里的时间当作当地时间,Ubuntu默认把它当作UTC时间再根据时区换算。
解决办法有两种,我推荐改Ubuntu这边,让Ubuntu也把硬件时钟当本地时间:
timedatectl set-local-rtc 1 --adjust-system-clock执行完重启,Windows和Ubuntu的时间就能保持一致。如果你一直没发现这个问题,会经常遇到Ubuntu里文件的时间戳比Windows里晚8小时,Git提交记录乱掉的怪事,尽早修掉是硬道理。
5.2 独显与无线网卡驱动
新911的NVIDIA独显 + Ubuntu自带的nouveau驱动组合,是新手最容易摔跤的地方。装完系统如果遇到开机黑屏、登录界面闪烁、分辨率固定为800x600之类的问题,基本上就是显卡驱动的锅。
在安装NVIDIA官方驱动之前,先屏蔽nouveau模块,否则两个显驱打架,系统反而更不稳定。编辑:
sudo nano /etc/modprobe.d/blacklist-nouveau.conf加入:
blacklist nouveau options nouveau modeset=0然后更新initramfs并重启:
sudo update-initramfs -u重启后安装NVIDIA官方驱动。推荐用Ubuntu自带的“软件和更新”附加驱动页面,或者用命令行:
sudo ubuntu-drivers autoinstall它会自动检测你的显卡型号并安装推荐版本。装完后重启,nvidia-smi能正常输出GPU信息就是成功了。
顺带说一句:新911的Wi-Fi网卡多为Intel系列,Ubuntu内核一般直接支持,但如果遇到Wi-Fi信号弱或者蓝牙找不到设备的情况,第一件事是去软件和更新-附加驱动里看看有没有专有驱动可选,其次是确认内核版本是否太旧。LTS版本系统如果内核过旧,可以考虑启用Hardware Enablement Stack更新内核,但这是进阶话题了,小白用户不建议乱动。
5.3 关机/休眠与跨系统文件访问
Ubuntu默认的电源按钮行为是立刻关机(poweroff)还是挂起(suspend),取决于你的桌面环境设置。游戏本上我建议把挂起(睡眠)功能慎用:新911的NVIDIA独显在挂起恢复时偶尔会出现黑屏或者驱动报错,倒腾起来很费劲。如果你平时用不到挂起,直接在设置里把“挂起”改为“关机”或者“锁定屏幕”。休眠功能依赖swap分区,前面分了swap的话可以启用,相关配置在/etc/systemd/logind.conf里调整。
跨系统文件访问这块,Ubuntu默认支持NTFS读取和写入,你可以在文件管理器里直接打开Windows的C盘分区,拷文件没问题。但有几个注意事项:第一,不要频繁对NTFS分区执行大批量小文件写入,Windows的快速启动如果没关,NTFS上的写入可能没落盘,下次进Windows时会弹出修复提示。第二,Ubuntu的桌面/文档下载目录默认挂在/home下,ext4分区下文件权限和Windows互通性差,所以跨系统共享别依赖桌面目录,直接用Windows分区里的文件夹更可靠。
如果想让Ubuntu开机自动挂载Windows分区,可以编辑/etc/fstab。先用sudo blkid查到Windows分区的UUID,然后加一行:
UUID=xxxxxxxx /mnt/windows ntfs-3g defaults,uid=1000,gid=1000,umask=000 0 0其中uid和gid用id -u和id -g查询,这样每次开机Windows分区都会挂载到/mnt/windows下,读写权限也不用来回改。
6. 常见问题速查表与最后一点经验
把我在不同机器上踩过的坑整理成一个速查表,遇到问题时先对照排查:
| 症状 | 可能原因 | 处理办法 |
|---|---|---|
| 开机直接进Windows,没有GRUB菜单 | Windows更新重置了启动顺序 | 进BIOS把ubuntu启动项调到第一位 |
| 开机黑屏,提示grub rescue | GRUB核心文件损坏 | Live USB进chroot修复GRUB |
| Ubuntu安装时进度条卡在75%左右 | 显卡驱动或分区问题 | 不插独显试集显安装,或检查swap/EFI分区是否正确 |
| 安装完成后重启找不到启动设备 | 引导器没装到EFI分区 | 重新进Live环境,手动grub-install到目标盘 |
| Windows时间慢8小时 | 硬件时钟解释不一致 | 执行timedatectl set-local-rtc 1 |
| Ubuntu关机后电池依然耗电 | 未真正断电,处于休眠/挂起状态 | 检查是否启用了挂起,改设直接关机 |
| NTFS分区只能读不能写 | ntfs-3g未安装或Windows快速启动未关 | sudo apt install ntfs-3g,并关闭Windows快速启动 |
| GRUB菜单里没有Windows选项 | GRUB未扫描到Windows EFI | sudo update-grub刷新 |
这些坑有一个共性:大部分都是引导或者驱动层面的问题,跟系统本身稳不稳关系不大。双系统用得久了,你会越来越熟练,甚至能在几分钟内从一台装好的机器变成“裸机再装一遍”。这不需要什么玄学天赋,纯粹是手熟。
最后再分享一个我个人的小习惯:每次大版本升级前,比如Ubuntu从一个LTS升到下一个LTS,我都会在Windows和Ubuntu两侧各做一个磁盘快照(Windows用自带的还原点,Ubuntu用Timeshift)。因为系统升级这种事,平时看起来顺风顺水,真遇到显卡驱动冲突、内核模块不兼容,回滚起来如果没有快照会非常麻烦。装上Timeshift,备份系统状态到外置硬盘,以后随便折腾都不用怕。
还有一个小技巧:装好后在第一时间的Ubuntu终端里执行
sudo apt update && sudo apt upgrade -y把系统更新到最新状态再开始使用。很多人装完系统急着装软件,结果装到一半碰到依赖冲突才发现系统基础包没更新,那时候排查起来就费劲了。先把地基打牢,后面一切都会顺利很多。