2023全网最新UEFI固件引导 windows 11 和 fedora 38 双系统安装

文章目录

    • Env:
    • 是否需要 secure boot
    • 释放硬盘空间
    • 大内存是否需要 swap 分区
    • 系统引导
      • efibootmgr
    • 分区
    • ThinkPad 预装系统镜像制作和流量激活

Thinkpad 预装了正版 windows,虽然平时不用,不打算格式化掉,需要装双系统。

Env:

Thinkpad X1 carbon Gen10,预装 windows 11 家庭版,32G 内存,1T SSD

Fedora 38 workstation x86_64

是否需要 secure boot

  • secure boot 和 GPT 是UEFI的特色,UEFI 是独立于操作系统的。

  • secure boot 是允许被认可的证书签名了的操作系统启动管理器引导系统,增强了安全性。

  • 虽然预装 windows 的机器上默认含有签名windows启动管理器的证书,secure boot 并不是 windows 独有的。微软只是 UEFI 的参与方,UEFI 并不属于微软。

  • 证书可以自已生成并导入 UEFI 固件和数据库,为UEFI 所识别用于 secure boot。扩展阅读how-do-i-use-custom-signed-shim-for-secure-boot-fedora, booting-fedora-with-sd-boot-and-secure-boot-enabled

  • 现在很多版本的 Linux 的启动管理都用公开认可的证书签名的,所以基本上大部分都支持 secure boot。Fedora 38 同样也支持。扩展阅读 Choosing a distribution that supports Secure Boot,how-to-boot-and-install-linux-on-a-uefi-pc-with-secure-boot, What is Secure boot?, fedora-wont-boot-in-uefi

  • 在 UEFI BIOS 的Secure boot 中设置允许其它证书的签名。

  • 使用官网下载的 Fedora Media Writer,将ISO镜像写入U盘,重启F12进入UEFI BIOS的启动菜单选择U盘启动

释放硬盘空间

关闭微软在硬盘上的 bitlocker,使用windows 磁盘管理( WIN + R 运行diskmgmt.msc) 压缩卷释放空间

大内存是否需要 swap 分区

  • 使用 swap 任何时候是个好习惯,即便内存足够大,即使 fedora 使用zram。
  • 如果内存足够大可以稍微设置一点swap分区。
  • 也可以使用 swap file
  • fedora 使用 内存 -> zram -> swap -> 硬盘。
  • 当前的固态硬盘的质量足以应付 swap 的读写。
  • swap 对系统休眠有好处。扩展阅读 linux-performance-almost-always-add-swap-part2-zram, Do you need swap if you have lots of RAM? How much should be the swap size?, why-use-swap-when-there-is-more-than-enough-free-space-in-ram

系统引导

windows 下 efi 分区是隐藏的,磁盘管理器分配卷标也不能访问。用管理员方式运行 windows 下的终端或者命令提示符使用命令 mountvol 进行挂载访问。

Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

PS C:\Users\doubl> mountvol B: /s
PS C:\Users\doubl> cd B:
PS B:\> ls


    目录: B:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2022/8/29     16:40                EFI
d-----         2022/8/29     16:40                BOOT

PS B:\> ls .\EFI\Microsoft\Boot\bootmg*


    目录: B:\EFI\Microsoft\Boot


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2021/9/13      7:35        2019656 bootmgfw.efi
-a----         2021/9/13      7:35        2003272 bootmgr.efi


PS B:\>

扩展阅读 pros-and-cons-of-installing-ubuntu-alongside-windows-boot-manager, uefi-boot-how-does-that-actually-work-then, how-do-i-access-efi-system-partition, Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 文件的关系, UEFI启动视频详解:启动分析+N项操作实例,赶紧学习,不要落伍啦,该给自己充电啦, 【视频】手动/自动修复UEFI引导视频教程+挂载ESP分区的方法, 关于Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 的详解, efi-boot-bootx64-efi-vs-efi-ubuntu-grubx64-efi-vs-boot-grub-x86-64-efi-gru

efibootmgr

安装 fedora 后

