admin 管理员组文章数量: 887031
文章目录
- 前言
- 1.问题描述——发生甚么事了?
- 2.系统启动过程
- 2.1 bios
- 2.2.磁盘的MBR和GPT分区格式 [参考1](https://www.bilibili/video/BV1YE411H7r6?t=461) [参考2](https://www.bwsl.wang/amp/81.html)
- 2.2.1. MBR分区格式
- 2.2.2. GPT分区格式
- 2.3.Legacy启动
- 2.4.UEFI启动
- 1、选择从哪个设备启动
- 2、选择用哪个文件启动项启动
- 2.5. bios和legacy的关系
- 3.windows的UEFI启动分析 [参考1](https://www.bilibili/video/BV1sE411H7qL?t=584) [参考2](https://wwwblogs/fatt/p/4496587.html)
- 3.1. UEFI设备启动项启动
- 3.2. UEFI文件启动项启动
- 4.Ubuntu的UEFI启动分析 [参考1](https://www.bilibili/video/BV1sE411H7qL?t=584) [参考2](https://wwwblogs/fatt/p/4496587.html)
- 4.1. UEFI设备启动项启动
- 4.2. UEFI文件启动项启动
- 4.3.ubuntu下几个文件的作用 ==**(???)**==
- 5.Ubuntu和windows双系统启动项问题 [参考1](https://www.bilibili/video/av80143050) [参考2](https://www.bilibili/video/BV1yU4y1x7d5) [参考3](https://www.bwsl.wang/amp/81.html)
- 5.1. `/EFI/Boot/bootx64.efi` ==**(???)**==
- 5.2. 两个ESP分区
- 5.3. 装删系统,如何调整启动项
- 5.3.1. 如何调整启动项进入双系统
- 5.3.2. 双系统变单系统如何调整启动项
- 5.3.3. 如何增删bios中的启动项
- 5.4. 验证
- 5.4.1. 从设备启动
- 5.4.2. 从EFI\boot\grubx64.efi启动
- 5.4.3. 从EFI\ubuntu\grubx64.efi启动
- 5.4.4. 从EFI\Mocrosoft\bootmgfw.efi启动
- 5.4.5. 选择win10的默认Windows Boot Manager启动
- 6.如何修复Ubuntu启动项
- 6.1. windows下使用EasyBCD修复 [参考](https://blog.csdn/u010849674/article/details/48600667?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.not_use_machine_learn_pai)
- 6.2.从Ubuntu启动盘进入系统,利用boot-repair修复 [参考](https://blog.csdn/chekongfu/article/details/84872841?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.not_use_machine_learn_pai)
- 7.如何安装系统
- 7.1. U盘安装win10 [参考](https://www.bilibili/video/BV1DJ411D79y?t=713)
- 7.2. U盘安装ubuntu [参考](https://wwwblogs/masbay/p/10745170.html)
- 7.3. 硬盘安装系统[参考](https://zhuanlan.zhihu/p/31365115)
- 8.杂谈
- 8.1.一定要勤备份、常备份
- 8.2.自己解决问题各有利弊
- 8.3.回到问题本身
- 8.4.觉知此事要躬行
- 8.5. 图床不要选gitee [参考](https://blog.csdn/Happy_HZW/article/details/112194406)
- 8.6. 记录Topyra的几个语法
- 8.6.1. 锚点 [参考](https://blog.csdn/wait_for_eva/article/details/88374366)
- 标题
- 8.6.2. 目录
前言
以下部分内容都来自网络,在相应的地方我会附上链接。其次还有我自己的理解,肯定会有不恰当和错误的地方。这只是为了记录我在这个过程中所获,所以仅供参考。在这过程中,我遇到自己不确定的地方会以==(???)==来标识。
1.问题描述——发生甚么事了?
- 我原本是win10单系统,后来安装了ubuntu16.04的双系统。win10全在C盘;ubuntu的系统主体在D盘,引导项在C盘(C盘和D盘是两个独立的物理磁盘,并非单磁盘双分区)。双系统一直相安无事。
- 在前几天,win10环境下, 插拔SD卡读卡器的时候,电脑蓝屏(危)
- 蓝屏自动修复完毕后电脑一直卡住不动,于是强制重启(危)
- 重启后电脑无法进入win10,此时还可以正常进入ubuntu
- 由于win10内含有大量的软件,所以我还是抱着尽量抢救的想法进行修复
- 虽然自己啥也不懂,但还是查找资料进行了一番操作,然后……ubuntu也进不去了,大惊失色
- 最后实在没招,只能重装win10,所有软件全部丢失。修复ubuntu引导项后正常进入Ubuntu,未受影响
2.系统启动过程
win10一直用的是买笔记本时附带的系统,所以自己从未安装过。装ubuntu时也是根据教程一步步来,也不懂什么原理。不懂原理就导致此次系统出问题非常被动,折腾了很久才搞好。那么下面就说一下开机启动过程,因为通常进不去系统的时候,除了是系统内核错误(我的win10出错代码0xc000001,如下图1,找人看说是内核错误只能重装),最常见的就是引导项损坏(一开始还只是0xc000001错误,后来直接找不着引导项了,如下图2)等错误。
目前主要有两种系统启动的方式,即Legacy(bios)启动(对应硬盘MBR分区方式)和UEFI启动(对应硬盘GPT分区方式)。因为UEFI启动方式更快,并且相对来说更加灵活,所以目前很多电脑都是采用UEFI启动。
2.1 bios
bios可以分为硬件和软件两部分。硬件上,bios是主板上一块很小的ROM芯片,里面存储了一段bios程序,开机之后首先执行的就是这个程序,而不是操作系统的程序,所以才有了启动方式的区别。软件上,bios程序会检测硬件是否正常,即POST(POWER ON SELF TEST,上电自检),然后会依次查找启动设备,找到之后就去读取这里面的主引导程序,后面的工作由主引导程序完成。此外bios有一个交互的界面,可以供用户来进行一些设置。
Tips:
-
查找启动设备的顺序是什么?
bios程序里存储有启动设备的顺序,而且这个顺序是可以通过bios界面的
Boot Priority Order
选项调整的,如下图:在这里面既有文件启动项,又有设备启动项(或者在Legacy模式下的设备启动顺序)。至于这俩是什么,见2.4节。启动时按照顺序查找启动。
-
其实本质上来说,bios应该是一个软件,因为bios程序只是存在了一个ROM芯片里,所以把这个芯片也称为bios芯片,就是为了方便叫。这就相当于一部手机如果分别装苹果、安卓和塞班系统,就叫它苹果、安卓、塞班手机,以和其他手机区分。不同之处是在内部软件,而非硬件。
-
bios程序通常是主板出厂时厂家写好的,但是可以利用一定的方法自己更改,不过有风险。
2.2.磁盘的MBR和GPT分区格式 参考1 参考2
2.2.1. MBR分区格式
MBR分区类型的磁盘需要使用legacy方式启动,因为启动时需要查找MBR分区。MBR是主引导记录,也是一种磁盘的分区格式,注意是分区格式,而非文件格式。legacy启动方式对应磁盘的GPT分区格式,legacy只认设备,其他什么都不认。因为只认识设备,所以必须要事先约定好读取设备的哪个部分才能保证正常读取引导。因此这种启动方式,需要定义一个主引导记录
,位于硬盘的柱面0 磁头0 扇区1
。它的大小是512B,由3部分构成:主引导程序446B+DPT硬盘分区表64B+磁盘有效标志0x55 0xAA
也就是说,为了实现Legacy启动方式,磁盘需要是MBR分区格式。并且磁盘中必须且只能存在一个MBR分区,用于存储引导程序。使用Legacy启动时,bios就会依次查找磁盘中是否有MBR分区,如果有就加载MBR分区中的引导程序,进而由引导程序引导系统启动。
2.2.2. GPT分区格式
GPT分区的磁盘需要使用UEFI启动,因为启动时需要查找ESP分区下的*.efi启动项。注意EFI分区(ESP)必须是FAT32的文件格式,文件启动项放置在路径/EFI/厂商名
下,比如 C:\EFI\boot\Microsoft
或者C:\EFI\boot\Ubuntu
也就是说,为了实现UEFI启动方式,磁盘需要是GPT分区格式。在磁盘中必须有一个FAT32文件格式的ESP分区,用于存储*.efi启动文件。使用UEFI启动时,bios就会到这个ESP分区下去查找启动文件,找到了就加载启动文件中的程序,进而由启动文件引导系统启动。
2.3.Legacy启动
Legacy驱动方式只认识设备,其他东西全都不认识。启动时,Legacy按照bios里保存的设备启动顺序依次检索设备当中的前512字节,看前512字节的最后两个字节是不是55AA(是否是MBR分区),不是则跳过去读下一个启动设备;如果是,则表示可启动,转而去读主引导程序,剩下的工作就交给主引导程序去做了。
正是因为读取的位置固定这个特性,使得一个设备只会出现一个引导程序,后加入的程序会覆盖先前的引导,就有点儿刻板了。
2.4.UEFI启动
UEFI启动方式不但认识设备,还认识分区,更认识文件。UEFI根据BIOS中同样保存的启动顺序依次查找启动项。至于启动项,UEFI又分成两个:文件启动项和设备启动项。
文件启动项:即一个指向明确文件存储位置的启动项。使用这个启动项,UEFI会直接去往这个位置来加载执行。
设备启动项:指向一个设备,注意是实际的物理设备,而非磁盘分区。对于这种启动项,UEFI定义了一个标准,即如果这个设备可以启动,那么这个设备的efi引导文件一定是ESP分区下的/efi/boot/bootx64.efi
文件。对于一个设备启动项,EFI会直接执行这个路径下面的文件。如果可执行则继续,找不到则报失败。
Tips:如何指定一个EFI启动项?
因为有两种启动项,所以启动自然分为两种情况:
1、选择从哪个设备启动
在用户选择了启动磁盘后,UEFI会在这个磁盘中寻找EFI分区,然后找这个分区下 的/EFI/Boot/bootx64.efi
(UEFI可以执行的二进制文件),由这个文件进行下一步操作(引导操作系统)。这个文件通常是在安装了操作系统之后,系统自动生成,从而让引导文件/EFI/Boot/bootx64.efi
引导自己启动。[详见5.1节](###5.1. /EFI/Boot/bootx64.efi
(???))
2、选择用哪个文件启动项启动
这个启动项记录了引导文件(*.efi)所在的磁盘和分区以及文件名,比如 C:\EFI\boot\Microsoft\bootmgfw.efi
或者C:\EFI\boot\Ubuntu\grubx64.efi
,直接执行这个efi文件即可开始进行下一步操作(引导操作系统)。
2.5. bios和legacy的关系
在搜资料的过程中,有人把legacy启动也叫成bios启动。我也不太清楚这些概念的具体分别。但我觉得可能是最初都是legacy启动方式,都用到了bios。但是想想又不对,因为Legacy启动全程只听了个名,在启动过程中也没见它啊,只看到了bios,所以叫成bios启动也有道理。但是如果叫成bios启动,那UEFI启动的时候也利用了bios中存储的启动顺序。并且在bios的界面中还可以选择是用Legacy启动还是UEFI启动(因为硬盘的分区格式是MBR还是GPT是可以更改的,所以启动方式也需要更改)。
比较乱,但我觉得名称不重要,说出来名字知道是什么启动方式就够了。
3.windows的UEFI启动分析 参考1 参考2
因为UEFI有两种启动项,即设备启动和文件启动。当使用单系统的时候,windows使用设备启动项和文件启动项的效果是相同的,因为就一个系统嘛。
先看ESP分区:
这是我ubuntu和win10双系统的ESP分区。如果只有windows的话,下面的ubuntu文件夹应该没有。并且boot里的grubx64.efi文件也没有,因为grub是ubuntu用的启动程序。
- 双系统:在图中的情况下,bootx64.efi指向的是grubx64.efi。如果从设备启动的话,先加载bootx64.efi,再加载同级目录下的grub4.efi的启动程序,最后引导系统启动。
- 下面讲解win10单系统,此时的bootx64.efi指向的是
\EFI\Microsoft\Boot\BCD
3.1. UEFI设备启动项启动
如前所述,如果使用设备启动项启动,首先需要在bios里把windows的ESP分区所在的硬盘调到最上面,即最先从这个设备启动。启动流程如下:
Tips:
- BCD文件:windows专用的引导程序,只能引导windows系统,且只能高版本系统引导低版本系统,比如win10的BCD可以引导win8 7 xp,反之不可。
- grub文件:linu使用的引导程序,可以引导linux,也可以引导windows。
- 由图可见EFI分区和windows分区可以不是一个磁盘分区,甚至可以不是一个磁盘。这意味着,有时候你的windows安装在D盘,但是bios里却要选择优先从C盘启动,因为可能C盘里存的是EFI分区。
3.2. UEFI文件启动项启动
如前所述,如果使用文件启动项启动,首先需要在bios里把windows的EFI文件启动项调到最上面,即最先从这个文件启动项。Windows Boot Manager
就是一个文件启动项,它指向的内容是\EFI\Microsoft\Boot\bootmgfw.efi
,如下图所示。Windows Boot Manager
是在安装windows后系统自动生成并添加的启动项,他的名字随便改,指向的efi文件不变即可。而我记得安装ubuntu之后efi启动项并未自动添加,还需手动在bios里面添加启动项。(注意启动项的efi文件肯定是有的,只是没有添加到bios的boot manager选择界面里,所以还要手动添加。而winodows直接添加进了boot manager选择界面)
使用Windows Boot Manager
这一文件启动项进行启动的流程如下:
4.Ubuntu的UEFI启动分析 参考1 参考2
了解了上面的知识之后,很自然的想起来在安装ubuntu的时候新建了一个分区作为EFI分区,用于Ubuntu系统的引导。在安装Ubunt的时候,在建立磁盘分区的时候有一项安装启动引导器的设备
,就是在选择将ubuntu的EFI启动项安装在哪里。(注意倘若你安装好的ubuntu启动项丢失,你有U盘启动盘,是不能直接复制U盘启动盘中的EFI文件到你的系统安装的ESP分区的,因为它们指向的系统位置不对)
Ubuntu的启动分区文件结构:
注意这里由于我现在已经是双系统,所以win10和ubuntu的EFI分区目录都是上面这样。
4.1. UEFI设备启动项启动
如前所述,如果使用设备启动项启动,首先需要在bios里把Ubuntu的ESP分区所在的硬盘调到最上面,即最先从这个设备启动。
在图中的情况下,如果从设备启动的话,先加载bootx64.efi,再加载同级目录下的grub4.efi的启动程序,最后引导系统启动。
4.2. UEFI文件启动项启动
如前所述,如果使用文件启动项启动,首先需要在bios里添加ubuntu的文件启动项,指向\EFI\ubuntu\grubx64.efi
,然后把这个EFI文件启动项调到最上面,即最先从这个文件启动项。
4.3.ubuntu下几个文件的作用 (???)
grub.cfg | 启动配置文件,告诉启动器哪些系统,如何启动 |
---|---|
grubx64.efi | 启动项,引导系统启动,在bios中关闭Secure Boot时才能成功启动 |
mmx64.efi | 启动项,引导系统启动,在bios中开启Secure Boot时也能成功启动 |
shimx64.efi | 启动项,引导系统启动,在bios中开启Secure Boot时也能成功启动 |
具体来看,三个efi文件主要功能是一样的,就是有没有安全启动(Secure Boot)功能的问题。Secure Boot
在bios里可以设置。
5.Ubuntu和windows双系统启动项问题 参考1 参考2 参考3
5.1. /EFI/Boot/bootx64.efi
(???)
关于/EFI/Boot/bootx64.efi
到底是怎么引导到系统的,我也不太清楚,尤其是在双系统的情况下。如果说安装了一个系统之后,该系统会把/EFI/Boot/bootx64.efi
自动修改成引导自己的文件。那么如果选择从设备启动项启动,情况应该是:后装ubuntu,那么从设备启动项启动就是启动的grub引导项,可以选择进入ubuntu和win10;后装windows,那么从设备启动项启动就是启动的BCD引导项,只能进入windows,先装的Ubuntu进不去。
在 这篇文章 中,详细写了这个bootx64.efi和其他efi文件的对比,跟我上面的猜想差不多,所以我上面的猜想应该是对的。
5.2. 两个ESP分区
如果一个硬盘里含有两个ESP分区,分别是windows和ESP。选择设备启动项来启动,顺序如何?我猜应该是按照磁盘顺序来启动,前面的ESP分区引导的系统会被启动。
5.3. 装删系统,如何调整启动项
5.3.1. 如何调整启动项进入双系统
-
如果选择从设备启动项启动,且5.1所讨论的成立的话,会出现进不去ubuntu系统的情况(此时应该是后装windows);
-
如果选择从文件启动项启动,由于Ubuntu使用grub作为引导程序,还可以引导windows启动,也就是能进入双系统;而windows使用BCD作为引导程序,但是不能引导Linux启动,所以只能进入windows。
所以要想能进入双系统,就需要在bios里将ubuntu的启动项调到最上面的位置,也就是最优先启动,这样就能通过grub引导进入双系统了。如下图所示:
5.3.2. 双系统变单系统如何调整启动项
根据上面的解释,这个问题就很简单了。
-
Ubuntu+win10双系统 -> win10单系统
在bios里把win10的启动项(Windows Boot Manager)移到最上面就行了。至于EFI分区中的ubuntu的启动项,删不删都无所谓。想删的话可以在ubuntu卸载之前,删除/boot/EFI/ubuntu目录。或者使用PE启动盘进入win10(因为win10下ESP是不可见的,但是也可以用命令行删除),用DiskGenius删除ESP中的ubuntu目录。
-
Ubuntu+win10双系统 -> Ubuntu单系统
在bios里启动项顺序不用变。至于EFI分区中的windows的启动项,删不删都无所谓。想删的话可以在ubuntu系统里删除/boot/EFI/microsoft目录。
5.3.3. 如何增删bios中的启动项
-
通过bios界面添加
通过bios界面只能添加启动项,不能删除启动项。添加步骤如下:
如果像上面那样,添加UEFI文件不能选择的话,去Boot选项里把Secure Boot改成Enabled,然后再回来添加。一定记得添加完成后把Secure Boot再改成Disabled,否则使用grub引导时会出错(如果使用grubx64.efi作为引导的话)。
-
ubuntu里通过efibootmgr添加和删除
- 查看和删除启动项
efibootmgr #查看启动项
sudo efibootmgr -b 启动项号 -B #删除启动项
-
查看EFI分区位置
sudo fdisk -l #列出磁盘分区表
-
添加EFI启动项
#语法 sudo efibootmgr -d EFI所在磁盘号 -p EFI所在分区号 -c -L 启动项名称 -l 启动项文件路径 #举例,这里添加的是boot文件夹下的启动项,并将其命名为bootx64,利用的是设备启动项启动时所调用的文件 sudo efibootmgr -d /dev/sdb -p 3 -c -L bootx64 -l /EFI/Boot/bootx64.efi #命令解释 #-d disk磁盘; -p partiton分区; -c create创建; #-L Label标签(名字); -l link 链接(到哪个efi文件)
-
windows下通过EasyUEFI软件添加和删除
Tips:奇怪的是,不论是在windows下还是ubuntu下,我都只能增加启动项成功,而删除启动项失败。虽然明明删除了,但是开机还有,原因不明。我在EasyUEFI中看了一下,比如上面的test启动项是无效的,它分区编号是5;而其他有效启动项分区都是3。所以无法删除可能和这个原因有关。
5.4. 验证
在我win10坏了且ubuntu启动项丢失的情况下,利用ubuntu启动盘进入系统修复了ubuntu的启动项。然后再次装好win10,然后进行启动项验证。两个系统的EFI引导在同一个分区。
5.4.1. 从设备启动
进入grub引导程序,可选择进入Ubuntu和win10双系统。说明bootx64.efi指向的是EFI\ubuntu\grubx64.efi
。比较奇怪,按理说后装了win10,那么bootx64.efi应该指向win10啊,但是还是指向ubunu。原因不明
5.4.2. 从EFI\boot\grubx64.efi启动
进入grub引导程序,可选择进入Ubuntu和win10双系统,说明此文件和EFI\ubuntu\grubx64.efi
一样,并且bootx64.efi也指向了这个文件。正常。
5.4.3. 从EFI\ubuntu\grubx64.efi启动
进入grub引导程序,可选择进入Ubuntu和win10双系统。正常。
5.4.4. 从EFI\Mocrosoft\bootmgfw.efi启动
进入BCD引导程序,直接进入win10系统。正常。
5.4.5. 选择win10的默认Windows Boot Manager启动
进入BCD引导程序,直接进入win10系统,说明Windows Boot Manager
就是指向EFI\Mocrosoft\bootmgfw.efi
。正常。
6.如何修复Ubuntu启动项
6.1. windows下使用EasyBCD修复 参考
实验表明只能操作windows的引导项,并不能操作linux引导项,不可行。原因:BIOS(MBR)升级到UEFI(GPT)后,微软就不支持那些legacy和非微软签名的内核的操作系统从BCD目录启动了。
6.2.从Ubuntu启动盘进入系统,利用boot-repair修复 参考
亲测可行。
7.如何安装系统
7.1. U盘安装win10 参考
U盘安装win10适用于任何情况,无论之前你的电脑上有没有其他操作系统。参考已经讲得非常详细,分别是利用win10 官方ISO镜像直装和利用微PE辅助安装。当然这两种方式后者更好,主要有以下几个优点:
-
PE是存储在U盘里,独立于电脑之外的(拥有最高权限)迷你备用系统,可以做很多事情,比如:
1.删掉c盘里奇怪的文件,让电脑能够正常开机
2.利用傲梅分区助手在换新硬盘的时候无损迁移系统到新的硬盘
3.利用NT工具破解忘记的系统密码
4.利用DG工具在避免再次写入的情况下恢复误删的数据
5.利用一些硬件检测工具判断是系统还是硬件原因引起的故障
6.利用BOOTICE工具修复混乱的引导
7.利用aida64查看系统真实的信息
8.利用带网络的PE,让他人远程协助 -
用PE安装win10,会把U盘分成EFI和普通盘两个分区,EFI里面就是PE系统不用动,而剩下的普通盘就可以当做一个普通U盘用了。但是win10 官方ISO镜像直装必须保证文件都在根目录下,限制了U 盘的使用。
-
用PE里面可以放多个windows系统,只要存储有ISO镜像即可。但是不能利用PE来辅助安装ubuntu,因为PE是windows系统,而ubuntu是linux系统。
Tips:
我在使用PE安装win10时,由于可以使用DiskGenius先对磁盘进行分区,再安装。但是先分区后,在选择windows的安装位置时,出现“我们无法创建新的分区,也找不到现有的分区”的错误。如果出现了这种错误,可以把原来DG分的分区删掉,成为未分配的状态,然后再次安装,在选择安装分区的时候手动新建并选择就可以了。
7.2. U盘安装ubuntu 参考
7.3. 硬盘安装系统参考
这里的硬盘指电脑里的硬盘,而非移动硬盘(移动硬盘和U盘安装无区别)。硬盘安装要求电脑上有能用的操作系统,比如我电脑上有win10,我想装ubuntu,而我手头又没有移动存储设备(U盘之类),那么这种方法就可解燃眉之急。注意:前提是你的电脑是UEFI启动,因为只有这样才能选择不同启动项启动。
-
在电脑上开辟一块FAT32格式的分区:因为UEFI的ESP分区要求必须是FAT32的文件系统格式;
-
将ubuntu的安装盘ISO镜像文件解压进去;
我这里测试了Ultroso软件不能对磁盘内置磁盘进行写入,好像只支持U盘。并且我查了一下好像很多工具都不支持写入电脑上的硬盘。因为我下载的ubuntu镜像文件只有1.6G,没有超过FAT32 文件最大4G的限制,所以可以自己解压复制进去。不知道这样和用工具写入有什么不同。我猜测工具写入会直接生成一个ESP分区,以便开机时选择从硬件启动(注意这里的硬件就是物理上独立的硬件,不是磁盘分区)。但是由于我们这里用文件启动项启动,倒也无所谓了。
-
添加文件启动项,以保证开机从这里引导进入系统
-
不可行:EasyUEFI工具添加
用EasyUEFI工具(管理员身份运行),把上面分区中的bootx64.efi文件添加为UEFI文件启动项。
实测情况是由于我们是直接复制文件进去,不是工具写入,所以没有ESP分区。EasyUEFI必须找到ESP分区才能添加,而非任何一个EFI文件夹下的文件都能添加。Easy UEFI手动添加ESP分区也不可以,可以选择启动盘,但是无法选择系统盘(我们的都在一个Z盘里),所以没法添加启动项。
-
可行:bios添加
直接关机,开机时狂按F2(不同电脑不一样)进入bios,按照之前添加文件启动项的方式添加启动项。这时候你会发现这里面就可以手动寻找添加分区,添加完毕后记得关闭
Secure Boot
**Tips:**在bios添加完启动项之后,可能你会发现上面的界面中并没有新添加的启动项。实际上已经添加上了 ,只是此次不会显示,保存退出下次开机在进入bios或者boot manager都可以看见。我猜这是bios程序的原因,它只会在上电时读取一次EFI启动项,之后再操作它会保存你的修改到ROM中,但是本次不会重新加载,下次上电再重新加载。
-
-
关机,再次开机选择启动盘的引导程序启动
关机后再次开机,狂按F12(不同电脑不同,台式机一般是Delete键),进入boot manager界面,选择从哪个引导项启动系统。
- 选择刚刚添加的启动项启动
- 这里我不安装,仅选择试用ubuntu,可以进行系统引导项修复
- 进入系统
-
如果安装系统,操作同网上的教程;
-
安装完毕,关机后再次开机,狂按F2(不同电脑不一样)进入bios,将新安装好的系统的ubuntu启动项移到最上面,以保证再次开机时利用ubuntu的grub引导系统,可以进入双系统,设置好之后保存退出,电脑自动重启;
-
电脑重启后就会显示ubuntu的启动项引导界面了,也就是双系统重装成功了。
Tips:
-
安装完成后,可以把原来的ISO分区格式化了。也可以留着,倘若ubuntu出问题,还可以把它当成启动盘进入系统进行修复;
-
以上步骤就是将硬盘的某个分区当成了外部U盘来制作系统启动盘。与U盘不同的是,U盘安装系统是在bios里选择从U盘启动,也就是UEFI的设备启动项;而上面的操作由于我们的是硬盘分区,并不是设备,所以用的是UEFI的文件启动项。
-
虽然Easy UEFI添加启动项没成功,但是在我用bios界面添加成功后,进入win10再次打开Easy UEFI添加,就可以识别到刚才我们的启动盘分区了,如下图。而之前是不能的(但是我这里猜测有没有可能我把文件放进启动磁盘分区后,重启电脑,再次打开Easy UEFI就能识别了?可能可以吧,当时忘了试一试)。
8.杂谈
此次系统损坏,可谓损失惨重,win10下的软件全无,好在ubuntu还在。同时手边没有U盘,不能进PE也没法进一步修复。经过这一劫,总结如下:
8.1.一定要勤备份、常备份
对于系统,装了一些软件后就创建还原点,或者利用PE做系统镜像;对于文件,不怕隐私问题的话可以上传云盘,否则移动硬盘随时拷贝,尤其在毕业设计阶段;
8.2.自己解决问题各有利弊
比如在我win10刚坏的时候,如果自己不瞎搞,选择重置系统,根本不会有这么多的麻烦(当然我就也不会去看上面那些知识了)。如果直接去找人修,可能也早就解决了(但是也未必,我找了好几个修电脑的连是启动项丢失的问题都不懂,对Ubuntu更不了解)。另外笔记本坏了可以去找卖笔记本的看看,他们往往也修笔记本,而且比专门修电脑的店(更多在搞台式机)更了解。但是自己解决问题更能符合你的要求,还能省钱。
8.3.回到问题本身
首先插拔读卡器电脑蓝屏,应该是USB驱动问题,到底是啥问题我也不知道。在这之前几天我使用单片机的USB转串口时,出现了两次蓝屏但是都自动修复成功了,所以没在意。这次出问题后查了查,一般USB转串口出问题都是驱动的原因,比如PL2303和CH340,我就是用的CH340出现了两次蓝屏。解决方法很简单,换FT232的USB转串口,据说比较稳定,已下单购买。
而此次蓝屏修复完毕后,电脑卡死不懂(估计蓝屏问题很严重?),我进行了强制重启,可能这导致问题雪上加霜。所以无论什么系统,千万不要强制重启(ubuntu比windows还严重,别问我怎么知道的),卡死了就别去动他,尽量多等一会。
8.4.觉知此事要躬行
在 [7.3.硬盘安装系统](###7.3. 硬盘安装系统参考) 这一小节中,我本打算只写理论操作,因为我觉得那是完全可行的。但是实际操作的时候就遇到了Easy UEFI无法添加启动项的问题。所以只有实际操作了才能验证理论分析的正确性。
8.5. 图床不要选gitee 参考
本来这篇笔记已经写完了,按照参考资料的步骤上传图床然后把MarkDown的语法源码拷贝到CSDN即可实现多平台方便的发布。在我上传gitee图床后,发现有的图片显示,有的图片不显示。最后偶然查找到是因为gitee的图床对外部链接的图片有限制,最大900K。虽然我的文章中用的图片全部都是截屏,但有很多图片还是超过了900K,无奈全部进行了二次截屏压缩大小。
真是惊喜,都最后了又出问题……
8.6. 记录Topyra的几个语法
8.6.1. 锚点 参考
##### 标题
[点此跳转到标题](#####标题)
标题
点此跳转到标题
需要注意的是MarkDown语法标题的#后面有空格,而锚点的链接#后面无空格
8.6.2. 目录
段落->内容目录
版权声明:本文标题:ubuntu16.04+win10重装系统笔记 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725938431h895937.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论