【万字详细教程】Linux to go——装在移动硬盘里的Linux系统(Ubuntu22.04)制作流程;一口气解决系统安装/引导文件迁移/显卡驱动安装等问题

0.写在前面

如果不想看前面的废话😭,请跳转到 1.准备工具 处开始阅读。

关于教程

制作基于PSSD的Linux to go系统是我很早就打算做的事情,但这毕竟不是常规的装系统,因此在这之前我也调研了许多经验贴,不过我的思路是找到一个看起来最靠谱而且步骤相对简单的帖子,然后一路跟着走下去。

不过,当我真正实操时,就发现这几乎是不可能的了;倒不是网上的帖子不靠谱,只是每个人的环境都千差万别,遇到的问题也各有不同,倒腾电脑更像是一个“小马过河”的问题,不能依靠一个人的步骤解决所有问题;但我们也不能全靠自己解决问题,我们大部分人使用Linux系统是为了满足自己领域的开发对特定软件的需求,并没有必要专精于Linux,以至于成为Linux高手自己解决所有的问题。

好吧,说了这么多废话,我想表达的意思是没有一个万能的帖子能保证只要全部按着走就一定不会出问题,但同样,面对未知的问题最好的方法就是先去网络上寻求他人的经验。对于这篇帖子,我提供了一个在我的环境下能完美运行的方案,同时作为一个面对软硬件总会比别人遇到更多问题的“老倒霉蛋”,我也会尽可能列举一些我遇到的困难(这个Linux to go让我整整做了两天牢😭),无论是能解决还是不能解决的(不能解决的也给大家当做一个死路的示例吧)。

Why Linux to go?

首先是为什么要用Linux。毫无疑问,大部分同学对Linux的使用需求来自于课程要求:无论你是计算机专业的学生,在OS、ICS、计网甚至于专门的Linux课程中都可能有必须在Linux环境下才能完成的学习任务;还是其他理工科专业的学生,许多专业软件(例如我们电子专业IC方向常用的Cadence、Vivado等)同样只能在Linux操作系统中运行。抛开课程需求不谈,Linux操作系统本身也是适合开发的,相较于Windows、MacOS能够给用户提供更多的权限,同时熟悉Linux终端中常用的命令也能更加轻易地完成许多操作;除此以外,ubuntu本身的UI界面也让人赏心悦目,和MacOS不相上下,都是碾压Windows的存在(个人认为)。

那为什么要to go呢?目前,除了MacBook外,几乎所有PC出厂自带的都是Windows系统,如果需要使用Linux系统就只有双系统或者虚拟机两种选择。

大部分人会选择虚拟机,这种方法的成本是最为低廉的,但这样的Linux却是不完整的,且不说在虚拟机上计算机的性能会大打折扣,并且因为虚拟机独特的运行环境,在实际操作过程中你会比其他使用原生Linux系统的同学更加容易遇到各种各样的问题(例如IP地址的映射);不仅如此,还有一种说法是装有Windows操作系统的电脑在安装过虚拟机后,其本身运行时的性能都会打折扣。


(从我们学校ICS实验手册上抄下来的一段)

那么另外一种选择就是双系统,听起来这种方式对电脑性能的拖累似乎还要更大一些,毕竟谁也不希望每次开机都要进到BIOS界面手动选择启动的操作系统,并且在许多帖子中也提到了双系统之间可能存在互相干扰的现象;除此之外,这对许多电脑存储空间本来就爆红的同学更是无法接受,目前电脑主流的存储空间都在512G,两个系统就要占去100G,哪里还有地方装其他学习资料。由此看来,双系统能带来原生Linux的体验,成本又似乎有些过于高昂,毕竟咱们大部分人只是想做个作业。

