前言

我的电脑是两个磁盘双系统fedora+windows10,最近订阅了rhel的个人开发者账号,想着使用一下rhel感觉会很爽,于是就动手了。

首先警告一下,如果是直接重装系统啊,然后无脑要系统自动分配磁盘,那么最后只会导致两个系统数据全无。

那么先说明下注意要点

第一点最重要:

在重装系统的时候启动项文件对于双系统来说是最为重要的,因为这是连接两个系统的中枢。所以不管怎么格式化磁盘分配磁盘,只要不伤害到/boot/efi文件就没问题。

第二点

如果经常频繁更换系统导致efi空间不够下一次更换系统的空间,也会导致系统无法安装的,所以需要及时清理。

第三点

其实就是第一点的延伸,需要解释以下/boot和/boot/efi的区别,在linux中/boot和/home以及根目录这些都是一大类别的,也就是系统范畴内,而efi属于引导大类,个人心态上感觉差不多和bios同等级吧,高于操作系统的存在。也就是所efi文件是独立于两个系统的东西,既不会属于windows也不会属于linux,仅仅只是挂载在操作系统上被我们看到了而已(linux挂载在/boot/efi,windows安全起见默认不挂载,从磁盘管理上也可以看出来)。那么得出一个结论,更换系统时候boot就算被格式化只要efi重新挂载上去也是可以的。

那么注意点说完了,那么开始行动吧

第一步确认efi空间足够

要去看一下efi分区时候还有空间,不够的话就把过去的efi文件删了。这里我用windows举例子,因为linux比较简单我就不说了。具体就是使用diskpart将efi分区设定临时盘符挂载到windows系统上,然后使用命令管理文件内容。

具体步骤就是先去磁盘管理查看磁盘,可以看到我的efi分区在磁盘1,

管理员打开cmd,依次输入命令。

diskpart    #进入diskpart管理硬盘
list disk    #列举所有硬盘

#比如我的内容就是:

  磁盘 ###  状态           大小     可用     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  磁盘 0    联机              931 GB  1024 KB        *
  磁盘 1    联机              953 GB      0 B        *

前面看到efi在磁盘1中,所以选择磁盘1.
select disk 1    #选择磁盘1
list partition    #列举磁盘结构

  分区 ###       类型              大小     偏移量
  -------------  ----------------  -------  -------
  分区      1    系统                 600 MB  1024 KB
  分区      2    未知                1024 MB   601 MB
  分区      3    未知                 952 GB  1625 MB

#如果发现分区和磁盘管理看到的不一致,那就select disk 0去看看另一个磁盘,说不定选错了哈哈。
#我们知道600MB的就是我的efi分区,那么选择它。

select partition 1      # 选择分区1
assign letter=X    #将分区1挂载到盘符x上

DiskPart 成功地分配了驱动器号或装载点。

顺便把卸载也说一下吧:
--------------------------------------
diskpart
list volume          # 这会列出所有带盘符的卷,找到你刚分配的 X: 盘
select volume X      # 将 X 替换为你之前分配的盘符
remove letter=X      #卸载X盘符
exit

于是efi分区挂载到了x盘符上了,但是很可惜无法直接访问,所以继续管理员命令框访问。

exit退出diskpart后输入x:转到x盘符中:

这样就看到了efi的内容,如果过去安装过其他的系统,就会显示那些系统的名称,删掉就是,命令是

rd /s /q 要删除的目录路径

#rd和rmdir都可以,/s删除目录树,/q跳过确认提示静默删除。

完事记得卸载磁盘,前面讲了。

第二步直接开始安装

开始更换linux。启动到iso文件后,在磁盘分区选择原本linux的磁盘,手动分区,除开/boot/efi外其他都可以勾选重新格式化。当然这里可能会有是brtfs格式,这个格式在rhel中是无法识别的,所以可能需要删除 /目录或者/home目录。然后重新分区挂载到/目录上。

efi分区挂载到/boot/efi,不勾选重新格式化(efi格式化就完蛋了);boot分区挂载到/boot,勾选格式化,分配内存的一半作为swap分区,勾选格式化;剩下的全部分配给/目录,挂载到/,勾选格式化。然后完成点两次,要确认efi不能被格式化。

第三步?没了就安装呗,看自己其他设置想怎么设置嘛,反正随便设置只要efi搞对了后续出问题大不了重装嘛。

后言

以上便是结束了。什么?想知道重装windows?windows不就是照葫芦画瓢,不格式化efi分区,直接安装就行了啊。

装好后没有linux启动项?直接去bios临时选择linux的启动U盘启动呗,然后重新刷新安装grub引导器就行了嘛。

只要引导数据没丢,随便怎么折腾。

怎么装双系统?。。。忘记了,我只记得先装windows后装linux好。因为windows会删efi文件,导致linux需要使用启动盘进行gurb重新引导。而后装linux的话只需要注意挂载一下efi文件就行了。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