一、说明
为什么会想着用硬盘安装Linux?只是因为我陆陆续续买了两个U盘,然后它们都丢了,就没再买了。然而现在又想装个openSUSE,没有U盘,只能想办法通过硬盘安装。
记录自己走过的弯路,同时也为大家提供一个无U盘或硬盘安装Linux系统的提供一个思路。
如果发现错误,请大家指正,祝大家折腾成功!
二、环境
一开始,电脑上面只有一个Windows 10,磁盘的分区是GPT,启动方式为UEFI,华硕X450JB
三、无U盘安装openSUSE(UEFI+GPT)
1、在硬盘中格式化出来10G(大小只要够用就行)的盘,格式为FAT32。
2、将系统镜像(.iso结尾的文件)解压到刚刚格式化出来的FAT32盘中。
3、添加启动项:作为启动的是grub.efi
1)可以通过BIOS中自带的添加启动项。具体的过程视不同型号的BIOS而定吧。
2)可以通过EasyUEFI(我的尝试失败了,但是还不知道为啥,还是可以再尝试一下)
4、重启 -> 进入相应的启动项
5、开始安装
四、动手尝试(这是尝试的过程,记录自己走过的弯路,教程在动手尝试之后)
之前有过一次从硬盘安装Ubuntu的经历,所以我觉得这是有可能的。但是当时的磁盘分区是MBR,系统是win 7。现在找到的教程基本上是和这个类似的。这时就只能自力更生啦。
在此之前,我对于UEFI和刻录U盘的了解仅限于此。
1.UEFI“执行”的是以.efi结尾的文件,并以此来启动整个安装程序。
2.通过以前的观察,将系统刻录到U盘上面感觉只是将.iso文件里面的内容解压并复制到U盘。
在Legacy BIOS + MBR中有个一个EasyBCD的软件,在UEFI+GPT中也有一款类似的叫做EasyUEFI。我开始想着只要能够加上一个启动项,应该就可以启动了呀。因此马上行动。打开EasyUEFI后我就傻眼了,选择添加类型是“Linux及其他系统”的时候,它首先要我选择一个目标分区,其实当时傻眼了呢,这是要干啥呢?点又点不了,不过最终发现有一个盘长得不一样,如下图所示:
然后我点了一下它,嗯,它变色了。Nice。然后下面有一个栏,叫浏览文件。这是干啥的?点进去一看,是一个根目录的图标,嗯,接着点下去。然后这里面的内容好像有点似曾相识
这不就是ESP盘里面的内容吗?在UEFI+GPT模式中,有一个专门的分区,叫ESP,如下图所示(其中的openSUSE文件夹是我自己接下来加上去的,暂时先忽略它)。
UEFI是从这个分区里面读取.efi文件,然后启动系统的。我记得Linux的安装文件****.iso里面有个EFI文件夹,我觉得貌似看到了一点希望。下面是openSUSE-Leap-42.2-DVD-x86_64.iso里面的文件
这个时候,我觉得那不是只要将这里面的东西复制到ESP这个磁盘的相应地方就Okay了?因此我通过DiskGenius,将EFI文件夹下面的内容按照相应的样式添加了进ESP下的EFI文件夹下。如下:
然后就可以通过EasyUEFI添加相应的启动项了。嗯,好像是可以了。加上去了之后,然后兴冲冲地重启。结果开机重启后,按了ESC,调出“选择启动项”的框,发现竟然没有我刚才加的。我不信。进了BIOS的Boot项下面,真的没有。不过我看到了ADD BOOT的那一栏。心想,通过EasyUEFI添加不成功,那我通过BIOS来添加总可以了吧。输入了启动项的名字,找到了我想作为启动项的那一个之后(我不知道是grub.efi还是MokManager.efi,其实还有一个bootx64.efi文件,但是安装成功后不见了,所以我添加了三个启动项,分别启动grub.efi,bootx64.efi,MokManager.efi),然后手残的我按了Ctrl + Alt + Delete,重启了,恩,没保存。所以再次调出“选择启动项”之后还是啥都没有,没事,我又来了一遍。然后确保保存了之后才退出的。恩,出现了三个,选择它,然后,出现的情况也然我有点失望。当然都没有成功。我也在想,它凭啥要成功呢?我只是通过如此添加而已,它怎么找得到启动系统安装的其它文件?不过它在屏幕上的错误提示给了我一个提示:
大致是“找到/boot/下的啥啥啥文件”。
看到这个,是呀,没有找到这个,因为它根本就不存在。此时,看看这幅图:
心中便有了另外一个想法。那就是要是把这个openSUSE-Leap-42.2-DVD-x86_64.iso文件全部解压到ESP下面就好了。可是ESP只有200M左右的样子,不太现实。因此我在想这,只岂不是只要将openSUSE-Leap-42.2-DVD-x86_64.iso文件解压到一个盘,然后在BIOS里面找到相应的.efi文件并添加启动项不就可以了?马上又行动起来了,可是还是失败了。UEFI能够直接读取FAT32格式磁盘里面的内容。刚才的是NTFS格式的,所以读不了其它的内容吧。并且刻录完系统到U盘的后,这个时候U盘的文件系统格式貌似也是为FAT32。因此有了这样的一个想法,只要腾出一个磁盘,将其格式化成FAT32格式,然后将openSUSE-Leap-42.2-DVD-x86_64.iso里面的内容解压到其中,再从BIOS里面添加相应的启动,这次完美进入安装程序。
这里贴一张完美启动的启动项的配置:
安装好了之后,openSUSE的启动项的配置是这样的: