文章目录

  • 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/PSWindowsPS 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                BOOTPS B:\> ls .\EFI\Microsoft\Boot\bootmg*目录: B:\EFI\Microsoft\BootMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2021/9/13      7:35        2019656 bootmgfw.efi
-a----         2021/9/13      7:35        2003272 bootmgr.efiPS 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└─CoreServicesSystemVersion.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

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

  1. 释放Windows为硬件保留内存,双系统安装释放法。

    释放Windows为硬件保留内存,双系统安装释放法. 试过插拔内存,开关机,调msconfig,都无果,最终快放弃的时候,可以试试本方法. 仅供参考,试验前,请做好备份工作. 准备材料: - Wind ...

  2. uefi引导linux_使用UEFI双重引导Windows和Linux

    uefi引导linux 我不会重点介绍如何将系统配置为双重引导的分步操作指南. 例如,我将参考几个月前购买的新笔记本电脑. 我首先将Ubuntu Linux安装到整个硬盘上,这破坏了预安装的Windo ...

  3. 全网最详细的重装Windows 11遇到的网络问题

    序言 哈哈哈哈好久不见了,最近忙着学业就没怎么发Linux的文章 今天就出一篇关于Windows 11怎么重装系统,这里以联想电脑为例 目录 一.前言 二.准备一个空白U盘,官网下载Windows 1 ...

  4. uefi windows10 linux,UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装

    测试机器:联想小新锐7000 工具:UltraISO 为Ubuntu分配空间 右键"我的电脑"-->"管理"-->"磁盘管理", ...

  5. Windows 7 与 Linux 的双系统安装

    这个问题问了很久了,因为自己有几次装双系统的经验,我这里来回答一下,给后面有这个问题的同学做个参考吧!欢迎指正. =========================================== ...

  6. Windows 7 + Fedora 17 双系统安装详解

    原文地址:http://www.linuxidc.com/Linux/2012-06/62099.htm Windows 7 + Fedora  17 双系统 安装详解+常见错误+注意事项. 之前已经 ...

  7. 2023全网最新微信支付宝QQ三合一支付生成PHP源码

    源码简介: PHP版单文件index.php直接生成QQ微信支付宝三合一收款二维码完整源码,非调用三方接口的聚合收款码生成系统. 源码截图:

  8. 开机出现grub rescue无法进入系统 恢复ubuntu系统下grub引导 windows xp和ubuntu9.10双系统引导程序的修复

    提示:这个方法不管你是多系统然后手动格式化其中一个系统,还是因为重装某一个系统均可使用,本人花了几近8个小时的时间摸索终于解决了本系统grub引导问题. 现象:本人是有一个windows 7 ,Ubu ...

  9. Windows 7+Ubuntu 16.04 双系统安装

    一.UltraISO制作U盘启动盘 安装UltraISO之后,打开软件. 点击菜单中"文件"->"打开",找到要安装的操作系统ISO镜像文件,点击&quo ...

最新文章

  1. 背景图片等比缩放的写法background-size简写法
  2. 中国联通华东云数据中心—电气培训
  3. 【JavaScriptjQuery】返回顶部
  4. IOS开发之JSON序列化从客户端发送到服务器端
  5. sun键盘没有stop键_请教Sun键盘
  6. 回顾2017年JavaScript状况
  7. Linux学习总结(38)——Linux超实用的30个命令
  8. 卸载/删除Homebrew包,包括其所有依赖项
  9. (转)RemapKey等:小巧实用的键盘映射工具
  10. mysql5.7 jmeter_JMeter5连接Mysql数据库
  11. 【CF335 E】Counting Skyscrapers
  12. SVG格式转json文件
  13. Vmware 虚拟机设置主机映射端口
  14. 字符编码常识及问题解析
  15. C++ 雇员信息保存及查询
  16. C#链接SQL知识点
  17. Chrome浏览器运行超图三维场景
  18. 个人的生活经历和实习经历
  19. 属性选择器、结构伪类选择器、伪元素选择器
  20. 山寨手机平台斯凯网络

热门文章

  1. 单精度浮点数的取值,表示以及相关
  2. P2231 [HNOI2002]跳蚤
  3. 计算机网络 TCP/IP模型
  4. android6 热点 ipv6,【原】mac下设置ipv6网络热点
  5. python 私有云_用 NextCloud 搭建个人私有云
  6. AHK取色宏解释(不断更新内容)
  7. 华为手机续航能力差?或许不是电池寿命问题,而是这4个偷电功能
  8. Rosetta 蛋白抗体设计有困难?小白速看
  9. SSM开发(航空管理系统)
  10. linux基础课程2-----熟练使用Linux系统命令