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 进入grub2所在目录,注意修改成你解压的目录。
输入命令: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盘了,此时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.2以后的版本也可以支持
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
所以,在第5步操作时,为什么要复制一份grub.cfg到U盘\grub目录下就是这个原因
当然,UEFI引导实际是由 U盘\EFI\BOOT\BOOTx64.EFI 文件来控制,U盘\boot\grub\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模式中是无法使用的,因此,应该把这三行删除。
skyyx2002
2021.07.31
?