![Linux + Ryzen + BIOS 固件 = 启动地狱……?](https://linux22.com/image/1577109/Linux%20%2B%20Ryzen%20%2B%20BIOS%20%E5%9B%BA%E4%BB%B6%20%3D%20%E5%90%AF%E5%8A%A8%E5%9C%B0%E7%8B%B1%E2%80%A6%E2%80%A6%EF%BC%9F.png)
我最近B450 Aorus M
用我最后的钱购买了一块主板来替换我损坏的 LGA 1151 插槽主板以及“16 GB DDR4 2400 Ramstick and a
Ryzen 2700”CPU。
第一次启动机器时,我认为机器上很快就显示了一条关于需要更新 BIOS 的消息,但在我仔细查看之前它就消失了。
新硬件连接到旧的 WD Blue SSD(250GB)和 WD Black HD,后者安装了双启动 Windows 10 + Slackware 14.2 Linux 发行版。
我能够在 UEFI 模式下毫无问题地启动 Windows 10。但是,Slackware 分区甚至无法被识别。BIOS 显示的启动菜单中没有启动 Slackware 的选项,尽管 Slackware 之前在 UEFI 模式下安装多年都没有问题。
当我尝试从 ISO 将 Slackware Linux Current(15.0 版)安装到系统上时,我意外地将其安装在 Legacy 中并写入了 MBR。当我尝试写入 MBR 时,我意识到了这一点,因为安装程序冻结了。我非常害怕,只能强制终止安装程序并重新启动。
幸运的是,系统启动到 Windows 时没有出现明显错误,但仍然无法识别或从任何 Slackware 分区启动。
我尝试了以下操作:
- 在 UEFI 模式下从官方 Slackware 14.2 安装介质进行安装,并禁用安全启动和快速启动。
- 在 UEFI 模式下从 Slackware Current (15.0) 安装 ISO(从 Erik Hameleer 的 Alien 存储库下载)进行安装,并禁用安全启动和快速启动。
- 在主 SSD 上创建新的保护 MBR。
- 在主 SSD 上擦除并创建新的 GPT 分区表。
- 从 /dev/sda 和 /dev/sdb (分别为主 SSD 和辅助 HD) 卸载并擦除 Windows 10 分区,然后使用新创建的分区在干净的驱动器上安装 14.2 和 15.0。
在所有这些情况下,主板都会从 DVD 启动,但是它不会启动 Slackware Linux 安装分区。
此外,在 Slackware 安装过程中,当尝试创建 EFI Boot 条目时,我收到一条错误消息,提示无法读取某些 UEFI 变量。错误消息仅在屏幕上显示很短的时间,内容类似于“跳过无法读取的 UEFI 变量(此时消息在我能完全读取之前就消失了。)”
打开 Bios 设置,可以选择从“文件”手动加载“EFI 配置文件”。选择此选项,我可以导航到/boot/efi/EFI/Slackware/
EFI 分区上的目录,即主驱动器上的 /dev/sda1。我可以查看安装程序安装的所有文件,包括:
elilo.config, elilo.efi,vmlinuz, etc...
我已经验证这些文件显示的信息有效,并且我没有理由相信它们与安装介质中包含的文件存在很大差异。(我必须对 dev/sda1 和安装介质上的文件进行 MD5 校验,这可能有点过头了。)
elilo.efi
当我尝试从中进行选择时BIOS Setup -> Boot Override -> load EFI Profile -> load From File
,我收到消息“无效配置文件”。在 Google 上搜索“无效 UEFI 配置文件”时,没有找到任何相关信息。
我也尝试过从 Windows efi 文件夹中选择所有文件和部分文件。它们都显示“无效的 UEFI 配置文件”错误消息。
我还用 elilo.efi 覆盖了 /Boot/efi/EFI/Boot/bootx64.efi(在此过程中将 elilo.efi 重命名为 bootx64.efi,并将 Slackware Efi 目录中的其他文件不加更改地移动到 /Boot/efi/EFI/Boot/ 目录中。我这样做是因为在其他地方搜索发现主板的固件可能只能从 bootx64.efi 启动
所以。由于没有其他选择,我打算将B450 Aorus M
主板刷新到更新的固件,希望能解决这个问题。但是,我很清楚这是我唯一可以使用的硬件。购买另一块主板以防万一我弄坏这块主板根本不是一个选择,所以我真的真的真的想小心行事……这里没有犯错的余地。
主板是技嘉 B450 Aorus M Revision 1.0 主板。我为闪存更新下载的文件的名称是:mb_bios_b450-aorus-m_f3d.zip
。闪存指南说我需要提取文件并将它们放在使用 FAT32/16/12 格式化的 USB 驱动器上。
我正在使用一台旧的 Linux 笔记本电脑来格式化 16GB 大小的 USB 驱动器,并使用该cfdisk
实用程序创建一个分区。
但是,使用该实用程序更改文件系统标签时,没有清除 FAT32/16/12 选项。我看到了大量不同的标签,它们对应于FAT
、32
、16
和的各种组合hidden
。
此外,还有一个选项,其文件系统标签如下:efi (FAT-12/16/32)
。
显然,这个是最接近的FAT32/16/12
,但我不想在这里冒任何风险。FAT-12/16/32 是否等同于 FAT32/16/12,并且为了刷新主板 bios,在这种类型的 USB 驱动器上有一个分区是否可以接受?
更一般地说,如果有人能帮助提供我可能遗漏的任何信息,并以某种方式帮助我弄清楚如何在此型号主板和 Ryzen CPU 上安装 Slackware,以便它在 UEFI 模式下正常启动,那么我会永远爱你。这让我发疯了。当然,一旦我解决了启动问题,我就会按照新方法重新安装 Windows 10 和 Slackware。
一些附加信息:
我下载更新的技嘉网站在 BIOS 更新文件的描述部分中有以下通知:
Note: Update AMD Chipset Driver 18.10.20.02 or latest version before update this BIOS.
我还下载了最新的芯片组驱动程序。但是,我的机器上目前根本没有操作系统,我真的不想为了能够更新芯片组驱动程序而重新安装 Windows 10,然后刷新 BIOS,然后可能不得不重新安装 Windows 10,然后安装 Slackware Linux。如果目前没有安装操作系统,在刷新 BIOS 之前真的有必要更新芯片组驱动程序吗?
总结:
相当于,如果机器上没有安装操作系统,我是否绝对需要在刷新 BIOS 之前更新主板芯片组驱动程序efi (FAT-12/16/32)
?FAT/32/16/12
呼。抱歉我太吹毛求疵了,但我真的、真的需要它正常工作。我没有钱买任何硬件了。感谢您的时间。
答案1
不要将其cfdisk
用于这项工作,它不是制作可启动 USB 的最佳工具。
相反,从 Linux 机器(甚至是 Windows 机器)来看:
安装
unetbootin
, 和从
unetbootin
GUI分配下拉,选择自由DOS,并将其安装到 USB。复制内容mb_bios_b450-aorus-m_f3d.zip到 USB 驱动器,其文件系统现在将有一些合适的胖的变体。
重新启动系统并从 USB 驱动器启动。
来自自由DOS提示
cd
更新所在的位置。运行 BIOS 更新。