B:\
│  mach_kernel
│
├─EFI
│  ├─Microsoft
│  │  ├─Boot
│  │  │  │  memtest.efi
│  │  │  │  winsipolicy.p7b
│  │  │  │  boot.stl
│  │  │  │  bootmgfw.efi
│  │  │  │  bootmgr.efi
│  │  │  │  kdnet_uart16550.dll
│  │  │  │  kdstub.dll
│  │  │  │  kd_02_10df.dll
│  │  │  │  kd_02_10ec.dll
│  │  │  │  kd_02_1137.dll
│  │  │  │  kd_02_14e4.dll
│  │  │  │  kd_02_15b3.dll
│  │  │  │  kd_02_1969.dll
│  │  │  │  kd_02_19a2.dll
│  │  │  │  kd_02_1af4.dll
│  │  │  │  BCD
│  │  │  │  kd_02_8086.dll
│  │  │  │  kd_07_1415.dll
│  │  │  │  kd_0C_8086.dll
│  │  │  │
│  │  │  ├─bg-BG
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─CIPolicies
│  │  │  │  └─Active
│  │  │  │          {5DAC656C-21AD-4A02-AB49-649917162E70}.cip
│  │  │  │          {82443e1e-8a39-4b4a-96a8-f40ddc00b9f3}.cip
│  │  │  │          {CDD5CB55-DB68-4D71-AA38-3DF2B6473A52}.cip
│  │  │  │
│  │  │  ├─cs-CZ
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─da-DK
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─de-DE
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─el-GR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─en-GB
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─en-US
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─es-ES
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─es-MX
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─et-EE
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─fi-FI
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─fr-CA
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─fr-FR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─hr-HR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─hu-HU
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─it-IT
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─ja-JP
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─ko-KR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─lt-LT
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─lv-LV
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─nb-NO
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─nl-NL
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─pl-PL
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─pt-BR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─pt-PT
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─qps-ploc
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─ro-RO
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─ru-RU
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─sk-SK
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─sl-SI
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─sr-Latn-RS
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─sv-SE
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─tr-TR
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─uk-UA
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │
│  │  │  ├─zh-CN
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─zh-TW
│  │  │  │      bootmgfw.efi.mui
│  │  │  │      bootmgr.efi.mui
│  │  │  │      memtest.efi.mui
│  │  │  │
│  │  │  ├─Fonts
│  │  │  │      segmono_boot.ttf
│  │  │  │      segoen_slboot.ttf
│  │  │  │      segoe_slboot.ttf
│  │  │  │      chs_boot.ttf
│  │  │  │      cht_boot.ttf
│  │  │  │      jpn_boot.ttf
│  │  │  │      kor_boot.ttf
│  │  │  │      malgunn_boot.ttf
│  │  │  │      malgun_boot.ttf
│  │  │  │      meiryon_boot.ttf
│  │  │  │      meiryo_boot.ttf
│  │  │  │      msjhn_boot.ttf
│  │  │  │      msjh_boot.ttf
│  │  │  │      msyhn_boot.ttf
│  │  │  │      msyh_boot.ttf
│  │  │  │      wgl4_boot.ttf
│  │  │  │
│  │  │  └─Resources
│  │  │      │  bootres.dll
│  │  │      │
│  │  │      ├─en-US
│  │  │      │      bootres.dll.mui
│  │  │      │
│  │  │      └─zh-CN
│  │  │              bootres.dll.mui
│  │  │
│  │  └─Recovery
│  │          BCD
│  │
│  ├─Boot
│  │      BOOTIA32.EFI
│  │      fbia32.efi
│  │      fbx64.efi
│  │      LenovoBT.EFI
│  │      License.txt
│  │      ReadMe.txt
│  │      bootx64.efi
│  │
│  └─fedora
│          grub.cfg
│          BOOTIA32.CSV
│          BOOTX64.CSV
│          gcdia32.efi
│          gcdx64.efi
│          grubia32.efi
│          grubx64.efi
│          mmia32.efi
│          mmx64.efi
│          shim.efi
│          shimia32.efi
│          shimx64.efi
│
├─BOOT
│      BOOT.SDI
│
└─System
    └─Library
        └─CoreServices
                SystemVersion.plist

linux 查看 uefi 固件变量

efibootmgr -v

windows 查看 uefi 固件变量: power shell

bcdedit /enum firmware

不使用老式的 BCD 引导 linux 的方式。使用UEFI固件参数直接引导的方式。linux 下的 efibootmgr 可以方便的添加 UEFI 固件启动项,windows 没有自带的可以添加 UEFI固件启动项的工具。
由于fedora 安装后UEFI固件启动项的 windows 启动项破坏了,所以可以重新创建一个。

efibootmgr -c -L "Windows 11 Home Edition" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1

-d 是 disk,-p 是 partition, 是 efi 分区的位置。

使用 F12 可以看到这个启动项。

dual-boot-win-8-ubuntu-loads-only-win

linux File Hierarchy

Adding UEFI firmware boot entry using bcdedit

windows-equivalent-to-efibootmgr

how-do-i-stop-windows-10-install-from-modifying-bios-boot-settings

changing-uefi-boot-order-from-windows

分区

efi分区 260M 机器安装 windows 创建的,一般多系统建议500M,懒得重装了,可以重装用 fedora 安装程序修改,windows 安装程序安装过程中也可以创建和格式化磁盘,就装这两个系统够用了,也不安装第三方启动工具
windows reserved 17M
windows ntfs 一个分区 160G
/boot/efi 挂载efi分区
/ 315G ext4
/home 300G ext4
/opt 100G ext4
swap 66G
windows RECOVERY 分区,不需要,但是不想折腾了,占了不到2G

linux filesystem hierarchy,
what-is-the-difference-between-opt-and-usr-local
Btrfs vs EXT4, What Are the Differences
Btrfs vs. EXT4: Full Comparison and Everything You Need to Know
Difference Between Ext4 VS Btrfs Filesystems in Linux

ThinkPad 预装系统镜像制作和流量激活

通过微软MediaCreationToolW11制作Win11系统安装U盘,安装纯净版Win11的教程
AOAC-4G笔记本电脑流量套餐激活教程更新202206

你可能感兴趣的:(Fedora专栏,windows,linux)