你是否打算给电脑装上Linux与Windows双系统?是否想在动手之前摸清门道,避开那些看不见的坑?折腾了十多年双系统、踩过无数坑又一一填平之后,随着手里的电脑设备越来越多,再加上WSL横空出世,本来我以为今后双系统已经没有了生存空间。
直到上周,面对那台办公室“强制”配发、搭载8核16线程的“强大”海光C86-3350处理器、预装银河麒麟V10(你就说算不算Linux吧)的联想开天,再次动了心思。
双系统本身算不上什么高难度技术活,虽然不如双Windows那么傻瓜,但要是摸不清门道,后续很容易冒出各种问题。作为曾经的多年Ubuntu老用户,搞多系统已经成了习以为常,改配置改崩过系统,好好看个视频也能遇上引导挂掉,踩过的坑数不胜数。所以总结了几条经验,全是我当年装双系统时就该知道、却没人提醒我的事。
先装Windows,再装Linux,顺序绝不能乱
Windows总爱霸占引导盘
装双系统时,两个系统的安装顺序至关重要:一定要先装Windows,再装Linux,否则后面就得花大把工夫排查引导故障。
说到底是因为Windows霸道,安装逻辑向来以自我为中心:它默认自己是电脑里的唯一系统,从不打招呼就会覆盖掉已有的引导程序。如果你先装Linux再装Windows,Windows会直接抹掉Linux的引导管理器GRUB,最后电脑只会启动Windows,连Linux的入口都找不到。
反过来,先装Windows再装Linux就省心得多:安装程序会自动识别到已有的Windows系统,绝大多数Linux安装包都能自动配置好GRUB,把两个系统都放进启动菜单里,双系统切换顺理成章。
当然,如果你已经装好了Linux,后来才想加个Windows,也不是全无办法——只是装完Windows之后,得手动重装并重新配置GRUB,对新手来说门槛不算低。
部分UEFI主板可以绕过这一步,直接在BIOS启动菜单里选择Linux引导项就能进入系统,但这得看你的主板固件和具体设置,并非所有机器都适用。
最后,像海光这类国产整机,BIOS固件版本更新飞快、参差不齐,部分机器存在UEFI固件bug,同样的安装步骤,在普通主板上正常,在这些机器上会出现GRUB异常、SecureBoot 异常,如果机器不是像我一样是“白送”的,最好别碰。
Windows偶尔会堵死Linux的启动入口
独占欲在作祟
刚才说到Windows的引导程序不会收录Linux分区,可就算你把GRUB设为默认引导器,Windows也可能想方设法不让你进Linux——最常见的问题,出在Windows的“快速启动”功能(被藏在老控制面板里,搜索栏输入control打开)。
开启快速启动后,你点下“关机”按钮时,Windows并不会完全断电,而是进入一种混合休眠状态,把系统状态暂存到内存里,以此加快下次开机速度。这样一来,开机时系统可能会直接跳过GRUB,甚至跳过BIOS启动菜单,直接把你送进Windows桌面。
想绕过这个问题也简单:别选关机,选“重启”再切换系统,一般就能正常进入BIOS和GRUB菜单。但最彻底的办法,还是直接关掉快速启动。没错,这样Windows开机会慢一点,但也就差个十秒钟,尤其是用固态硬盘的话,感知微乎其微。
两个系统尽量分盘,别挤在同一块硬盘里
能分开,就别凑在一起
装双系统时,你可以在同一块物理硬盘上分区,分别装两个系统。这么做理论上没问题,但后续很容易埋下炸机的隐患。
前面说过,Windows更新偶尔会覆写引导扇区,直接让Linux分区无法启动;除此之外,BitLocker加密之类的功能,也向来是双系统的麻烦制造机;手动调整分区时,还有误操作损坏文件的风险。
其实想避开这些麻烦特别简单:把Windows和Linux装在两块不同的物理硬盘上就行——反正如今你的电脑大概率有两块硬盘。两个系统各占一块盘,环境完全隔离,各自掌控自己的存储空间,哪边出了问题都不会牵连另一边,排查故障也省心得多。
要是你实在没有两块SSD,可以优先把Linux装在机械盘上,毕竟Linux在低端硬件上的表现,向来比Windows好不少。
Windows读Linux文件麻烦,反过来却轻而易举
Linux访问Windows畅通无阻
在Linux系统里,你可以直接读写Windows的分区,丝滑顺畅;但反过来,Windows想读Linux的文件,就得通过WSL2才行。一般来说这不算大问题,传文件的时候进Linux操作就行,但确实会影响工作便捷性,值得提前留意。
Linux原生支持Windows默认的NTFS文件系统,不用装任何额外软件,直接在文件管理器里就能打开Windows的盘符,文件、文件夹互拖互传都毫无障碍。
可Windows这边,对Linux最常用的Ext4、XFS、Btrfs等文件系统,原生一概不支持。如果你需要在Windows里访问Linux分区里的文件,要么走WSL2,要么就得装第三方工具。
其实可以用一个更省心的方案:单独划出一块共享数据分区,格式化成NTFS或exFAT,两边系统都能直接读写。需要两边通用的文件都存进去,一劳永逸。
系统切换后,时间经常会错乱
说大不大、说小不小的别扭事
初次接触双系统的时候,一般都会遇到时间错乱问题:每次在两个系统之间切来切去,总有一边的系统时间不对,经常差上好几个小时。原因很简单:Windows默认把硬件时钟当作本地时间,而Linux默认把硬件时钟设为UTC(世界协调时间),两边标准不一样,切换之后自然就会时差错乱。
这不只是看着别扭的小事:文件时间戳会出错,计划任务也可能失效。如果你用系统自动化这类对时间敏感的工具,这点偏差能带来不少麻烦。好在双系统时间问题修起来很简单:要么让Linux改用本地时间,要么让Windows改用UTC时间,二选一就行。
以我的经验,把Linux改成使用本地时间更省事,只不过要敲几行终端命令:
sudotimedatectl set-local-rtc 1--adjust-system-clock
双系统可能削弱Windows的安全性
风险高低看发行版
有些Linux发行版,比如Arch Linux和衍生版本会要求你先在BIOS里关掉安全启动(SecureBoot),否则根本装不上,还有些发行版开着安全启动就无法正常运行。关掉安全启动对Linux本身没什么影响,但对Windows的安全性来说,会有风险。
安全启动是一项安全标准:启动前会校验引导程序的签名,只有签名合法的软件才能被加载。Windows靠它抵御rootkit之类的引导层恶意攻击。可惜绝大多数Linux发行版,尤其是社区驱动的发行版,没有配套的签名引导程序,自然就会被安全启动拦在门外。
解决办法无非两种:要么保留安全启动,只选Ubuntu、Fedora这类有大厂背书、带官方签名引导的发行版;要么关掉安全启动,随便装你喜欢的发行版,但Windows就要承担引导层被攻击的风险。
怎么选全看你自己,但要是你决定关掉安全启动,我建议把敏感数据都存在Linux分区里——毕竟针对Linux的恶意软件要少得多。这么一来,就算关了安全启动,你最重要的文件理论上也更安全。
到最后,你大概率只会常用一个系统
总有一个才是主力
装双系统的初衷,往往是两个系统均衡使用,效率最大化。但现实是,包括我在内的很多用户,到最后绝大部分时间都只用一个系统,另一个就静静躺在硬盘里吃灰。
这种倾向再正常不过:切换系统得全盘重启,很容易打断工作节奏;两边的软件、设置、文件都不互通,来回切换成本太高,自然就懒得频繁换了。
不少朋友装过双系统,结果几乎一模一样:90%的时间他们都只待在一个系统里。考虑到双系统占的硬盘空间和带来的复杂度,这笔账到底值不值,真不好说。
我自己的解决办法,是给两个系统明确分工。比如把Windows当个人系统:私人文件都在里面,社交账号也都在Windows上登录。
这样一来,Linux就成了我的工作系统,装齐所有工作软件,同事也不会被我花里胡哨的桌面搞糊涂。更重要的是,工作和私人用途之间有了一道数字屏障,各司其职,互不干扰。
但要是这么分工之后,你还是90%的时间都只用一个系统,那或许Windows 11 + WSL2才是你的家。
不妨认真考虑双系统的替代方案
对于真正需要Linux的人来说,双系统确实是个高效的方案,但它带来的种种复杂问题与妥协,往往是动手前难以预见的。我只希望这些经验能让你对潜在的问题心中有数,从一开始就能避开弯路,有备无患。