为什么系统镜像不能放入u盘? (为什么系统镜像不能放入u盘?) 前言

2021年7月底开始研究国内系统(Linux)。

通常,一个系统镜像需要制作一个安装U盘来安装。

但这显然是不科学的!Linux系统那么多,每个系统都有一个U盘,不用说花钱,带一堆U盘也不方便。

所以我研究了统信UOS、U盘上做了银河麒麟的镜像。。

不谈研究过程,直接上方法!

方法一

这是我研究后发现的神软!我的方法太复杂了。一般建议使用:

Ventoy,官网地址:Ventoy

软件界面很简单,使用也很简单,这里就不说了:

安装后,无论是否将各种系统镜像放在U盘上,无论是Windows还是Linux,也不管是X86、ARM还是MIPS可以支持架构!非常强大,运维人员必备神器:

方法二

这是我当时研究的方法,复杂,适用性不高,写在这里主要不想浪费当时的努力!非常强大,运维人员必备神器:

方法二

这是我当时研究的方法,复杂,适用性低。写在这里主要不想浪费当时的心血!里面也有一些知识点可供借鉴。。

准备工作:

1个不小于8G的U盘。我使用的是64G

统信UOS的ISO镜像文件。下载官网地址:统信UOS生态社区 - 创新生态创新操作系统 本次使用的版本为:uniontechos-desktop-21.0-home-beta5-amd64.iso

银河麒麟的ISO镜像文件。官网地址:https://www.kylinos.cn 本次使用的版本为:Kylin-Desktop-V10-Release-Build1-20200313-x86_64.iso 但是在哪里下载我忘了

其它软件:

Grub2 Windows版 官网地址:https://ftp.gnu.org/gnu/grub 本次使用的版本为:grub-2.06-for-windows.zip

7-ZIP 官网地址:https://www.7-zip.org 版本:21.02

DiskGenius 官网地址:https://www.diskgenius.cn

1、使用DiskGenius将U盘分区格式化为FAT32格式。若有多个分区,建议全部删除后新建主分区。若有多个分区,建议全部删除后新建主分区。

说明:如果U盘小于32G,也可以使用Windows自带格式化。FAT32是为了更好的兼容性。

2、将GRUB2整个解压出来,我解压后的目录是:E:\\grub-2.06-for-windows

运行CMD,输入命令:wmic diskdrive list brief检查系统中U盘的设备ID,如图:

\\\\.\\PHYSICALDRIVE4 是我系统中U盘的设备ID。继续输入命令:

cd /d E:\\grub-2.06-for-windows进入grub注意将目录修改为解压目录。

输入命令:

grub-install --target=i386-pc --boot-directory=j: --recheck \\\\.\\PHYSICALDRIVE4

其中

--target=i386-pc表示使用传统BIOS引导模式(实际上UEFI也可引导))

--boot-directory=j:

指南目录是j盘(我的u盘符)

--recheck \\\\.\\PHYSICALDRIVE4 --recheck

该参数的说明是:delete device map if it already exists “

完成后,Grub这时U盘已经有能力引导系统了。

3、使用7-ZIP打开统信UOS的ISO将所有文件解压到U盘的镜像。

3、使用7-ZIP打开统信UOS的ISO将所有文件解压到U盘的镜像。

为什么要用7-ZIP,而不是WinRAR、UltraISO这些软件?

先看两张图:

第一张图是WinRAR、第二张图是7-ZIP,同一个打开ISO但是显示的文件和目录的名称却大不相同!!

显而易见,7-ZIP显示是正确的,WinRAR那是错误的。

UltraISO和WinRAR情况是一样的,所以这里用7-ZIP解压!//2021.08.13日更新说明:UltraISO 9.7.以后的版本也可以支持

4.打开银河麒麟ISO镜像文件,将.disk和casper将这两个目录解压到U盘。

银河麒麟的镜像文件和UOS不同的,可以使用WinRAR打开。当然,随着版本的更新,未来很难说,或者使用7-ZIP比较放心。

5、打开

U盘\\boot\\grub\\grub.cfg

加入银河麒麟启动菜单。可从麒麟开始ISO文件中,boot\\grub\\grub.cfg中提取。

改后如下:

注意,我在第一行加了一句话:set timeout=50

如果没有句子,就不会有菜单选择,直接进入UOS的安装了。grub.cfg文件修改后,将其复制到此位置:U盘\\grub 目录下

至此,UOS 麒麟 U盘的二合一安装就完成了!

一些问题说明:

问题1:为什么?UOS解压所有文件,麒麟只有两个目录?

因为麒麟只需要.disk和casper这两个目录正常!

而UOS在测试测试中发现,live和oem安装可以完成两个目录,但安装完成后,系统无法启动!

我懒得一个一个地测试,所以我直接解压所有文件!另一个原因是UOS根目录的deepin-boot-maker.exe、uos-system-installer.exe这两个程序有实用价值,保留了

问题2:UEFI模式可以启动吗?

实测可以!

因为UOS所有文件都解压了,其中EFI包含在目录中UEFI启动所需文件。

这里有一个特别的说明:传统BIOS指导时,Grub配置文件是 U盘\\grub\\grub.cfg

而通过UEFI指导时,配置文件则是:U盘\\boot\\grub\\grub.cfg因此,在第五步操作时,为什么要复制一份?grub.cfg到U盘\\grub

这就是目录下的原因

当然,UEFI引导实际上是由U盘\\EFI\\BOOT\\BOOTx64.EFI控制文件,

U盘\\boot\\grub\\grub.cfg 该配置文件也由其定义。

可以使用grub-mkimage自己生成

BOOTx64.EFI

,使无论是BIOS方式还是UEFI统一使用一种方法grub.cfg文件。

可以使用grub-mkimage自己生成

BOOTx64.EFI

,使无论是BIOS方式还是UEFI统一使用一种方法grub.cfg文件。但是,不建议这样做!请看问题3的原因

问题3:memtest86 可以用吗?答案是:是的,不是!

为什么这么说?因为memtest86 这个程序不支持EFI模型版!

在传统的BIOS它可以在模式中使用,但在UEFI它不能在模式中使用!

因此,不建议修改

BOOTx64.EFI
统一配置文件,使分离配置更加灵活有效。

如果你还记得上面提到的,你可能会发现,

U盘\\boot\\grub\\grub.cfg

文件中有一个错误:

memtest86 在UEFI该模型不能使用,因此,应删除这三行。skyyx20022021.07.31?