由此Linux to go就应运而生,一方面Linux to go本身就是原生的Linux操作系统,在功能性上完全不存在问题;另一方面Linux to go装载在移动硬盘上,在硬盘拔除的情况下,不会对本来计算机的软硬件造成影响(几乎雁过无痕,但似乎还是会有一些影响,后面会再提及),同时装载在外接硬盘上也让使用者不必再绞尽脑汁释放本机的存储空间或承受硬盘爆红带来的焦虑,只要稍微花点小钱买一个外接硬盘(目前最顶级的基于USB3.2gen2的PSSD三星T7,一个t的存储也只要600RMB左右),硬盘除了装系统外还能拿来装其他学习资料(。最后,Linux to go可能还具有随插随用的特性,即使硬盘插的并不是你的电脑(对这个功能存疑,毕竟硬件不同,驱动不同,不一定能稳定地移植)——行文至此,我突然想到在Linux to go的形态下,电脑本身的硬盘可以通过挂载的方式进行访问,也就是说即使你不知道这台电脑(Windows操作系统下)的密码,也有可能通过外接硬盘启动Linux to go,通过另一个系统访问这台电脑原来系统中的内容,真是一个细思极恐的发现。

总结来说,我认为Linux to go是大部分不以Linux操作系统为主力,同时又有原生Linux环境需求的同学获取Linux系统的最优解,是高性能和低成本的集大成者,唯一的缺点就是,安装起来有点麻烦,但……


(再从我们学校ICS实验手册上抄一段)

实际效果

我的设备是拯救者Y9000P2021,装有Linux to go的移动硬盘是三星T7shield的1T版本。

在不插入移动硬盘的情况下,电脑与正常电脑并无二致,开机后自动正常进入Windows系统,不会询问进入哪一个系统,在BIOS界面也不会出现任何有关Linux系统的启动项(即Linux to go的系统引导程序并没有装到电脑主硬盘区的EFI区,这点是Linux to go能在其他电脑上启动的基础,同时也避免了Linux to go像双系统一样对本身的系统造成影响)。

(未插入移动硬盘时,启动项里只有主硬盘三星PM9A1的EFI区的Windows系统,与出厂时一致)

此时再插入移动硬盘(支持热插拔,即在BIOS界面时再插入移动硬盘就会显示出Ubuntu Linux的启动项,而不必重启电脑,拔出移动硬盘后又消失),可以看到Linux相关的选项,显示系统引导程序在移动硬盘三星T7shield上。

(插入移动硬盘后的显示效果,ubuntu即我们的Linux to go系统,Linpus lite主要用来引导Ubuntu系统的安装,此外还能起到修复系统的作用,Linpus lite正常只会出现在用来USB启动的U盘上,但此处出现也并无妨害)

选择ubuntu启动后,我的外接显示器也同时被点亮,由于我使用的是电脑的type C接口连接外接显示器,而拯救者Y9000P2021的type C接口是接独立显卡(我这里是NVIDIA RTX 3070 laptop)的输出,这表明我们的显卡驱动是正常工作的(在之前的尝试中我发现独立显卡一直无法被识别,外接屏幕也不能工作,且系统的其他功能同样受到影响(例如关机关不上只能强制关机),所以特此一提,FK U NVIDIA),虽然只是自带的开源驱动nouveau,但不如果不是有机器学习方面的需求(这种情况课题组通常会配备服务器),也足够日常使用。

(超酷的LEGION+ubuntu的启动界面,显示器上的小字是“按下ctrl+c跳过文件系统检查环节”)

最后,这块1T的T7硬盘我也只拿出了200G左右作为Linux to go的空间,剩下的空间还能拿来装学习资料;T7最快1000MB/s的读写速度,足以支持无损运行大部分学习资料,这才是真正的物尽其用(。

(一块750G大小的移动硬盘)

1.准备工具

硬件方面:只需要一台不太古老的电脑(运行Linux to go)、一个存储空间在5GB以上的U盘(引导系统安装,后续不会再使用到,可以借用他人的),以及一个移动硬盘(Linux to go的载体)。

软件方面:需要用到制作启动盘的程序UltraISO和硬盘分区软件Disk genius

一些注意事项:

  • 建议使用的U盘和移动硬盘,在制作Linux to go以前都对其中已有的数据做好备份(也就是U盘和移动硬盘最好就是空的),一来是不保证移动硬盘能在保存原来数据不丢失的情况下完成分区(U盘则一定会被格式化);二来是搞不好会反复重装系统,就有反复分区格式化的可能,同样也就有数据丢失的风险

  • 作为启动盘的U盘尽可能大一些,10GB以上为宜;另外最好使用高性能、稳定的U盘(也就是尽量使用SanDisk或Samsung等有品牌的U盘,而不是使用那种作为小礼品赠送的廉价山寨U盘);一来是制作启动硬盘的速度更快,二来就是Linux系统安装过程中不容易崩溃(见3.1)

  • Linux to go系统本身的载体似乎也不一定非要是移动硬盘,或许U盘也是有可能的——之所以移动硬盘能带得动Linux系统,是因为目前主流的基于USB3.2gen2协议的移动硬盘速度已经能达到10Gbps(实际1000MB/s左右),达到大部分电脑自带的PCIE3.0硬盘速度的1/3,快要追上MacBook m2 256G版本的硬盘读写速度;而对于U盘,目前大部分A口也能支持到5Gbps的速率,对应速度最快的U盘能做到400MB/s的读速度(写速度通常要低一些,不过U盘速率宣传虚高很严重),这个速度几乎也不会对Linux to go的性能造成太大影响,因此U盘或许是可行的;但是注意,在以前的帖子中几乎没看到有人使用过U盘实现Linux to go,加上U盘本质还是Flash闪存,相比于移动硬盘具有更有限的读写寿命,并且不适合程序运行这种以随机读写为主的应用场景,因此还是不建议把应用程序或者操作系统放在U盘上(尽管成本更低),速度更快、运行更稳定、寿命更长的移动硬盘才是最优解(一分钱一分货)。
    更新:如果本身没有对硬盘的需求,不希望为一个Linux to go系统花大价钱购买一个移动硬盘,可以考虑固态U盘,固态U盘的性质和固态硬盘接近,但体积更小,最快也能达到1000MB/s的读写速度;虽然固态U盘单位容量的价格也接近固态硬盘甚至更贵,但不同的是固态U盘有小容量可供选择,一般128G版本价格为100多,256G版本价格为200多,相比之下移动固态硬盘起步就是512G,价格接近500;另外在许多固态U盘的商品页面(例如联想异能者系列),都会说明支持制作Win to go,表明拿来制作Linux to go当然也是有可能的。

    (联想异能者F800的宣传页面,不过从评论看这种硬盘发热比较厉害,在长时间高速传输时可能有散热问题,三星T7 shield则在高负载下也不会有明显发热,更接近一般SSD的使用体验)

  • 两款软件都是免费下载,但有内购内容;不过我们只用其中免费的功能就可以满足制作Linux to go的全部需求,这里附上下载链接:最新UltraISO官方免费下载 - UltraISO软碟通中文官方网站;DiskGenius – 正式版下载|免费下载

2.制作步骤

下载系统镜像

Ubuntu桌面版的下载链接如下:Download Ubuntu Desktop | Download | Ubuntu;这里我按照我的需求选择的是Ubuntu 22.04 LTS版本,LTS表示将获得长期支持;还可以按照需求选择更新的23或24版本。镜像文件大小在5GB左右,我们先开始下载镜像文件,在等待的过程中完成硬盘分区的步骤。

硬盘分区

使用DiskGenius完成接下来对移动硬盘的分区操作,基本原理是删除或释放原有分区占用的空间,得到空闲空间用来建立新的分区,新的分区专用于Linux操作系统。

假定现在移动硬盘里的东西已经备份完全,都可以删除(如果移动硬盘直接已经存放了一些东西,又不方便迁移,可以参考3.2)。

首先释放出空闲空间,这里我采用最粗暴的删除分区方式,也可以通过调整分区大小(NTFS格式下)或直接格式化硬盘得到空闲空间。

如果是通过调整分区大小获得空闲空间,需确保空闲空间(用于Linux to go的空间)都尽量在移动硬盘中靠前的位置,否则启动时可能无法扫描到启动文件。

然后还要修改分区表类型,T7默认为MBR格式,要换成GUID格式才能在其他其他电脑上启动系统。

然后在空闲位置就可以进行Linux to go所需空间的分区,如下图:

建立完成ESP分区后就可以继续完成其他部分的分区(同样是右击灰色区域,新建分区),可以看到这个界面中能选择的文件系统类型要丰富许多。

重复上图分区操作,具体分区如下,这里要重点关注分区大小、文件系统类型。

1GB的ESP分区,用来存放系统引导程序;16GB的SWAP区用于Linux的内存交换,一般电脑的内存多大就设置为多大(32G内存电脑就设置为32G);1GB用来挂载到/boot;分区(3)和分区(4)分别挂载到根目录/和用户目录/home,大小根据需求来,我这里就给80G;最后一个分区保留了750G,继续用作移动硬盘。

(在很多教程里也有说不需要提前硬盘分区,而是在安装Ubuntu的过程中就可以用自带的分区工具完成分区,但不建议这么做,一来不一定能实现4K对齐,且Linux自带分区似乎会在分区与分区之间产生空隙,二来Ubuntu的安装程序也有崩溃的风险,还是预先完成分区为宜)

(如果已经格式化了整个硬盘,还可以按照下面的操作,直接完成快速分区,但这种方法中能选择的分区格式很少,完成分区后再格式化能选择的格式也很少,因此还是建议采用上面的方法。

准备启动U盘

这里使用UltraISO软件,选择试用版即可,准备好用来启动系统的U盘,一定要对U盘中内容进行备份(U盘是一定会被格式化的)。

然后开始制作硬盘映像,制作之前可能会要求格式化,随便格式化一下即可,其他都按照默认选项;这里我还额外设置了便捷启动,但可能不是必须的,见3.3。

然后等待读条即可,如果使用优质U盘,这个过程2-3分钟即可完成。

安装系统

下面就可以把移动硬盘和启动U盘都连接在电脑上完成Ubuntu系统的安装;接下来请把教程移动到手机或平板上显示,并关闭电脑。

首先开机进入BIOS界面,不同电脑进入BIOS界面的方式不同;以我的拯救者Y9000P为例,开机时连续按下F2即可进入BIOS界面:

(拯救者BIOS界面,在Boot Device一栏下可以调整启动的优先级,其他部分的设置切勿轻易修改)

不过注意到,拯救者的BIOS有点特殊,连续按下F2进入的界面可以设置启动系统的优先级,却不能选择从哪个系统进入,如果要进入Linux的安装引导界面,就必须把Linpus lite放在最高的优先级,然后重启电脑,这非常的不方便;因此对于拯救者,更好的方法是开机时连续按下F12而非F2,进入专门的启动选择界面,选择Linpus lite开始安装:


(按下F12后的界面)

具体系统安装的部分我没有做记录,这里只好引用他人的图片(侵权删),我参照的是这篇帖子:Unbuntu22.04.3系统安装在移动固态硬盘操作流程_ubuntu22.04 挂载固态硬盘-CSDN博客,大神的教程已经写得很详细,我这里再照葫芦画瓢一遍:

  1. 进入安装界面,左侧设置中文(这只是设定安装过程的语言),右侧选择安装ubuntu

  2. 然后选择系统语言,我选择的是英文(选英文是为了最大程度避免安装时可能产生的错误,好比于程序安装路径不要包含中文字符,这一点具体可以查看3.4),大神选的是中文,可能也没有问题,而且选中文系统会自带中文输入法,也比英文系统再去安装中文输入法方便

  3. 联网,这里强烈建议联网,然后在安装过程中就完成软件更新

  4. 这里就按照下图配置全部勾选上,在很多教程中都不勾选最后一条,期望降低系统的安装时间,但这可能导致电脑的英伟达独立显卡无法正常工作(同样见3.4),这里强烈建议勾选上;这里还要设置一个密码,这个密码和电脑密码不同,要求位数更长,一定要记住,以后安装驱动程序时都可能要求输入

  5. 安装类型一定要选择“其他选项”,否则可能导致电脑原来的硬盘被格式化!

  6. 进入下一个界面,首先一定要设置最下方安装启动引导器的设备为移动硬盘作为EFI区的分区(这个选项默认是电脑的主硬盘,虽然在这里设置成移动硬盘的EFI分区在安装后系统引导程序还是在主硬盘而不是移动硬盘,但很多教程都强调必须把这里设置成移动硬盘的EFI区,所以我们也照做)

    然后在我们已经分好区的基础上,把/boot、/、/home挂载到移动硬盘上设置好的对应分区;这里应该不需要再进行格式化;前两个分区应该默认就是efi和swap类型,无需挂载;第三个分区挂载到/boot(图中没有专门为/boot设置分区);第四个分区挂载到/;第五个分区挂载到/home;第六个分区就是我们的移动硬盘,和其余分区都无需挂载;这里建议右击界面的每个分区,查看“用于”,确保除了移动硬盘专用于Linux的五个分区外的其他分区都处于“不使用此分区”状态,避免错误地格式化电脑本身的硬盘。

分区 类型 挂载点
sda1 efi None
sda2 swap None
sda3 ext4 /boot
sda4 ext4 /
sda5 ext4 /home
sda6 exFAT 不使用此分区

完成以上两步就可以点击“现在安装”,等待安装完成;后面的步骤使用默认设置即可;完成安装后即可进入ubuntu系统界面。

重启完成驱动安装

进入ubuntu界面后先别着急使用,先重启电脑完成驱动安装。不出意外地话此时可能无法正常关机(在系统中点击关机后最后卡在Ubuntu的logo界面或黑色命令行界面),这是没有驱动的独立显卡作怪的缘故,此时可以长按电源键强制关机,然后重启电脑,进入Perform MDK management界面:


(这一步我也没做记录,引用大神的帖子——安装Ubuntu后蓝屏_enroll mok-CSDN博客(侵权删))

一定选择第二个Enroll MDK,选择continue,进入Enroll the key界面,选择yes,输入之前在安装系统时设置的secure boot密码(不是用户密码!),然后选择reboot重启电脑,完成显卡驱动的安装。

后续如果想安装英伟达官方的驱动(见3.5),也可以直接联网在线装;在“软件和更新”中,选择“附加驱动”,可以直接看到电脑的独立显卡对应的不同版本的驱动供选择(默认使用的是第三方开源驱动nouveau),选择一个驱动,选择“应用更改”,重启即可(如果一开始显卡驱动没有正常安装,系统无法识别显卡,则在“附加驱动”的界面也不会显示有任何可用驱动)。

将系统启动引导程序迁移到移动硬盘上

现在我们切换回Windows系统,使用Disk Genius查看移动硬盘的ESP区(注意到硬盘上的一些分区是无法像C盘、D盘这样直接被电脑的文件管理器访问的,需要为它们设置卷标,还必须有管理员权限,才能在文件管理器中进行访问和更改;这里推荐直接在Disk Genius中进行操作,即点击左侧目录即可直接访问和更改),发现其仍然是空的,没有我们的系统启动引导程序;实际上系统启动引导程序会被默认安装到主硬盘上:

如果你不想每次开机都要选择一个系统(即使你没插上移动硬盘),不想让Linux to go对你原来的Windows系统产生影响;又如果你还想让Linux to go在不同的电脑上都能工作,那么就要考虑将系统的启动引导程序迁移到到移动硬盘上。

这一步有使用boot-repair工具和手动迁移两种方法,我两种都尝试过,只有前者成功,并且前者也更加容易实现;这里就介绍第一种方法。

再把一开始的启动U盘和移动硬盘都插到电脑上,开机重启,按下F12进入启动项选择界面,此时应该能看到一个ubuntu和一个linpus lite,前者就是我们刚安装好的ubuntu系统,后者则还是原来引导ubuntu安装的程序。选择linpus lite,进入安装界面,但这次选择“试用Ubuntu”。

进入Ubuntu系统后,连接网络,打开终端输入下面的指令安装boot-repair软件:

sudo apt-add-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install boot-repair

安装完成后,输入命令运行该软件:

boot-repair

选择“Re***mended repair”,等待程序运行完成即可。

将系统启动引导程序成功迁移到移动硬盘后,可以通过DiskGenius软件在移动硬盘的ESP分区下看到如下的目录结构:

此时就可以在Disk Genius中将主硬盘中对应的与ubuntu相关的系统引导启动程序文件删除,这样每次启动电脑,只有在插入移动硬盘时才能看到Ubuntu系统的启动项,在不插入移动硬盘时,电脑上就只有Windows一个启动项可以选择(不考虑其他特殊启动项)。

至此,基本大功告成!不过需要说明的是Linux to go对电脑上原来的Windows系统也并不是完全没影响,在我的电脑上,每次使用完Ubuntu系统再切换回Windows系统,系统时间都会错乱,需要到系统中手动校准时间。

3.可能出现的问题

3.1.U盘引导系统安装时出现崩溃

最开始我的启动盘是一个从初中开始用的古董U盘,制作启动盘就要花很长时间(制作速度约为3MB/s,总共需要20min左右),系统装到最后一步竟然直接崩溃了😭(在设置Linux系统的用户名、设备名时报错闪退,进入到try Ubuntu的试用系统中);后来我换成了最近买的一个USB3.2的闪迪U盘重复之前步骤(128G的价格还不到三位数),不仅制作启动盘只要2min左右(制作速度约为30MB/s),在整个系统安装过程中也没有出现过崩溃的问题;所以推荐大家尽可能使用优质U盘。

3.2.不影响硬盘里本身已有的内容完成分区

三星T7 shield为了兼顾Mac和Windows的兼容性,默认使用的是exFAT文件系统,如果你已经在默认文件系统(exFAT)下存放了一些东西,想要在无损的情况下缩减原来分区大小留出空间用于Linux to go(比如1000G硬盘装了200G的东西,想在不移动200G文件的情况下,把硬盘变成700G,原来的200G还在700G里,剩下300G作为LInux to go的空间),这可能是无法做到的,我做过三种尝试都失败了,可以作为参考:

  1. DiskGenius本身支持各种文件系统的无损分区,可以按如下步骤完成

    但在实际操作中可能出现以下报错,虽然CSDN上针对这一问题有很多解决方案,但我始终都没能找到解决这一报错的方法而无法完成分区大小的调整。

  2. 于是我又尝试了另一款分区软件(易我数据恢复——全球超1亿用户的共同选择 (easeus.***.***)),这一次在调整exFAT所在分区的大小时,直接无法操作,以为是会员问题,我又在淘宝购买了1天的会员激活码,仍然无法完成操作;遂联系客服,客服寻找技术人员进行远程操控,最后得出软件不能支持exFAT无损分区的结论。

  3. 受到2的启发,我又在淘宝上请人完成硬盘无损分区操作,技术人员又是一番捣鼓,均已失败告终,同样得出exFAT不行,要换成NTFS才能无损分区的结论,最后退款。

实际上来讲如果没有使用Mac的需求,硬盘拿到手就可以考虑格式化为NTFS格式,NTFS对Win有更好支持的同时,对Linux的支持同样不错(Linux默认不识别exFAT但能识别NTFS);如果是NTFS的文件系统,则可以轻易实现无损分区,步骤参照上面的1.即可。

综上所述,我最后不得不把原来硬盘中的东西全部备份到电脑本地(因为文件太大本地放不下还被迫删了几个学习资料😭一百多G的地平线5),然后把整个所有的分区删除,最后完成硬盘分区的步骤。

3.3.BIOS界面找不到U盘启动项

Ubuntu系统安装引导程序在BIOS界面名称为Linpus lite,在我制作完成启动U盘并插入电脑重启后,发现在BIOS界面并不总能扫描到Linpus lite的启动项,可能需要反复插拔U盘或者重新启动电脑才有概率识别;这可能和在UltraISO中制作硬盘映像时没有设置便捷启动有关,按下面设置引导扇区后识别就变得稳定许多:

3.4.独立显卡无法被识别

在我前几次的尝试中,电脑的独立显卡总是无法被识别,这不仅会导致外接屏幕(我的电脑的HDMI和C接口都连接独显的输出)无法正常工作,还会导致电脑关机关不上(每次关机都必须强制按电源键强制关机),非常影响正常使用。

(可以看到只有集成显卡被识别到了)

后续我尝试了手动安装驱动程序(主要是英伟达官方驱动),结果不仅没装上,还把电脑本身的网卡、触控板、集显驱动装没了;最后是靠重装系统完成了显卡驱动的安装,也就是在安装过程中部分选项必须要勾选上。

我做了几次实验:

  1. 系统语言选择中文,不联网,正常安装,不选择安装ubuntu时下载更新,不选择为图形或无线硬件以及其他媒体格式安装第三方软件;结果没有显卡驱动
  2. 系统语言选择中文,不联网,正常安装,不选择安装ubuntu时下载更新,选择为图形或无线硬件以及其他媒体格式安装第三方软件;结果没有显卡驱动
  3. 系统语言选择英文,联网,正常安装,选择安装ubuntu时下载更新,选择为图形或无线硬件以及其他媒体格式安装第三方软件;结果成功安装显卡驱动(开源第三方驱动,外接屏幕正常工作)

因为没有使用控制变量法,无法确定驱动安装不正常的原因,但猜测和系统语言无关,而主要是要联网,然后要选择安装ubuntu时下载更新,还要选择为图形或无线硬件以及其他媒体格式安装第三方软件。当集显和独显驱动都正常工作时显示界面如下:

(两个图形卡在设置中都被识别到)

3.5安装英伟达官方驱动丢失掉其他驱动

首先强烈建议非必须不要折腾官方驱动,自带的驱动就挺好用的,装官方驱动可能导致原来的驱动丢失(触控板、网络、蓝牙等都不能用!),且官方驱动下屏幕色彩很灰(主观感受)!

首先打开设置-关于-软件更新-附加驱动,进入如下界面:

然后选择一个官方驱动安装,推荐选择非服务器(server)、非open kernel的驱动(更稳定),我选择的是图中第五个525版本,选择应用更改,等待完成后提示重启,这里趁还有网先别重启电脑(如果重启了也没关系,看后面)。

在终端输入命令 dpkg --get-selections|grep linux-,最下面可以看到英伟达525驱动对应的内核版本是6.5.0-18,从蓝圈可以看到当前系统总共安装了三个内核模块(每次系统启动只会调用一个内核,默认是6.5.0-18,可以设置优先级),6.5.0-15应该是当前正在使用的,对应于自带的第三方开源驱动nouveau;6.2.0-26是最老的内核,不含独显驱动;6.5.0-18是为了安装英伟达官方驱动下载的内核,也是我们以后想调用英伟达官方驱动必须使用的内核。

再看红圈,我们发现6.5.0-18的内核对应的文件相比6.5.0-15和6.2.0-26两个内核要少三个文件,这就是导致安装英伟达官方驱动后集显、网卡、蓝牙等都不见的罪魁祸首,这里我们只要下载这几个文件即可。

sudo apt-get install linux-headers-6.5.0-18-generic
# 第一个红圈的文件下载安装完成后会自动补齐第二个红圈缺失的文件
sudo apt-get install linux-modules-extra-6.5.0-18-generic

安装完成后重启电脑,一切正常,而且设置中图形卡识别为具体显卡型号,可以用 nvidia-smi命令确认显卡正常安装,同时集显也被正常识别。

更改英伟达官方驱动后感觉外接屏幕颜色暗淡不少,并且鼠标滑动拖影明显(外接屏幕是4K60Hz),使用感受不太好;电脑内置屏幕因为有高刷,不太受到影响;在内置的英伟达控制面板查看到外接屏幕疑似通过DP1.2与显卡连接,然而正常情况下应该是通过DP1.4连接。

尝试更换内核启动、换回nouveau驱动(同样在软件更新-附加驱动中修改,且切换为nouveau驱动无需重启电脑),显示效果依然暗淡、拖影严重;回到Windows系统下屏幕色彩、拖影恢复正常。因此判断不是屏幕本身的问题,而是英伟达对非专业卡在Linux系统下的软件支持真的很糟糕!

附:如果第一步操作中没有补齐缺失的内核文件就直接重启,可能会发现电脑没有网络,也没法下载缺失的内核文件。

(设置-关于里显示只有独显没有集显,这时候也没有网络;右侧是nvidia-smi命令显示驱动正确安装的效果)

可以考虑换回原来的内核,在有网条件下补齐文件然后重启电脑,具体步骤如下:

在启动的黑色命令行界面,选择第二个Advanced options……(第一个是Ubuntu,是我们正常启动系统时选择的选项),然后手动选择一个较老版本的内核启动(如图中6.5.0-15和6.2.0-26都行,有网就行),进入系统后按照前面的步骤sudo apt-get install补齐三个文件即可。

参考文章

Ubuntu系统安装在移动固态硬盘,实现在不同电脑即插即用(这篇文章特别说明了要改分区表为GUID)

将Liunx装入移动硬盘,实现即插即用_系统装移动硬盘随插随用么csdn-CSDN博客(这篇文章提供了将主硬盘上EFI区的系统引导程序转移到移动硬盘上EFI区的另一种方法;不过我在尝试这种方式时并没有成功)

移动硬盘安装ubuntu,制作自己的ubuntu-to-go_ubuntu to go 制作工具-CSDN博客(Linux to go的启动项修复帖子)

Unbuntu22.04.3系统安装在移动固态硬盘操作流程_ubuntu22.04 挂载固态硬盘-CSDN博客(这篇文章的系统安装部分写得很好)

Linux Ubuntu18.04安装显卡驱动后,无法上网的问题解决_ubuntu装了显卡驱动连不上网-CSDN博客(这篇文章解决了安装英伟达官方驱动后丢失其他驱动的问题)

转载请说明出处内容投诉
CSS教程_站长资源网 » 【万字详细教程】Linux to go——装在移动硬盘里的Linux系统(Ubuntu22.04)制作流程;一口气解决系统安装/引导文件迁移/显卡驱动安装等问题

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买