无U盘安装ubuntu,Debian等发行版

无U盘安装ubuntu,Debian等发行版

最近闲来无事,重新拾取了我在闲鱼的小副业——帮人装Linux双系统,象征性的收一点费用,以期挣点奶茶钱,同时也希望能通过我的努力,让一些入门者少走一些弯路。

服务的客户多了,碰到一些奇奇怪怪的组合和需求,比如有Linux to go的(还算正常,可是你要调nvidia独显炼丹啊??); 有啥都不懂,拿虚拟机分区直接往物理机上套,然后把Windows的引导扬了的;有第一次接触Linux,就直接要systemd-boot的;今天碰到的这个干脆连U盘都不给了......

没U盘?没U盘咋装啊?开始想直接用VMware直接往分区写东西,但是操作的权限又仅限于选中的那个分区,且无法挂载EFI分区,那还玩个锤子?

不过,只要思想不滑坡,方法总比困难多......

一、准备

要安装一个系统,安装镜像总得要有吧?先去下一个。

然后打开rufus,写启动...盘,哦对了,这次没有U盘...

跳过

...

二、原理

现在的电脑,基本都是UEFI+GPT的启动方式,当你按下电源键的那一刻,电脑的uefi固件会先初始化电脑硬件相关的信息,为之后启动操作系统做准备。

UEFI(统一可扩展固件接口)是一个公开的规范,定义了操作系统和平台固件之间的软件接口。UEFI 是传统 PC BIOS 的继承者,旨在解决其技术限制。
它将引导数据存储在 .efi 文件中,而不是固件中。你经常会在新款的主板中找到 UEFI 启动模式。UEFI 启动模式包含一个特殊的 EFI 分区,用于存储 .efi 文件并用于引导过程和引导加载程序。

所以,这时候,问题就变成了:如何把你下载的系统镜像里的efi文件提取出来,并放到硬盘的EFI分区里,让uefi固件可以识别到并加载起来。

那这就简单了,开整!

三、分区和实践

正常情况下,如果你通过rufus来创建启动U盘,你会得到一个有着FAT32格式的分区,以及安装所需要的文件。

所以我们也如法炮制,先在自己的硬盘上创建一个FAT32格式的分区,大小要能放得下安装镜像,比如给个8G左右。

就像这样:

在这个操作可以在Windows自带的磁盘管理器中进行,关键词是压缩卷和新建简单卷。

然后打开Debian的ISO安装镜像:

把里面的文件全都复制到刚才创建的FAT32分区里。

然后重启,改启动项就能看到有启动项了,记得关掉快速启动和安全启动。

到这里,不出意外你就能进入Debian的安装界面了。

四、安装时的修改

等安装界面跑起来后,不出意外的就出意外了。

不过这个是意料之中的,因为你确实没有可移动介质,也许可以通过改默认的挂载位置,但是这样多少有些麻烦。(主要是我不知道怎么改)

所以,别慌,我们选“否”,取消掉它,然后你会看到这个界面:

既然默认的不存在,那我们就手动把分区挂载过去。

选择上面的“运行shell”

这时候就会进入ash,输入ls,你会看到有这些目录/文件:

可以看到,这里有一个鲜明的cdrom目录,进去后里面是空的。

我们知道,Linux对于分区和设备是以“文件”的形式来看待的,所以直接进入/dev下,输入ls就可以看到你的硬盘分区,他们长这样:

对于分区,如果你是nvme协议的硬盘,那就是nvme0n1pX,如果是sata,那就是sda1、sdb1开头,最后的数字都是表示分区号。

刚才说cdrom目录是空的,如果你还记得你创建的FAT32分区里安装文件的目录格式的话,你会看到一个dists的目录,里面存放的就是一会儿安装所需要的软件包。

默认的cd源,就是从这里开始的,知道了这个,直接把我们的分区挂载到/cdrom即可。

你要记得你的分区号

比如,我的是在第三个分区,那命令就是:

mount nvme0n1p3 /cdrom

这时候你再进cdrom里,就会发现有这些东西了。

输入exit,退出ash,你这时候再探测安装介质就可以正常安装了。

剩下的就不用再说了吧?

五、已知问题

1、在配置apt时会报错。

原因未知,可以直接跳过,然后安装grub即可,这时候你就可以启动一个最小化的系统了。

2、开机后黑乎乎的,没有图形界面,也没法联网。

先说联网问题,如果你在安装时选择了联网,那正常情况下debian会直接将你的网络配置信息写入到/etc/network/interfaces里,这时候你直接换源应该就能正常联网,如果没有,就自己配置一下,然后重启服务。建议插网线,或者用手机的usb网络共享,有了networkmannager后,就可以自动联网了。

为啥黑乎乎?

因为刚才装的是最小化系统,没图形环境。

Debian都没嫌弃你没U盘,自己装个图形界面怎么了?(恼

Licensed under CC BY-NC-SA 4.0